{
  "openapi": "3.0.0",
  "info": {
    "title": "Virtual Infrastructure JSON API",
    "version": "8.0.3.0"
  },
  "servers": [
    {
      "url": "https://{vcenter-host}/sdk/vim25/{release}",
      "variables": {
        "vcenter-host": {
          "default": "localhost"
        },
        "release": {
          "default": "8.0.3.0",
          "description": "The vSphere release schema. The current specification covers vSphere 8.0.3.0 APIs."
        }
      }
    }
  ],
  "paths": {
    "/Alarm/{moId}/ReconfigureAlarm": {
      "post": {
        "tags": [
          "Alarm"
        ],
        "summary": "Reconfigures the alarm properties.\n",
        "operationId": "Alarm_ReconfigureAlarm",
        "description": "Reconfigures the alarm properties.\n\nThis operation requires access\nprivileges on the entity with which the alarm is associated.\n\nIn addition to the Alarm.Edit privilege, may also require the\nGlobal.ScriptAction if a RunScriptAction action is specified in\nthe AlarmSpec.\n\n***Required privileges:*** Alarm.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureAlarmRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidName***: if the alarm name is empty or too long.\n\n***DuplicateName***: if an alarm with the name already exists.\n\n***InvalidArgument***: if the specification is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Alarm/{moId}/RemoveAlarm": {
      "post": {
        "tags": [
          "Alarm"
        ],
        "summary": "Removes the alarm.\n",
        "operationId": "Alarm_RemoveAlarm",
        "description": "Removes the alarm.\n\n***Required privileges:*** Alarm.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Alarm/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "Alarm"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "Alarm_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Alarm/{moId}/availableField": {
      "get": {
        "tags": [
          "Alarm"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "Alarm_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Alarm/{moId}/info": {
      "get": {
        "tags": [
          "Alarm"
        ],
        "summary": "Information about this alarm.\n",
        "operationId": "Alarm_getInfo",
        "description": "Information about this alarm.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlarmInfo"
                }
              }
            }
          }
        }
      }
    },
    "/Alarm/{moId}/value": {
      "get": {
        "tags": [
          "Alarm"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "Alarm_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AlarmManager/{moId}/AcknowledgeAlarm": {
      "post": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "Acknowledge the alarm on a managed entity.\n",
        "operationId": "AlarmManager_AcknowledgeAlarm",
        "description": "Acknowledge the alarm on a managed entity.\n\nThe actions associated\nwith the alarm will not fire until the alarm's next distinct\noccurrence; that is, until after the alarm has entered the green\nor gray states at least once. Calling this method on an acknowledged\nor non-triggered alarm.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcknowledgeAlarmRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/AlarmManager/{moId}/ClearTriggeredAlarms": {
      "post": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "Resets all triggered alarms to green.\n",
        "operationId": "AlarmManager_ClearTriggeredAlarms",
        "description": "Resets all triggered alarms to green.\n\nShould be used when mass alarm reset is needed.\n\n***Required privileges:*** Alarm.SetStatus\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClearTriggeredAlarmsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/AlarmManager/{moId}/CreateAlarm": {
      "post": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "Creates an alarm.\n",
        "operationId": "AlarmManager_CreateAlarm",
        "description": "Creates an alarm.\n\nIn addition to the Alarm.Create privilege, may also require the\nGlobal.ScriptAction if a RunScriptAction action is specified in\nthe AlarmSpec.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAlarmRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A reference to the Alarm object created by the\noperation.\n\nRefers instance of *Alarm*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidName***: if the alarm name is empty or too long.\n\n***DuplicateName***: if an alarm with the name already exists.\n\n***InvalidArgument***: if the specification is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/AlarmManager/{moId}/DisableAlarm": {
      "post": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "Disables alarm for a specific entity.\n",
        "operationId": "AlarmManager_DisableAlarm",
        "description": "Disables alarm for a specific entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisableAlarmRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/AlarmManager/{moId}/EnableAlarm": {
      "post": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "Enables alarm for a specific entity.\n",
        "operationId": "AlarmManager_EnableAlarm",
        "description": "Enables alarm for a specific entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableAlarmRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/AlarmManager/{moId}/GetAlarm": {
      "post": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "Available alarms defined on the entity.\n",
        "operationId": "AlarmManager_GetAlarm",
        "description": "Available alarms defined on the entity.\n\nThese alarms do not include any inherited alarms; that is,\nalarms associated with parent entities.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAlarmRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A reference to the Alarm objects returned by the\noperation.\n\nRefers instances of *Alarm*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AlarmManager/{moId}/AreAlarmActionsEnabled": {
      "post": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "Returns true if alarm actions are enabled on the specified managed entity.\n",
        "operationId": "AlarmManager_AreAlarmActionsEnabled",
        "description": "Returns true if alarm actions are enabled on the specified managed entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AreAlarmActionsEnabledRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/AlarmManager/{moId}/GetAlarmState": {
      "post": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "The state of instantiated alarms on the entity.\n",
        "operationId": "AlarmManager_GetAlarmState",
        "description": "The state of instantiated alarms on the entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAlarmStateRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The state of instantiated alarms.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AlarmManager/{moId}/EnableAlarmActions": {
      "post": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "Enables or disables alarms on the specified managed entity.\n",
        "operationId": "AlarmManager_EnableAlarmActions",
        "description": "Enables or disables alarms on the specified managed entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableAlarmActionsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/AlarmManager/{moId}/defaultExpression": {
      "get": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "The default setting for each alarm expression, used to populate the\ninitial client wizard screen.\n",
        "operationId": "AlarmManager_getDefaultExpression",
        "description": "The default setting for each alarm expression, used to populate the\ninitial client wizard screen.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmExpression"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AlarmManager/{moId}/description": {
      "get": {
        "tags": [
          "AlarmManager"
        ],
        "summary": "The static descriptive strings used in alarms.\n",
        "operationId": "AlarmManager_getDescription",
        "description": "The static descriptive strings used in alarms.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlarmDescription"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/AddAuthorizationRole": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Adds a new role.\n",
        "operationId": "AuthorizationManager_AddAuthorizationRole",
        "description": "Adds a new role.\n\nThis method will add a user-defined role with given list of privileges\nand three system-defined privileges, \"System.Anonymous\", \"System.View\",\nand \"System.Read\".\n\n***Required privileges:*** Authorization.ModifyRoles\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddAuthorizationRoleRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The roleId assigned to the new role.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "500": {
            "description": "***AlreadyExists***: if a role with the given name already exists.\n\n***InvalidName***: if the role name is empty.\n\n***InvalidArgument***: if privIds contains an unknown privilege.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/FetchUserPrivilegeOnEntities": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Get the list of effective privileges for a user,\neither granted explicitly, or through group membership.\n",
        "operationId": "AuthorizationManager_FetchUserPrivilegeOnEntities",
        "description": "Get the list of effective privileges for a user,\neither granted explicitly, or through group membership.\n\nThis API is implemented only by vCenter Server.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FetchUserPrivilegeOnEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the privilege check result for each entity\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserPrivilegeResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/HasPrivilegeOnEntities": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Check whether a session holds a set of privileges on a set of managed entities.\n",
        "operationId": "AuthorizationManager_HasPrivilegeOnEntities",
        "description": "Check whether a session holds a set of privileges on a set of managed entities.\n\nIf the session does not exist, false is returned for all privileges of\nall the entities.\n\nThis API is implemented only by vCenter Server.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HasPrivilegeOnEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The privilege check result.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityPrivilege"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/HasPrivilegeOnEntity": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Check whether a session holds a set of privileges on a managed entity.\n",
        "operationId": "AuthorizationManager_HasPrivilegeOnEntity",
        "description": "Check whether a session holds a set of privileges on a managed entity.\n\nIf the session does not exist, false is returned for all privileges.\n\nThis API is implemented only by vCenter Server.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HasPrivilegeOnEntityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "a boolean value for each privilege indicating whether the session holds the\nprivilege.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/HasUserPrivilegeOnEntities": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Checks if a user holds a certain set of privileges on a number of\nmanaged entities.\n",
        "operationId": "AuthorizationManager_HasUserPrivilegeOnEntities",
        "description": "Checks if a user holds a certain set of privileges on a number of\nmanaged entities.\n\nPrivileges may be granted to users through their\nrespective group membership. If a privilege is granted to a group it is\nimplicitly granted to its members.\n\nThis API is implemented only by vCenter Server.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HasUserPrivilegeOnEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the privilege check result\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityPrivilege"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/MergePermissions": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Reassigns all permissions of a role to another role.\n",
        "operationId": "AuthorizationManager_MergePermissions",
        "description": "Reassigns all permissions of a role to another role.\n\n***Required privileges:*** Authorization.ReassignRolePermissions\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergePermissionsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if either the source or destination role does not exist.\n\n***InvalidArgument***: if dstRoleId is the View or Anonymous role or if\nboth role IDs are the same.\n\n***AuthMinimumAdminPermission***: if srcRoleId is the Administrator role, meaning\nthat applying the change would leave the system with\nno Administrator permission on the root node.\n\n***NoPermission***: if current session does not have any privilege\nin the source or destination role or\n\"Authorization.ReassignRolePermissions\"\nprivilege on the root folder.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/RemoveEntityPermission": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Removes a permission rule from an entity.\n",
        "operationId": "AuthorizationManager_RemoveEntityPermission",
        "description": "Removes a permission rule from an entity.\n\nThis will fail with an InvalidArgument fault if called on: the direct child\nfolders of a datacenter managed object, the root resource pool of a\nComputeResource or ClusterComputeResource, or a HostSystem that is part of\na ComputeResource (Stand-alone Host). These objects always have the same\npermissions as their parent.\n\nThis will fail with an InvalidArgument fault if called on a fault-tolerance (FT)\nsecondary VirtualMachine. Such a VirtualMachine always has the same permissions\nas its FT primary VirtualMachine.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveEntityPermissionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if a permission for this entity and user or group\ndoes not exist.\n\n***AuthMinimumAdminPermission***: if this change would leave the system with\nno Administrator permission on the root node.\n\n***InvalidArgument***: if one of the new role IDs is the View or\nAnonymous role, or the entity does not support\nremoving permissions.\n\n***NoPermission***: if current session does not have any privilege\nin the permission to be removed or\n\"Authorization.ModifyPermissions\" privilege\non the entity.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/RemoveAuthorizationRole": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Removes a role.\n",
        "operationId": "AuthorizationManager_RemoveAuthorizationRole",
        "description": "Removes a role.\n\n***Required privileges:*** Authorization.ModifyRoles\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveAuthorizationRoleRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the role does not exist.\n\n***InvalidArgument***: if the role is a system role, meaning it cannot be\nchanged.\n\n***RemoveFailed***: if failIfUsed is true and the role has permissions.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/ResetEntityPermissions": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Update the entire set of permissions defined on an entity.\n",
        "operationId": "AuthorizationManager_ResetEntityPermissions",
        "description": "Update the entire set of permissions defined on an entity.\n\nAny\nexisting permissions on the entity are removed and replaced with the\nprovided set.\n\nIf a permission is specified multiple times for the same user or group, the\nlast permission specified takes effect.\n\nThe operation is transactional per permission and could partially fail. The\nupdates are performed in the order of the permission array argument. The first\nfailed update will abort the operation and throw the appropriate exception. When\nthe operation aborts, any permissions that have not yet been removed are left in\ntheir original state.\n\nAfter updates are applied, original permissions that are not in the new set\nare removed. A failure to remove a permission, such as a violation of\nthe minimum administrator permission rule, will abort the operation and could\nleave remaining original permissions still effective on the entity.\n\nThis will fail with an InvalidArgument fault if called on: the direct child\nfolders of a datacenter managed object, the root resource pool of a\nComputeResource or ClusterComputeResource, or a HostSystem that is part of\na ComputeResource (Stand-alone Host). These objects always have the same\npermissions as their parent.\n\nThis will fail with an InvalidArgument fault if called on a fault-tolerance (FT)\nsecondary VirtualMachine. Such a VirtualMachine always has the same permissions\nas its FT primary VirtualMachine.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetEntityPermissionsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ManagedObjectNotFound***: if the given entity does not exist.\n\n***UserNotFound***: if one of the given users or groups does not exist.\n\n***NotFound***: if a permission for this entity and user or group\ndoes not exist.\n\n***AuthMinimumAdminPermission***: if this change would leave the system with\nno Administrator permission on the root node, or it\nwould grant further permission to a user or group who\nalready has Administrator permission on the root node.\n\n***InvalidArgument***: if one of the new role IDs is the View or\nAnonymous role, or the entity does not support\nassigning permissions.\n\n***NoPermission***: if current session does not have any privilege\nin the updated permission or\n\"Authorization.ModifyPermissions\" privilege on\nthe entity.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/RetrieveAllPermissions": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Finds all permissions defined in the system.\n",
        "operationId": "AuthorizationManager_RetrieveAllPermissions",
        "description": "Finds all permissions defined in the system.\n\nThe result is restricted to the managed entities visible to the\nuser making the call.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/RetrieveEntityPermissions": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Gets permissions defined on or effective on a managed entity.\n",
        "operationId": "AuthorizationManager_RetrieveEntityPermissions",
        "description": "Gets permissions defined on or effective on a managed entity.\n\nThis returns the actual permission objects defined in the system for all\nusers and groups relative to the managed entity. The inherited\nflag specifies whether or not to include permissions defined by the\nparents of this entity that propagate to this entity.\n\nFor complex entities, the entity reported as defining the permission may\nbe either the parent or a child entity belonging to the complex entity.\n\nThe purpose of this method is to discover permissions\nfor administration purposes, not to determine the current\npermissions. The current user's permissions are found on the *ManagedEntity.effectiveRole* property of the user's ManagedEntity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveEntityPermissionsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/RetrieveRolePermissions": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Finds all the permissions that use a particular role.\n",
        "operationId": "AuthorizationManager_RetrieveRolePermissions",
        "description": "Finds all the permissions that use a particular role.\n\nThe result is restricted to managed entities that are visible to the\nuser making the call.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveRolePermissionsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the role does not exist.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/SetEntityPermissions": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Defines one or more permission rules on an entity or updates rules if already\npresent for the given user or group on the entity.\n",
        "operationId": "AuthorizationManager_SetEntityPermissions",
        "description": "Defines one or more permission rules on an entity or updates rules if already\npresent for the given user or group on the entity.\n\nIf a permission is specified multiple times for the same user or group, then the\nlast permission specified takes effect.\n\nThe operation is applied transactionally per permission and is applied to the\nentity following the order of the elements in the permission array argument. This\nmeans that if a failure occurs, the method terminates at that point in the\npermission array with an exception, leaving at least one and as many as all\npermissions unapplied.\n\nThis will fail with an InvalidArgument fault if called on: the direct child\nfolders of a datacenter managed object, the root resource pool of a\nComputeResource or ClusterComputeResource, or a HostSystem that is part of\na ComputeResource (Stand-alone Host). These objects always have the same\npermissions as their parent.\n\nThis will fail with an InvalidArgument fault if called on a fault-tolerance (FT)\nsecondary VirtualMachine. Such a VirtualMachine always has the same permissions\nas its FT primary VirtualMachine.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetEntityPermissionsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ManagedObjectNotFound***: if the given entity does not exist.\n\n***UserNotFound***: if a given user or group does not exist.\n\n***AuthMinimumAdminPermission***: if this change would leave the system with\nno Administrator permission on the root node, or it\nwould grant further permission to a user or group who\nalready has Administrator permission on the root node.\n\n***NotFound***: if a permission's roleId is not valid.\n\n***InvalidArgument***: if one of the new role IDs is the View or\nAnonymous role, or the entity does not support assigning\npermissions.\n\n***NoPermission***: if current session does not have any privilege\nin any permission that being set or\n\"Authorization.ModifyPermissions\" privilege on\nthe entity.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/UpdateAuthorizationRole": {
      "post": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Updates a role's name or privileges.\n",
        "operationId": "AuthorizationManager_UpdateAuthorizationRole",
        "description": "Updates a role's name or privileges.\n\nIf the new set of privileges are assigned to the role, the\nsystem-defined privileges, \"System.Anonymous\", \"System.View\",\nand \"System.Read\" will be assigned to the role too.\nThis operation might return before the new privileges are effective.\nA timeout of 100 ms is possible, but it might vary depending on\nthe configuration and the load of the system.\n\n***Required privileges:*** Authorization.ModifyRoles\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAuthorizationRoleRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the role does not exist, or if a privilege\nin the list cannot be found.\n\n***InvalidArgument***: if the role is a system role, meaning it cannot be\nchanged.\n\n***InvalidName***: if the new role name is empty.\n\n***AlreadyExists***: if another role with the given name already exists.\n\n***NoPermission***: if current session does not have any privilege\nthat being updated in the new role or\n\"Authorization.ModifyRoles\" privilege on the\nroot folder.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/description": {
      "get": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "Static, descriptive strings for system roles and privileges.\n",
        "operationId": "AuthorizationManager_getDescription",
        "description": "Static, descriptive strings for system roles and privileges.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationDescription"
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/privilegeList": {
      "get": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "The list of system-defined privileges.\n",
        "operationId": "AuthorizationManager_getPrivilegeList",
        "description": "The list of system-defined privileges.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuthorizationPrivilege"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/AuthorizationManager/{moId}/roleList": {
      "get": {
        "tags": [
          "AuthorizationManager"
        ],
        "summary": "The currently defined roles in the system, including\nstatic system-defined roles.\n",
        "operationId": "AuthorizationManager_getRoleList",
        "description": "The currently defined roles in the system, including\nstatic system-defined roles.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuthorizationRole"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CertificateManager/{moId}/CertMgrRefreshCACertificatesAndCRLs_Task": {
      "post": {
        "tags": [
          "CertificateManager"
        ],
        "summary": "Re-fetches certificates of trusted CAs and the Certificate Revocation\nLists (CRL) from the appropriate authoritative source and pushes them to\nthe hosts.\n",
        "operationId": "CertificateManager_CertMgrRefreshCACertificatesAndCRLs_Task",
        "description": "Re-fetches certificates of trusted CAs and the Certificate Revocation\nLists (CRL) from the appropriate authoritative source and pushes them to\nthe hosts.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertMgrRefreshCACertificatesAndCRLsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/CertificateManager/{moId}/CertMgrRefreshCertificates_Task": {
      "post": {
        "tags": [
          "CertificateManager"
        ],
        "summary": "Gets CSRs from the hosts and then gets these certificates signed by the\nVMware Certificate Service and pushes them down to the hosts.\n",
        "operationId": "CertificateManager_CertMgrRefreshCertificates_Task",
        "description": "Gets CSRs from the hosts and then gets these certificates signed by the\nVMware Certificate Service and pushes them down to the hosts.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertMgrRefreshCertificatesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/CertificateManager/{moId}/CertMgrRevokeCertificates_Task": {
      "post": {
        "tags": [
          "CertificateManager"
        ],
        "summary": "Revokes the certificates of some hosts.\n",
        "operationId": "CertificateManager_CertMgrRevokeCertificates_Task",
        "description": "Revokes the certificates of some hosts.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertMgrRevokeCertificatesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/AbandonHciWorkflow": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Opt out of the HCI workflow.\n",
        "operationId": "ClusterComputeResource_AbandonHciWorkflow",
        "description": "Opt out of the HCI workflow.\n\nThis operation is only allowed on a cluster\nthat was created with the HCI workflow.\nWhen the cluster is created, but still unconfigured, the\n*workflowState*\nis \"in\\_progress\". The AbandonHciWorkflow method may be called at any time before\ncluster configuration begins; it is not possible to abandon the workflow\nduring the configuration procedure.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/AddHost_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Adds a host to the cluster.\n",
        "operationId": "ClusterComputeResource_AddHost_Task",
        "description": "Adds a host to the cluster.\n\nThe hostname must be either an IP address, such as\n192.168.0.1, or a DNS resolvable name. DNS names may be fully qualified names,\nsuch as host1.domain1.com, or a short name such as host1, providing host1 resolves\nto host1.domain1.com. The system uses DNS to resolve short names to fully qualified\nnames. If the cluster supports nested resource pools and the user specifies the\noptional ResourcePool argument, then the host's root resource pool becomes the\nspecified resource pool. The stand-alone host resource hierarchy is imported into\nthe new nested resource pool.\n\nIf the cluster does not support nested resource pools, then the stand-alone host\nresource hierarchy is discarded and all virtual machines on the host are put\nunder the cluster's root resource pool.\n\nIn addition to the Host.Inventory.AddHostToCluster and\nResource.AssignVMToPool privileges, it requires System.View privilege on\nthe VM folder that the VMs of the host will be placed on.\n\n***Required privileges:*** Host.Inventory.AddHostToCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly added *HostSystem* upon\nsuccess.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if \"asConnected\" is specified but authentication with the\nnew host fails.\n\n***HostConnectFault***: if an error occurred when connecting to a host.\nTypically, a more specific subclass, such as AlreadyBeingManaged,\nis thrown.\n\n***AlreadyBeingManaged***: if the host is already being managed by a\nVirtualCenter server.\n\n***NotEnoughLicenses***: if no licenses are available to add this host.\n\n***NoHost***: if the host cannot be contacted.\n\n***NotSupportedHost***: if the host is running a software version that does\nnot support clustering features. It may still be possible to add\nthe host as a stand-alone host.\n\n***TooManyHosts***: if no additional hosts can be added to the cluster.\n\n***AgentInstallFailed***: if there is an error installing the VirtualCenter agent\non the host.\n\n***AlreadyConnected***: if asConnected is true and the host is already\nconnected to VirtualCenter.\n\n***SSLVerifyFault***: if the host certificate could not be authenticated\n\n***DuplicateName***: if another host in the same cluster has the name.\n\n***NoPermission***: if there are crypto keys to be sent to the host,\nbut the user does not have Cryptographer.RegisterHost privilege\non the Cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/ApplyRecommendation": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Applies a recommendation from the drsRecommendation or the\nrecommendation list.\n",
        "operationId": "ClusterComputeResource_ApplyRecommendation",
        "description": "Applies a recommendation from the drsRecommendation or the\nrecommendation list.\n\nEach recommendation can be applied only\nonce.\n\nresource.applyRecommendation privilege is required if the recommendation\nis DRS migration or power management recommendations.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyRecommendationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/CancelRecommendation": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Cancels a recommendation.\n",
        "operationId": "ClusterComputeResource_CancelRecommendation",
        "description": "Cancels a recommendation.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelRecommendationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/ConfigureHCI_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Configures the cluster.\n",
        "operationId": "ClusterComputeResource_ConfigureHCI_Task",
        "description": "Configures the cluster.\n\nThis API requires Host.Inventory.EditCluster privilege on the cluster\nand the hosts; additional privileges might be required depending on the\ninputs.\nThis operation is only allowed on a cluster that was created\nwith the HCI workflow.\nBefore calling this method, it is recommended that\n*ClusterComputeResource.ValidateHCIConfiguration* is\ninvoked with the DvsProfile objects listed in\n*ClusterComputeResourceHCIConfigSpec.dvsProf* along with the hosts listed in\n*ClusterComputeResourceHostConfigurationInput* to validate that\nthe desired network settings can be applied correctly.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigureHCIRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation. The *TaskInfo.result* property\nin the *Task* contains a *ClusterComputeResourceClusterConfigResult*\nobject, which upon completion will contain a list of hosts which\nwere successfully configured and a list of hosts\nwhich could not be configured.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "ClusterComputeResource_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** Host.Inventory.DeleteCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/ClusterEnterMaintenanceMode": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The API takes a list of hosts in the cluster as input, and\nreturns a list of hosts in \"ClusterMaintenanceResult\" that the\nserver can successfully evacuate given the existing\nconstraints in the cluster, such as HA, FT, Vmotion\ncompatibility, reservations, affinity rules, etc.\n",
        "operationId": "ClusterComputeResource_ClusterEnterMaintenanceMode",
        "description": "The API takes a list of hosts in the cluster as input, and\nreturns a list of hosts in \"ClusterMaintenanceResult\" that the\nserver can successfully evacuate given the existing\nconstraints in the cluster, such as HA, FT, Vmotion\ncompatibility, reservations, affinity rules, etc.\n\nThe client is allowed to pass all hosts in the cluster to the\nAPI, even though all of them cannot enter maintenance mode at\nthe same time. The list returned from the API contains the\nlargest number of hosts that the server can evacuate\nsimultaneously. The client can then request to enter each host\nin the returned list into maintenance mode.\nThe client can specify an integer \"DemandCapacityRatioTarget\"\noption in the \"option\" parameter. The allowed values of the\noption range from 40 to 200, and the default value is 100. This\noption controls how much resource overcommitment the server\nshould make in consolidating the VMs onto fewer hosts. A value\nof 100 means the server will keep the same amount of powered-on\ncapacity as the current VM demands. A value less than 100 means\nundercommitted resources. A value greater than 100 means\novercommitted resources.\nThe hosts are recommended based on the inventory at the time of\nthe API invocation. It is not guaranteed that the actual\nenter-maintenance tasks on the hosts will succeed, if the\ninventory changes after the API returns, or if vmotions fail\ndue to unexpected conditions. For possible exceptions thrown\nby the necessary relocate operations, see\n*VirtualMachine.MigrateVM_Task*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClusterEnterMaintenanceModeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A *ClusterEnterMaintenanceResult* object,\nwhich consists of an array of recommendations for hosts that\ncan be evacuated and an array of faults for hosts that cannot\nbe evacuated.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterEnterMaintenanceResult"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/EvcManager": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "A managed object that controls Enhanced vMotion Compatibility mode for\nthis cluster.\n",
        "operationId": "ClusterComputeResource_EvcManager",
        "description": "A managed object that controls Enhanced vMotion Compatibility mode for\nthis cluster.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ClusterEVCManager*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/ExtendHCI_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Extend an existing HCI cluster.\n",
        "operationId": "ClusterComputeResource_ExtendHCI_Task",
        "description": "Extend an existing HCI cluster.\n\nThis API requires Host.Inventory.EditCluster privilege on the cluster\nand the hosts, additional privileges might be required depending on the\ninputs.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendHCIRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation. The *TaskInfo.result* property\nin the *Task* contains a *ClusterComputeResourceClusterConfigResult*\nobject, which upon successful completion would contain the list\nof hosts which couldn't be configured and a list of hosts which\nwere successfully configured. This API can be called only after\nthe cluster is configured using *ClusterComputeResource.ConfigureHCI_Task* and requires\n*ClusterComputeResourceHCIConfigInfo.workflowState* to be \"done\".\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/FindRulesForVm": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Finds all enabled and disabled VM-VM Affinity and Anti-Affinity rules,\ninvolving the given Virtual Machine.\n",
        "operationId": "ClusterComputeResource_FindRulesForVm",
        "description": "Finds all enabled and disabled VM-VM Affinity and Anti-Affinity rules,\ninvolving the given Virtual Machine.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindRulesForVmRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterRuleInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/GetResourceUsage": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "This API can be invoked to get the current CPU, memory and storage usage\nin the cluster.\n",
        "operationId": "ClusterComputeResource_GetResourceUsage",
        "description": "This API can be invoked to get the current CPU, memory and storage usage\nin the cluster.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "An instance of ResourceUsageSummary with following information:\n1. cpuCapacityMHz: Sum of CPU capacity of all the available hosts in the\n   cluster in MHz.\n2. cpuUsedMHz: Sum of CPU consumed in all the available hosts in the cluster\n   in MHz.\n3. memCapacityMB: Sum of memory capacity of all the available hosts in the\n   cluster in MB.\n4. memUsedMB: Sum of memory consumed in all the available hosts in this\n   cluster in MB.\n5. storageCapacityMB: Total storage capacity of all the accessible datastores\n   in this cluster.\n6. storageUsedMB: Total storage consumed in all the accessible datastores in\n   this cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterResourceUsageSummary"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/GetSystemVMsRestrictedDatastores": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Retrieve all the datastores that are either listed in\n*ClusterSystemVMsConfigInfo.notAllowedDatastores* or are\ntagged with a category from\n*ClusterSystemVMsConfigInfo.dsTagCategoriesToExclude*.\n",
        "operationId": "ClusterComputeResource_GetSystemVMsRestrictedDatastores",
        "description": "Retrieve all the datastores that are either listed in\n*ClusterSystemVMsConfigInfo.notAllowedDatastores* or are\ntagged with a category from\n*ClusterSystemVMsConfigInfo.dsTagCategoriesToExclude*.\n\n***Since:*** vSphere API Release 7.0.3.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "a list of restricted datastores.\n\nRefers instances of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/MoveHostInto_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Moves an existing host into a cluster.\n",
        "operationId": "ClusterComputeResource_MoveHostInto_Task",
        "description": "Moves an existing host into a cluster.\n\nThe host must be part of the same\ndatacenter, and if the host is part of a cluster, the host must be in maintenance\nmode.\n\nIf the host is a stand-alone host, the stand-alone ComputeResource is removed\nas part of this operation.\n\nAll virtual machines associated with the host, regardless of whether or not they\nare running, are moved with the host into the cluster. If there are virtual\nmachines that should not be moved, then migrate those virtual machines off the\nhost before initiating this operation.\n\nIf the host is a stand-alone host, the cluster supports nested resource pools,\nand the user specifies the optional resourcePool argument, then the stand-alone\nhost's root resource pool becomes the specified resource pool and the stand-alone\nhost resource hierarchy is imported into the new nested resource pool. If the\ncluster does not support nested resource pools or the resourcePool argument is not\nspecified, then the stand-alone host resource hierarchy is ignored.\n\nvSphere Lifecycle Manager baselines (previously called vSphere Update\nManager VUM) is\n<a href=\"https://kb.vmware.com/s/article/89519\">deprecated</a> in vCenter 8.0.\nYou can instead manage the lifecycle of the hosts in your environment by using vSphere\nLifecycle Manager images (vLCM). A host moved from image managed cluster to baseline\nmanaged cluster will become baseline managed.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveHostIntoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupportedHost***: if the host is running a software version that does\nnot support clustering.\n\n***TooManyHosts***: if no additional hosts can be added to the cluster.\n\n***InvalidArgument***: if the host is not a part of the same datacenter as\nthe cluster or if the specified resource pool is not part of the cluster\nor if the source and destination clusters are the same.\n\n***InvalidState***: if a host is already part of a cluster and is not in\nmaintenance mode.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/MoveInto_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Moves an existing host into a cluster.\n",
        "operationId": "ClusterComputeResource_MoveInto_Task",
        "description": "Moves an existing host into a cluster.\n\nThe host must be part of the same\ndatacenter, and if the host is part of a cluster, the host must be in maintenance\nmode.\n\nIf the host is part of a stand-alone ComputeResource, then the stand-alone\nComputeResource is removed as part of this operation.\n\nAll virtual machines associated with a host, regardless of whether or not they\nare running, are moved with the host into the cluster. If there are virtual\nmachines that should not be moved, then migrate those virtual machines off the\nhost before initiating this operation.\n\nFor stand-alone hosts, the host resource pool hierarchy is discarded in this call.\nTo preserve a host resource pools from a stand-alone host, call moveHostInt,\nspecifying an optional resource pool. This operation is transactional only with\nrespect to each individual host. Hosts in the set are moved sequentially and are\ncommitted, one at a time. If a failure is detected, then the method terminates\nwith an exception. Since hosts are moved one at a time, if this operation fails\nwhile in the process of moving multiple hosts, some hosts are left unmoved.\n\nvSphere Lifecycle Manager baselines (previously called vSphere Update\nManager VUM) is\n<a href=\"https://kb.vmware.com/s/article/89519\">deprecated</a> in vCenter 8.0.\nYou can instead manage the lifecycle of the hosts in your environment by using vSphere\nLifecycle Manager images (vLCM). A host moved from image managed cluster to baseline\nmanaged cluster will become baseline managed.\n\nIn addition to the privileges mentioned, the user must also hold\nHost.Inventory.EditCluster on the host's source ComputeResource object.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveIntoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupportedHost***: if the host is running a software version that does\nnot support clustering features.\n\n***TooManyHosts***: if no additional hosts can be added to the cluster.\n\n***InvalidArgument***: if one of the hosts is not part of the same datacenter\nas the cluster.\n\n***InvalidState***: if a host is already part of a cluster and is not in\nmaintenance mode.\n\n***DuplicateName***: if the host is already in the cluster\n\n***DisallowedOperationOnFailoverHost***: if the host is being moved\nfrom a cluster and was configured as a failover host in that\ncluster. See *ClusterFailoverHostAdmissionControlPolicy*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/PlaceVm": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "This method returns a *PlacementResult* object.\n",
        "operationId": "ClusterComputeResource_PlaceVm",
        "description": "This method returns a *PlacementResult* object.\n\nThis API can be invoked to ask DRS for a set of recommendations\nfor moving a virtual machine and its virtual disks into a cluster.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceVmRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlacementResult"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if invoked on a DRS disabled cluster.\n\n***InvalidArgument***: in case of errors in the input \"placementSpec\".\nThe API can be used for either intra-vCenter migration or\ncross-vCenter migration, with different requirements for the\nPlacementSpec.\n  For intra-vCenter migration, the requirements for PlacementSpec are:\n- PlacementSpec.vm is required.\n- PlacementSpec.relocateSpec can be used to optionally specify the\n  target host, target datastore, or target resource pool for the migration.\n- PlacementSpec.hosts can be used to optionally specify a list of\n  compatible hosts for the incoming virtual machine. If this list is empty,\n  all hosts in the cluster will be considered for placement.\n- PlacementSpec.datastores can be used to optionally specify a list of\n  compatible datastores for the incoming virtual machine. If this list is\n  empty, all datastores connected to the hosts in the cluster will be\n  considered for placement.\n- PlacementSpec.storagePods can be used to optionally specify a list of\n  compatible datastore clusters for the incoming virtual machine. If this\n  list is empty, all datastores connected to the hosts in the cluster will\n  be considered for placement.\n<!-- -->\n  For cross-vCenter migration, the requirements for PlacementSpec are:\n- PlacementSpec.configSpec is required. Within the ConfigSpec, the\n  following elements are required if PlacementSpec.relocateSpec.host is\n  empty: version, cpuAllocation, memoryAllocation, numCPUs, memoryMB;\n  additionally, the following elements of the ConfigSpec are required if\n  PlacementSpec.relocateSpec.datastore is empty: files, swapPlacement,\n  deviceChange.\n- PlacementSpec.relocateSpec can be used to optionally specify the\n  target host, target datastore, or target resource pool for the migration.\n- PlacementSpec.hosts is required, if PlacementSpec.relocateSpec.host is\n  empty; otherwise, the selected hosts in the PlacementResult are not\n  guaranteed to be compatible with the incoming virtual machine.\n- PlacementSpec.datastores is required, if PlacementSpec.relocateSpec.datastore\n  is empty; otherwise, the selected datastores in the PlacementResult are\n  not guaranteed to be compatible with the incoming virtual machine.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/RecommendHostsForVm": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Gets a recommendation for where to power on, resume, revert\nfrom powered-off state to powered on state, or to migrate a\nspecific virtual machine.\n",
        "operationId": "ClusterComputeResource_RecommendHostsForVm",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *Datacenter.PowerOnMultiVM_Task*.\n*ClusterComputeResource.RecommendHostsForVm* cannot make any recommendations if DRS cannot\nfind the specified host in the cluster.\nWith *Datacenter.PowerOnMultiVM_Task*, DRS attempts to migrate virtual machines\nand power on hosts in standby mode, given the same conditions.\n\nGets a recommendation for where to power on, resume, revert\nfrom powered-off state to powered on state, or to migrate a\nspecific virtual machine.\n\nIf no host is found, an empty list is\nreturned.\n\nThe type of operation is implied by the state of the virtual machine. Returned\nhosts are intended for power-on or resume if the virtual machine is powered-off or\nsuspended. However, if the virtual machine is powered-on, the request is assumed\nto be for migrating a virtual machine into a DRS enabled cluster. In that case,\nthe ResourcePool argument should be specified and the ResourcePool and the virtual\nmachine cannot be in the same cluster.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecommendHostsForVmRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of HostRecommendation ordered by their rating.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterHostRecommendation"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/ReconfigureCluster_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Reconfigures a cluster.\n",
        "operationId": "ClusterComputeResource_ReconfigureCluster_Task",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *ComputeResource.ReconfigureComputeResource_Task*.\n\nReconfigures a cluster.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/ReconfigureComputeResource_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Change the compute resource configuration.\n",
        "operationId": "ClusterComputeResource_ReconfigureComputeResource_Task",
        "description": "Change the compute resource configuration.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureComputeResourceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/RefreshRecommendation": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Make DRS invoke again and return a new list of recommendations.\n",
        "operationId": "ClusterComputeResource_RefreshRecommendation",
        "description": "Make DRS invoke again and return a new list of recommendations.\n\nConcurrent \"refresh\" requests may be combined together and trigger only\none DRS invocation.\n\nThe recommendations generated is stored at *ClusterComputeResource.recommendation*.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/Reload": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "ClusterComputeResource_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "ClusterComputeResource_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** Host.Inventory.RenameCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/RetrieveDasAdvancedRuntimeInfo": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Retrieve DAS advanced runtime info for this cluster.\n",
        "operationId": "ClusterComputeResource_RetrieveDasAdvancedRuntimeInfo",
        "description": "Retrieve DAS advanced runtime info for this cluster.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ClusterDasAdvancedRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/SetCryptoMode": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Set the desired encryption mode and host key for the cluster.\n",
        "operationId": "ClusterComputeResource_SetCryptoMode",
        "description": "Set the desired encryption mode and host key for the cluster.\n\nThe cryptoMode parameter can be used to set crypto mode policy for the\ncluster.\n\nThe desired host key of the cluster can also be specified optionally\nusing the policy parameter.\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetCryptoModeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidRequest***: if the interface is not implemented.\n\n***InvalidArgument***: if one of the parameters is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuntimeFault"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "ClusterComputeResource_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/StampAllRulesWithUuid_Task": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Stamp all rules in the cluster with ruleUuid.\n",
        "operationId": "ClusterComputeResource_StampAllRulesWithUuid_Task",
        "description": "Stamp all rules in the cluster with ruleUuid.\n\nIf a rule has ruleUuid field set, and it has a value, leave it untouched.\nIf rule's ruleUuid field is unset, generate a UUID and stamp the rule.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/ValidateHCIConfiguration": {
      "post": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Validate HCI configuration in pre-configure and post-configure use-cases.\n",
        "operationId": "ClusterComputeResource_ValidateHCIConfiguration",
        "description": "Validate HCI configuration in pre-configure and post-configure use-cases.\n1. pre-configure use-case: Validates the HCI configuration to be applied on\n   the cluster. A successful validation in this case means the HCIConfigSpec\n   can be applied without errors on the cluster using\n   *ClusterComputeResource.ConfigureHCI_Task* or\n   *ClusterComputeResource.ExtendHCI_Task*  \n   These are the things the API validates:\n   1. When providing a set of physical adapters in the\n      *ClusterComputeResourceHCIConfigSpec.dvsProf* argument,\n      the API validates that all the adapters should be present on all the\n      hosts to be validated. The adapters should either be unmapped or mapped\n      to the same vSwitch across hosts. In addition to this, if the adapters\n      are connected to a *DistributedVirtualSwitch*, it should be\n      exactly the same way as specified in the\n      *ClusterComputeResourceHCIConfigSpec.dvsProf* or in the\n      *ClusterComputeResourceHCIConfigInfo.dvsSetting*.\n   2. The API will also validate that the ESXi versions of the hosts are\n      compatible with the version of the *DistributedVirtualSwitch*\n      being created.\n2. post-configure case: Validate the cluster has been configured correctly\n   as per the *ClusterComputeResourceHCIConfigInfo* for the\n   cluster. In this case, the API should be invoked with both params omitted\n   as the intent is to validate all hosts in the cluster using the existing\n   *ClusterComputeResourceHCIConfigInfo*\n   \n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateHCIConfigurationRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A list of configuration errors. A non-empty list indicates\nvalidation has failed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterComputeResourceValidationResultBase"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/actionHistory": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The set of actions that have been performed recently.\n",
        "operationId": "ClusterComputeResource_getActionHistory",
        "description": "The set of actions that have been performed recently.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterActionHistory"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "ClusterComputeResource_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/availableField": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "ClusterComputeResource_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/configIssue": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "ClusterComputeResource_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/configManagerEnabled": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Flag indicating whether or not desired configuration\nmanagement platform is enabled on the compute resource.\n",
        "operationId": "ClusterComputeResource_getConfigManagerEnabled",
        "description": "Flag indicating whether or not desired configuration\nmanagement platform is enabled on the compute resource.\n\nThis property can be set only at the time of creation or through the\n*ComputeResource.EnableConfigurationManagement* method.\n\n***Since:*** vSphere API Release 8.0.0.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/configStatus": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "ClusterComputeResource_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/configuration": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Configuration of the cluster.\n",
        "operationId": "ClusterComputeResource_getConfiguration",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *ComputeResource.configurationEx*,\nwhich is a *ClusterConfigInfoEx* data object..\n\nConfiguration of the cluster.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/configurationEx": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Configuration of the compute resource; applies to both standalone hosts\nand clusters.\n",
        "operationId": "ClusterComputeResource_getConfigurationEx",
        "description": "Configuration of the compute resource; applies to both standalone hosts\nand clusters.\n\nFor a cluster this property will return a\n*ClusterConfigInfoEx* object.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComputeResourceConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/customValue": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Custom field values.\n",
        "operationId": "ClusterComputeResource_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/datastore": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The datastore property is the subset of datastore objects in the datacenter\navailable in this ComputeResource.\n",
        "operationId": "ClusterComputeResource_getDatastore",
        "description": "The datastore property is the subset of datastore objects in the datacenter\navailable in this ComputeResource.\n\nThis property is computed as the aggregate set of datastores available from all\nthe hosts that are part of this compute resource.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "ClusterComputeResource_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "ClusterComputeResource_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/drsFault": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "A collection of the DRS faults generated in the last DRS invocation.\n",
        "operationId": "ClusterComputeResource_getDrsFault",
        "description": "A collection of the DRS faults generated in the last DRS invocation.\n\nEach element of the collection is the set of faults generated in one\nrecommendation.\nDRS faults are generated when DRS tries to make recommendations\nfor rule enforcement, power management, etc., and indexed in a tree\nstructure with reason for recommendations and VM to migrate (optional)\nas the index keys.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterDrsFaults"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/drsRecommendation": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "If DRS is enabled, this returns the set of recommended\nmigrations from the DRS module.\n",
        "operationId": "ClusterComputeResource_getDrsRecommendation",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use\n*ClusterComputeResource.recommendation*.\nvSphere 6.5 is the last version where this property is populated.\nLater versions of vSphere no longer populate this property.\n\nIf DRS is enabled, this returns the set of recommended\nmigrations from the DRS module.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterDrsRecommendation"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "ClusterComputeResource_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/environmentBrowser": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The environment browser object that identifies the environments that are supported\non this compute resource.\n",
        "operationId": "ClusterComputeResource_getEnvironmentBrowser",
        "description": "The environment browser object that identifies the environments that are supported\non this compute resource.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *EnvironmentBrowser*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/hciConfig": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "This is applicable to clusters which are configured using the HCI\nworkflow and contains data related to the workflow and specification.\n",
        "operationId": "ClusterComputeResource_getHciConfig",
        "description": "This is applicable to clusters which are configured using the HCI\nworkflow and contains data related to the workflow and specification.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ClusterComputeResourceHCIConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/host": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "List of hosts that are part of this compute resource.\n",
        "operationId": "ClusterComputeResource_getHost",
        "description": "List of hosts that are part of this compute resource.\n\nIf the compute resource is a\nstandalone type, then this list contains just one element.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/lifecycleManaged": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Flag indicating whether or not the lifecycle of the compute resource is\nmanaged.\n",
        "operationId": "ClusterComputeResource_getLifecycleManaged",
        "description": "Flag indicating whether or not the lifecycle of the compute resource is\nmanaged.\n\nOnce it is enabled, it cannot be disabled.\nThis property can be set only at the time of creation or through the\n*ComputeResource.EnableLifecycleManagement* method.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/migrationHistory": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The set of migration decisions that have recently been performed.\n",
        "operationId": "ClusterComputeResource_getMigrationHistory",
        "description": "The set of migration decisions that have recently been performed.\n\nThis list is populated only when DRS is in automatic mode.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterDrsMigration"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/name": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "ClusterComputeResource_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/network": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The subset of network objects available in the datacenter that is available in\nthis ComputeResource.\n",
        "operationId": "ClusterComputeResource_getNetwork",
        "description": "The subset of network objects available in the datacenter that is available in\nthis ComputeResource.\n\nThis property is computed as the aggregate set of networks available from all the\nhosts that are part of this compute resource.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Network*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/overallStatus": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "ClusterComputeResource_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/parent": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "ClusterComputeResource_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/permission": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "ClusterComputeResource_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/recentTask": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "ClusterComputeResource_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/recommendation": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "List of recommended actions for the cluster.\n",
        "operationId": "ClusterComputeResource_getRecommendation",
        "description": "List of recommended actions for the cluster.\n\nIt is\npossible that the current set of recommendations may be empty,\neither due to not having any running dynamic recommendation\ngeneration module, or since there may be no recommended actions\nat this time.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "An array of recommendations, with each of them having\none or more actions.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterRecommendation"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/resourcePool": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Reference to root resource pool.\n",
        "operationId": "ClusterComputeResource_getResourcePool",
        "description": "Reference to root resource pool.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ResourcePool*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/summary": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "Basic runtime information about a compute resource.\n",
        "operationId": "ClusterComputeResource_getSummary",
        "description": "Basic runtime information about a compute resource.\n\nThis information is used on\nsummary screens and in list views.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComputeResourceSummary"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/summaryEx": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The cluster summary.\n",
        "operationId": "ClusterComputeResource_getSummaryEx",
        "deprecated": true,
        "description": "Deprecated do not use this property.\nThe same information could be obtained via\n*ComputeResource.summary*.\n\nThe cluster summary.\n\n***Since:*** vSphere API Release 7.0.1.1\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterComputeResourceSummary"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/tag": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "ClusterComputeResource_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "ClusterComputeResource_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterComputeResource/{moId}/value": {
      "get": {
        "tags": [
          "ClusterComputeResource"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "ClusterComputeResource_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterEVCManager/{moId}/CheckAddHostEvc_Task": {
      "post": {
        "tags": [
          "ClusterEVCManager"
        ],
        "summary": "Test the validity of adding a host into the managed cluster.\n",
        "operationId": "ClusterEVCManager_CheckAddHostEvc_Task",
        "description": "Test the validity of adding a host into the managed cluster.\n\nNote that\nthis method only tests EVC admission control; host-add may fail for\nother reasons.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckAddHostEvcRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if authentication with the host fails.\n\n***HostConnectFault***: if an error occurred when attempting to connect\nto the host. Typically, a more specific subclass is thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterEVCManager/{moId}/CheckConfigureEvcMode_Task": {
      "post": {
        "tags": [
          "ClusterEVCManager"
        ],
        "summary": "Test the validity of configuring an EVC mode on the managed cluster.\n",
        "operationId": "ClusterEVCManager_CheckConfigureEvcMode_Task",
        "description": "Test the validity of configuring an EVC mode on the managed cluster.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckConfigureEvcModeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterEVCManager/{moId}/ConfigureEvcMode_Task": {
      "post": {
        "tags": [
          "ClusterEVCManager"
        ],
        "summary": "Set the EVC mode.\n",
        "operationId": "ClusterEVCManager_ConfigureEvcMode_Task",
        "description": "Set the EVC mode.\n\nIf EVC is currently disabled, then this will enable\nEVC. The parameter must specify a key to one of the EVC modes listed in\nthe *ClusterEVCManagerEVCState.supportedEVCMode* array\nproperty. If there are no modes listed there,\nthen EVC may not currently be enabled; reference the other properties\nin *ClusterEVCManagerEVCState* to determine what conditions are blocking EVC.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigureEvcModeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***EVCConfigFault***: if configuring EVC failed. Typically, a more\nspecific subclass is thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EVCConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterEVCManager/{moId}/DisableEvcMode_Task": {
      "post": {
        "tags": [
          "ClusterEVCManager"
        ],
        "summary": "Disable EVC.\n",
        "operationId": "ClusterEVCManager_DisableEvcMode_Task",
        "description": "Disable EVC.\n\nEVC may be disabled at any time.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterEVCManager/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "ClusterEVCManager"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "ClusterEVCManager_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ClusterEVCManager/{moId}/availableField": {
      "get": {
        "tags": [
          "ClusterEVCManager"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "ClusterEVCManager_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterEVCManager/{moId}/evcState": {
      "get": {
        "tags": [
          "ClusterEVCManager"
        ],
        "summary": "EVC-related state of the managed cluster.\n",
        "operationId": "ClusterEVCManager_getEvcState",
        "description": "EVC-related state of the managed cluster.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterEVCManagerEVCState"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterEVCManager/{moId}/managedCluster": {
      "get": {
        "tags": [
          "ClusterEVCManager"
        ],
        "summary": "Cluster associated with this manager object.\n",
        "operationId": "ClusterEVCManager_getManagedCluster",
        "description": "Cluster associated with this manager object.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ClusterComputeResource*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterEVCManager/{moId}/value": {
      "get": {
        "tags": [
          "ClusterEVCManager"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "ClusterEVCManager_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/AssociateProfile": {
      "post": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Associate a profile with a managed entity.\n",
        "operationId": "ClusterProfile_AssociateProfile",
        "description": "Associate a profile with a managed entity.\n\nYou can check the compliance of\nentities associated with a profile by calling the\n*Profile.CheckProfileCompliance_Task* method.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssociateProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ClusterProfile/{moId}/CheckProfileCompliance_Task": {
      "post": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Check compliance of an entity against a Profile.\n",
        "operationId": "ClusterProfile_CheckProfileCompliance_Task",
        "description": "Check compliance of an entity against a Profile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckProfileComplianceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/DestroyProfile": {
      "post": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Destroy the profile.\n",
        "operationId": "ClusterProfile_DestroyProfile",
        "description": "Destroy the profile.\n\n***Required privileges:*** Profile.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ClusterProfile/{moId}/DissociateProfile": {
      "post": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Remove the association between a profile and a managed entity.\n",
        "operationId": "ClusterProfile_DissociateProfile",
        "description": "Remove the association between a profile and a managed entity.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DissociateProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ClusterProfile/{moId}/ExportProfile": {
      "post": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Export the profile in a serialized form.\n",
        "operationId": "ClusterProfile_ExportProfile",
        "description": "Export the profile in a serialized form.\n\nTo use the serialized string to create a profile,\nspecify a *ProfileSerializedCreateSpec* when you call the\n*HostProfileManager*.*ProfileManager.CreateProfile*\nmethod.\n\n***Required privileges:*** Profile.Export\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Serialized form of the profile.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/RetrieveDescription": {
      "post": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Returns the localizable description for the profile.\n",
        "operationId": "ClusterProfile_RetrieveDescription",
        "description": "Returns the localizable description for the profile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Profile divided into sections containing element descriptions and messages.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ProfileDescription"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/UpdateClusterProfile": {
      "post": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Update the ClusterProfile with the specified config.\n",
        "operationId": "ClusterProfile_UpdateClusterProfile",
        "description": "Update the ClusterProfile with the specified config.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClusterProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DuplicateName***: If the profile with the new name already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DuplicateName"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/complianceStatus": {
      "get": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Overall compliance of entities associated with this profile.\n",
        "operationId": "ClusterProfile_getComplianceStatus",
        "description": "Overall compliance of entities associated with this profile.\n\nIf one of the entities is out of compliance, the profile is <code>nonCompliant</code>.\nIf all entities are in compliance, the profile is <code>compliant</code>.\nIf the compliance status of one of the entities is not known, compliance status\nof the profile is <code>unknown</code>.\nSee *ComplianceResultStatus_enum*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/config": {
      "get": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Configuration data for the profile.\n",
        "operationId": "ClusterProfile_getConfig",
        "description": "Configuration data for the profile.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/createdTime": {
      "get": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Time at which the profile was created.\n",
        "operationId": "ClusterProfile_getCreatedTime",
        "description": "Time at which the profile was created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/description": {
      "get": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Localizable description of the profile\n",
        "operationId": "ClusterProfile_getDescription",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0. use *Profile.RetrieveDescription* instead.\n\nLocalizable description of the profile\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ProfileDescription"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/entity": {
      "get": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "List of managed entities associated with the profile.\n",
        "operationId": "ClusterProfile_getEntity",
        "description": "List of managed entities associated with the profile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/modifiedTime": {
      "get": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Time at which the profile was last modified.\n",
        "operationId": "ClusterProfile_getModifiedTime",
        "description": "Time at which the profile was last modified.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfile/{moId}/name": {
      "get": {
        "tags": [
          "ClusterProfile"
        ],
        "summary": "Name of the profile.\n",
        "operationId": "ClusterProfile_getName",
        "description": "Name of the profile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfileManager/{moId}/CreateProfile": {
      "post": {
        "tags": [
          "ClusterProfileManager"
        ],
        "summary": "Create a profile from the specified CreateSpec.\n",
        "operationId": "ClusterProfileManager_CreateProfile",
        "description": "Create a profile from the specified CreateSpec.\n\n***Required privileges:*** Profile.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Profile created from the specified createSpec.\n\nRefers instance of *Profile*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If a profile with the specified name already\nexists.\n\n***InvalidProfileReferenceHost***: if the specified reference host is\nincompatible or no reference host has been specified.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DuplicateName"
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfileManager/{moId}/FindAssociatedProfile": {
      "post": {
        "tags": [
          "ClusterProfileManager"
        ],
        "summary": "Get the profile(s) to which this entity is associated.\n",
        "operationId": "ClusterProfileManager_FindAssociatedProfile",
        "description": "Get the profile(s) to which this entity is associated.\n\nThe list of profiles will only include profiles known to this\nprofileManager.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindAssociatedProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instances of *Profile*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfileManager/{moId}/QueryPolicyMetadata": {
      "post": {
        "tags": [
          "ClusterProfileManager"
        ],
        "summary": "Get the Metadata information for the policyNames.\n",
        "operationId": "ClusterProfileManager_QueryPolicyMetadata",
        "description": "Get the Metadata information for the policyNames.\n\nPolicyNames are available with the defaultProfile obtained by invoking the\nmethod createDefaultProfile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPolicyMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The metadata information for the policy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProfilePolicyMetadata"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ClusterProfileManager/{moId}/profile": {
      "get": {
        "tags": [
          "ClusterProfileManager"
        ],
        "summary": "A list of profiles known to this ProfileManager.\n",
        "operationId": "ClusterProfileManager_getProfile",
        "description": "A list of profiles known to this ProfileManager.\n\n***Required privileges:*** Profile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Profile*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "ComputeResource_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** Host.Inventory.RemoveHostFromCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/ReconfigureComputeResource_Task": {
      "post": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Change the compute resource configuration.\n",
        "operationId": "ComputeResource_ReconfigureComputeResource_Task",
        "description": "Change the compute resource configuration.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureComputeResourceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/Reload": {
      "post": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "ComputeResource_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ComputeResource/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "ComputeResource_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "ComputeResource_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ComputeResource/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "ComputeResource_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/availableField": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "ComputeResource_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/configIssue": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "ComputeResource_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/configManagerEnabled": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Flag indicating whether or not desired configuration\nmanagement platform is enabled on the compute resource.\n",
        "operationId": "ComputeResource_getConfigManagerEnabled",
        "description": "Flag indicating whether or not desired configuration\nmanagement platform is enabled on the compute resource.\n\nThis property can be set only at the time of creation or through the\n*ComputeResource.EnableConfigurationManagement* method.\n\n***Since:*** vSphere API Release 8.0.0.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/configStatus": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "ComputeResource_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/configurationEx": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Configuration of the compute resource; applies to both standalone hosts\nand clusters.\n",
        "operationId": "ComputeResource_getConfigurationEx",
        "description": "Configuration of the compute resource; applies to both standalone hosts\nand clusters.\n\nFor a cluster this property will return a\n*ClusterConfigInfoEx* object.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComputeResourceConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/customValue": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Custom field values.\n",
        "operationId": "ComputeResource_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/datastore": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "The datastore property is the subset of datastore objects in the datacenter\navailable in this ComputeResource.\n",
        "operationId": "ComputeResource_getDatastore",
        "description": "The datastore property is the subset of datastore objects in the datacenter\navailable in this ComputeResource.\n\nThis property is computed as the aggregate set of datastores available from all\nthe hosts that are part of this compute resource.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "ComputeResource_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "ComputeResource_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "ComputeResource_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/environmentBrowser": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "The environment browser object that identifies the environments that are supported\non this compute resource.\n",
        "operationId": "ComputeResource_getEnvironmentBrowser",
        "description": "The environment browser object that identifies the environments that are supported\non this compute resource.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *EnvironmentBrowser*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/host": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "List of hosts that are part of this compute resource.\n",
        "operationId": "ComputeResource_getHost",
        "description": "List of hosts that are part of this compute resource.\n\nIf the compute resource is a\nstandalone type, then this list contains just one element.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/lifecycleManaged": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Flag indicating whether or not the lifecycle of the compute resource is\nmanaged.\n",
        "operationId": "ComputeResource_getLifecycleManaged",
        "description": "Flag indicating whether or not the lifecycle of the compute resource is\nmanaged.\n\nOnce it is enabled, it cannot be disabled.\nThis property can be set only at the time of creation or through the\n*ComputeResource.EnableLifecycleManagement* method.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/name": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "ComputeResource_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/network": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "The subset of network objects available in the datacenter that is available in\nthis ComputeResource.\n",
        "operationId": "ComputeResource_getNetwork",
        "description": "The subset of network objects available in the datacenter that is available in\nthis ComputeResource.\n\nThis property is computed as the aggregate set of networks available from all the\nhosts that are part of this compute resource.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Network*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/overallStatus": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "ComputeResource_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/parent": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "ComputeResource_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/permission": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "ComputeResource_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/recentTask": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "ComputeResource_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/resourcePool": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Reference to root resource pool.\n",
        "operationId": "ComputeResource_getResourcePool",
        "description": "Reference to root resource pool.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ResourcePool*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/summary": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "Basic runtime information about a compute resource.\n",
        "operationId": "ComputeResource_getSummary",
        "description": "Basic runtime information about a compute resource.\n\nThis information is used on\nsummary screens and in list views.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComputeResourceSummary"
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/tag": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "ComputeResource_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "ComputeResource_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ComputeResource/{moId}/value": {
      "get": {
        "tags": [
          "ComputeResource"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "ComputeResource_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ContainerView/{moId}/DestroyView": {
      "post": {
        "tags": [
          "ContainerView"
        ],
        "summary": "Destroy this view.\n",
        "operationId": "ContainerView_DestroyView",
        "description": "Destroy this view.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ContainerView/{moId}/container": {
      "get": {
        "tags": [
          "ContainerView"
        ],
        "summary": "The Folder, Datacenter, ComputeResource, ResourcePool, or HostSystem instance\nthat provides the objects that the view presents.\n",
        "operationId": "ContainerView_getContainer",
        "description": "The Folder, Datacenter, ComputeResource, ResourcePool, or HostSystem instance\nthat provides the objects that the view presents.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ContainerView/{moId}/recursive": {
      "get": {
        "tags": [
          "ContainerView"
        ],
        "summary": "Whether to include only the immediate children of the container instance,\nor to include additional objects by following the paths beyond the\nimmediate children.\n",
        "operationId": "ContainerView_getRecursive",
        "description": "Whether to include only the immediate children of the container instance,\nor to include additional objects by following the paths beyond the\nimmediate children.\n\nFor information about recursive behavior, see the description of\n*ViewManager.CreateContainerView*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ContainerView/{moId}/type": {
      "get": {
        "tags": [
          "ContainerView"
        ],
        "summary": "An optional list of types to be applied to the set of objects in the view.\n",
        "operationId": "ContainerView_getType",
        "description": "An optional list of types to be applied to the set of objects in the view.\n\nThe list of types indicates objects that are included in the view.\nIf empty, all types are included.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ContainerView/{moId}/view": {
      "get": {
        "tags": [
          "ContainerView"
        ],
        "summary": "The list of references to objects mapped by this view.\n",
        "operationId": "ContainerView_getView",
        "description": "The list of references to objects mapped by this view.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManager/{moId}/AddKey": {
      "post": {
        "tags": [
          "CryptoManager"
        ],
        "summary": "Add an existing key.\n",
        "operationId": "CryptoManager_AddKey",
        "description": "Add an existing key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: in case the key is already in the key cache\n\n***InvalidState***: in case the host is not Crypto Safe\n\n***InvalidArgument***: in case the keyID is duplicated or key properties\nare incorrect.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManager/{moId}/AddKeys": {
      "post": {
        "tags": [
          "CryptoManager"
        ],
        "summary": "Add multiple existing keys.\n",
        "operationId": "CryptoManager_AddKeys",
        "description": "Add multiple existing keys.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the result for each key operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: in case the host is not Crypto Safe\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManager/{moId}/ListKeys": {
      "post": {
        "tags": [
          "CryptoManager"
        ],
        "summary": "List keys.\n",
        "operationId": "CryptoManager_ListKeys",
        "description": "List keys.\n\n\\* When executed against the host, lists all the keys\nadded to the host's key cache by *CryptoManager.AddKey*/*CryptoManager.AddKeys*.\n\\* When executed against the VC, lists all the keys used by\nthe correctly registered VMs, and the host key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of known keys.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyId"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManager/{moId}/RemoveKey": {
      "post": {
        "tags": [
          "CryptoManager"
        ],
        "summary": "Remove a key (only the UUID is needed to remove).\n",
        "operationId": "CryptoManager_RemoveKey",
        "description": "Remove a key (only the UUID is needed to remove).\n\nIf \"force\" is set, removal will happen even if the key is in use.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: in case the keyID is not found\nand \"force\" is false.\n\n***ResourceInUse***: if the key is used to encrypt any object\nand \"force\" is false.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceInUse"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManager/{moId}/RemoveKeys": {
      "post": {
        "tags": [
          "CryptoManager"
        ],
        "summary": "Remove multiple keys (only the UUID is needed to remove).\n",
        "operationId": "CryptoManager_RemoveKeys",
        "description": "Remove multiple keys (only the UUID is needed to remove).\n\nIf \"force\" is set, removal will happen even if they are in use.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManager/{moId}/enabled": {
      "get": {
        "tags": [
          "CryptoManager"
        ],
        "summary": "Indicate if the encryption feature is enabled.\n",
        "operationId": "CryptoManager_getEnabled",
        "description": "Indicate if the encryption feature is enabled.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/AddKey": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Add an existing key.\n",
        "operationId": "CryptoManagerHost_AddKey",
        "description": "Add an existing key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: in case the key is already in the key cache\n\n***InvalidState***: in case the host is not Crypto Safe\n\n***InvalidArgument***: in case the keyID is duplicated or key properties\nare incorrect.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/AddKeys": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Add multiple existing keys.\n",
        "operationId": "CryptoManagerHost_AddKeys",
        "description": "Add multiple existing keys.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the result for each key operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: in case the host is not Crypto Safe\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/ChangeKey_Task": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Change the key used for core dump encryption\nNote: *CryptoManagerHost.CryptoManagerHostEnable* must be called first\nIf successful, a \"best effort\" will be made to \"in place\" shallow recrypt\nany core dumps found in /var/core to use the new key.\n",
        "operationId": "CryptoManagerHost_ChangeKey_Task",
        "description": "Change the key used for core dump encryption\nNote: *CryptoManagerHost.CryptoManagerHostEnable* must be called first\nIf successful, a \"best effort\" will be made to \"in place\" shallow recrypt\nany core dumps found in /var/core to use the new key.\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the host is not in\n*safe* state\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/CryptoManagerHostDisable": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Disable encryption on host, if host was in crypto safe mode, put it in\npendingIncapable state and host will be crypto incapable after a reboot\nNote: A reboot is expected from user after successfully invoking this API\nNote: Do not call this API if the host is in vSAN encrypted cluster\n",
        "operationId": "CryptoManagerHost_CryptoManagerHostDisable",
        "description": "Disable encryption on host, if host was in crypto safe mode, put it in\npendingIncapable state and host will be crypto incapable after a reboot\nNote: A reboot is expected from user after successfully invoking this API\nNote: Do not call this API if the host is in vSAN encrypted cluster\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is already crypto disabled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/CryptoManagerHostEnable": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Begin core dump encryption by specifying the encryption key and put\nthe host in *safe* state\nNote: *CryptoManagerHost.CryptoManagerHostPrepare* must be called first\n",
        "operationId": "CryptoManagerHost_CryptoManagerHostEnable",
        "description": "Begin core dump encryption by specifying the encryption key and put\nthe host in *safe* state\nNote: *CryptoManagerHost.CryptoManagerHostPrepare* must be called first\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CryptoManagerHostEnableRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is in\n*incapable* state\n\n***AlreadyExists***: if the host is in\n*safe* state and initialKey differs\nfrom the existing core dump\nencryption key\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/GetCryptoKeyStatus": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Get the key status on the host.\n",
        "operationId": "CryptoManagerHost_GetCryptoKeyStatus",
        "description": "Get the key status on the host.\n\n***Since:*** vSphere API Release 8.0.1.0\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetCryptoKeyStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the key status.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoManagerHostKeyStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/ListKeys": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "List keys.\n",
        "operationId": "CryptoManagerHost_ListKeys",
        "description": "List keys.\n\n\\* When executed against the host, lists all the keys\nadded to the host's key cache by *CryptoManager.AddKey*/*CryptoManager.AddKeys*.\n\\* When executed against the VC, lists all the keys used by\nthe correctly registered VMs, and the host key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of known keys.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyId"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/CryptoManagerHostPrepare": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Prime the host to receive sensitive information and put the host\nin *prepared* state\n",
        "operationId": "CryptoManagerHost_CryptoManagerHostPrepare",
        "description": "Prime the host to receive sensitive information and put the host\nin *prepared* state\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is not in\n*incapable* state\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/RemoveKey": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Remove a key (only the UUID is needed to remove).\n",
        "operationId": "CryptoManagerHost_RemoveKey",
        "description": "Remove a key (only the UUID is needed to remove).\n\nIf \"force\" is set, removal will happen even if the key is in use.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: in case the keyID is not found\nand \"force\" is false.\n\n***ResourceInUse***: if the key is used to encrypt any object\nand \"force\" is false.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceInUse"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/RemoveKeys": {
      "post": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Remove multiple keys (only the UUID is needed to remove).\n",
        "operationId": "CryptoManagerHost_RemoveKeys",
        "description": "Remove multiple keys (only the UUID is needed to remove).\n\nIf \"force\" is set, removal will happen even if they are in use.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHost/{moId}/enabled": {
      "get": {
        "tags": [
          "CryptoManagerHost"
        ],
        "summary": "Indicate if the encryption feature is enabled.\n",
        "operationId": "CryptoManagerHost_getEnabled",
        "description": "Indicate if the encryption feature is enabled.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/AddKey": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Add an existing key.\n",
        "operationId": "CryptoManagerHostKMS_AddKey",
        "description": "Add an existing key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: in case the key is already in the key cache\n\n***InvalidState***: in case the host is not Crypto Safe\n\n***InvalidArgument***: in case the keyID is duplicated or key properties\nare incorrect.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/AddKeys": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Add multiple existing keys.\n",
        "operationId": "CryptoManagerHostKMS_AddKeys",
        "description": "Add multiple existing keys.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the result for each key operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: in case the host is not Crypto Safe\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/ChangeKey_Task": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Change the key used for core dump encryption\nNote: *CryptoManagerHost.CryptoManagerHostEnable* must be called first\nIf successful, a \"best effort\" will be made to \"in place\" shallow recrypt\nany core dumps found in /var/core to use the new key.\n",
        "operationId": "CryptoManagerHostKMS_ChangeKey_Task",
        "description": "Change the key used for core dump encryption\nNote: *CryptoManagerHost.CryptoManagerHostEnable* must be called first\nIf successful, a \"best effort\" will be made to \"in place\" shallow recrypt\nany core dumps found in /var/core to use the new key.\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the host is not in\n*safe* state\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/CryptoManagerHostDisable": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Disable encryption on host, if host was in crypto safe mode, put it in\npendingIncapable state and host will be crypto incapable after a reboot\nNote: A reboot is expected from user after successfully invoking this API\nNote: Do not call this API if the host is in vSAN encrypted cluster\n",
        "operationId": "CryptoManagerHostKMS_CryptoManagerHostDisable",
        "description": "Disable encryption on host, if host was in crypto safe mode, put it in\npendingIncapable state and host will be crypto incapable after a reboot\nNote: A reboot is expected from user after successfully invoking this API\nNote: Do not call this API if the host is in vSAN encrypted cluster\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is already crypto disabled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/CryptoManagerHostEnable": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Begin core dump encryption by specifying the encryption key and put\nthe host in *safe* state\nNote: *CryptoManagerHost.CryptoManagerHostPrepare* must be called first\n",
        "operationId": "CryptoManagerHostKMS_CryptoManagerHostEnable",
        "description": "Begin core dump encryption by specifying the encryption key and put\nthe host in *safe* state\nNote: *CryptoManagerHost.CryptoManagerHostPrepare* must be called first\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CryptoManagerHostEnableRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is in\n*incapable* state\n\n***AlreadyExists***: if the host is in\n*safe* state and initialKey differs\nfrom the existing core dump\nencryption key\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/GetCryptoKeyStatus": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Get the key status on the host.\n",
        "operationId": "CryptoManagerHostKMS_GetCryptoKeyStatus",
        "description": "Get the key status on the host.\n\n***Since:*** vSphere API Release 8.0.1.0\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetCryptoKeyStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the key status.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoManagerHostKeyStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/ListKeys": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "List keys.\n",
        "operationId": "CryptoManagerHostKMS_ListKeys",
        "description": "List keys.\n\n\\* When executed against the host, lists all the keys\nadded to the host's key cache by *CryptoManager.AddKey*/*CryptoManager.AddKeys*.\n\\* When executed against the VC, lists all the keys used by\nthe correctly registered VMs, and the host key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of known keys.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyId"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/CryptoManagerHostPrepare": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Prime the host to receive sensitive information and put the host\nin *prepared* state\n",
        "operationId": "CryptoManagerHostKMS_CryptoManagerHostPrepare",
        "description": "Prime the host to receive sensitive information and put the host\nin *prepared* state\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is not in\n*incapable* state\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/RemoveKey": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Remove a key (only the UUID is needed to remove).\n",
        "operationId": "CryptoManagerHostKMS_RemoveKey",
        "description": "Remove a key (only the UUID is needed to remove).\n\nIf \"force\" is set, removal will happen even if the key is in use.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: in case the keyID is not found\nand \"force\" is false.\n\n***ResourceInUse***: if the key is used to encrypt any object\nand \"force\" is false.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceInUse"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/RemoveKeys": {
      "post": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Remove multiple keys (only the UUID is needed to remove).\n",
        "operationId": "CryptoManagerHostKMS_RemoveKeys",
        "description": "Remove multiple keys (only the UUID is needed to remove).\n\nIf \"force\" is set, removal will happen even if they are in use.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerHostKMS/{moId}/enabled": {
      "get": {
        "tags": [
          "CryptoManagerHostKMS"
        ],
        "summary": "Indicate if the encryption feature is enabled.\n",
        "operationId": "CryptoManagerHostKMS_getEnabled",
        "description": "Indicate if the encryption feature is enabled.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/IsKmsClusterActive": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Check whether an active KMS exists in cluster.\n",
        "operationId": "CryptoManagerKmip_IsKmsClusterActive",
        "description": "Check whether an active KMS exists in cluster.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IsKmsClusterActiveRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "true if active KMS exists in cluster, false otherwise.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: in case the cluster is not found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgument"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/AddKey": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Add an existing key.\n",
        "operationId": "CryptoManagerKmip_AddKey",
        "description": "Add an existing key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: in case the key is already in the key cache\n\n***InvalidState***: in case the host is not Crypto Safe\n\n***InvalidArgument***: in case the keyID is duplicated or key properties\nare incorrect.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/AddKeys": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Add multiple existing keys.\n",
        "operationId": "CryptoManagerKmip_AddKeys",
        "description": "Add multiple existing keys.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the result for each key operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: in case the host is not Crypto Safe\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/GenerateClientCsr": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Generate a certificate signing request with its private key.\n",
        "operationId": "CryptoManagerKmip_GenerateClientCsr",
        "description": "Generate a certificate signing request with its private key.\n\nThis generates a CSR request as well as its private key. The private key\nwill not be returned to caller for security protection. If this method\nis called again, the CSR and private key generated in the new invocation\nwill overwrite the old ones.\nAfter the CSR is signed by KMS into a certificate, it should be updated\nby calling *CryptoManagerKmip.UpdateKmsSignedCsrClientCert*. The generated CSR\ncan be later retrieved by calling *CryptoManagerKmip.RetrieveClientCsr*.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateClientCsrRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A newly generated CSR.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/GenerateKey": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Generate new encryption key.\n",
        "operationId": "CryptoManagerKmip_GenerateKey",
        "description": "Generate new encryption key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the generated key.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoKeyResult"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/GenerateSelfSignedClientCert": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Generate a self-signed client certificate with its private key.\n",
        "operationId": "CryptoManagerKmip_GenerateSelfSignedClientCert",
        "description": "Generate a self-signed client certificate with its private key.\n\nThis generates a self signed certificate as well as its private key.\nThe private key will not be returned to caller for security protection.\nIf this method is called again, the certificate and private key\ngenerated in the new invocation will overwrite the old ones.\nThe generated certificate will not replace current working certificate\nuntil *CryptoManagerKmip.UpdateSelfSignedClientCert* is called. The generated self\nsigned certificate can be later retrieved by calling\n*CryptoManagerKmip.RetrieveSelfSignedClientCert*.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateSelfSignedClientCertRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new self-signed client certificate.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/GetDefaultKmsCluster": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Get the default KMS cluster of the specified managed entity.\n",
        "operationId": "CryptoManagerKmip_GetDefaultKmsCluster",
        "description": "Get the default KMS cluster of the specified managed entity.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDefaultKmsClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The default kms cluster of the entity, if any.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/KeyProviderId"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/ListKeys": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "List keys.\n",
        "operationId": "CryptoManagerKmip_ListKeys",
        "description": "List keys.\n\n\\* When executed against the host, lists all the keys\nadded to the host's key cache by *CryptoManager.AddKey*/*CryptoManager.AddKeys*.\n\\* When executed against the VC, lists all the keys used by\nthe correctly registered VMs, and the host key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of known keys.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyId"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/ListKmipServers": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "List the registered KMIP servers.\n",
        "operationId": "CryptoManagerKmip_ListKmipServers",
        "description": "List the registered KMIP servers.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListKmipServersRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of known KMIP servers grouped in clusters.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KmipClusterInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/ListKmsClusters": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "List the KMS clusters information.\n",
        "operationId": "CryptoManagerKmip_ListKmsClusters",
        "description": "List the KMS clusters information.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListKmsClustersRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of Key Providers.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KmipClusterInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/MarkDefault": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Set the default KMIP cluster.\n",
        "operationId": "CryptoManagerKmip_MarkDefault",
        "description": "Set the default KMIP cluster.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkDefaultRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/QueryCryptoKeyStatus": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Check CryptoKey status, such as if VC can access the key, if the key is\nused by some VMs or as host key.\n",
        "operationId": "CryptoManagerKmip_QueryCryptoKeyStatus",
        "description": "Check CryptoKey status, such as if VC can access the key, if the key is\nused by some VMs or as host key.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryCryptoKeyStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The structure combined with key status. If bit in parameter\nis not set when invoke, the returned data in related\nCryptoKeyStatus will be unknown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoManagerKmipCryptoKeyStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RegisterKmipServer": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Register a KMIP server.\n",
        "operationId": "CryptoManagerKmip_RegisterKmipServer",
        "description": "Register a KMIP server.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterKmipServerRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RegisterKmsCluster": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Register the specified KMS cluster to the CryptoManager.\n",
        "operationId": "CryptoManagerKmip_RegisterKmsCluster",
        "description": "Register the specified KMS cluster to the CryptoManager.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterKmsClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RemoveKey": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Remove a key (only the UUID is needed to remove).\n",
        "operationId": "CryptoManagerKmip_RemoveKey",
        "description": "Remove a key (only the UUID is needed to remove).\n\nIf \"force\" is set, removal will happen even if the key is in use.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: in case the keyID is not found\nand \"force\" is false.\n\n***ResourceInUse***: if the key is used to encrypt any object\nand \"force\" is false.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceInUse"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RemoveKeys": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Remove multiple keys (only the UUID is needed to remove).\n",
        "operationId": "CryptoManagerKmip_RemoveKeys",
        "description": "Remove multiple keys (only the UUID is needed to remove).\n\nIf \"force\" is set, removal will happen even if they are in use.\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoKeyResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RemoveKmipServer": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Remove a KMIP server, even if in use.\n",
        "operationId": "CryptoManagerKmip_RemoveKmipServer",
        "description": "Remove a KMIP server, even if in use.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKmipServerRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RetrieveClientCert": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Get the client certificate of the KMIP cluster.\n",
        "operationId": "CryptoManagerKmip_RetrieveClientCert",
        "description": "Get the client certificate of the KMIP cluster.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveClientCertRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The client certificate.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RetrieveClientCsr": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Get the generated client certificate signing request.\n",
        "operationId": "CryptoManagerKmip_RetrieveClientCsr",
        "description": "Get the generated client certificate signing request.\n\nIf *CryptoManagerKmip.GenerateClientCsr* is called previously, this will return\nthe generated certificate signing request; otherwise return empty string.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveClientCsrRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The CSR generated previously, if any.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RetrieveKmipServerCert": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Get the server certficate.\n",
        "operationId": "CryptoManagerKmip_RetrieveKmipServerCert",
        "description": "Get the server certficate.\n\nIn the case of error, an empty\ncertificate string is returned.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveKmipServerCertRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Information about the server certificate.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoManagerKmipServerCertInfo"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RetrieveKmipServersStatus_Task": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Get the status of the KMIP servers.\n",
        "operationId": "CryptoManagerKmip_RetrieveKmipServersStatus_Task",
        "description": "Get the status of the KMIP servers.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveKmipServersStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/RetrieveSelfSignedClientCert": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Get the generated self signed client certificate.\n",
        "operationId": "CryptoManagerKmip_RetrieveSelfSignedClientCert",
        "description": "Get the generated self signed client certificate.\n\nIf *CryptoManagerKmip.GenerateSelfSignedClientCert* is called previously, this\nwill return the generated certificate; otherwise return empty string.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveSelfSignedClientCertRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The self signed certificate generated previously, if any.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/SetDefaultKmsCluster": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Set the default KMS cluster for the specified managed entity.\n",
        "operationId": "CryptoManagerKmip_SetDefaultKmsCluster",
        "description": "Set the default KMS cluster for the specified managed entity.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDefaultKmsClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/SetKeyCustomAttributes": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Set crypto key's custom attributes.\n",
        "operationId": "CryptoManagerKmip_SetKeyCustomAttributes",
        "description": "Set crypto key's custom attributes.\n\n***Since:*** vSphere API Release 8.0.1.0\n\n***Required privileges:*** Cryptographer.ManageKeys\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetKeyCustomAttributesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The structure combined with status and fail reason.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoKeyResult"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/UnregisterKmsCluster": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Unregister the specified KMS cluster from the CryptoManager.\n",
        "operationId": "CryptoManagerKmip_UnregisterKmsCluster",
        "description": "Unregister the specified KMS cluster from the CryptoManager.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnregisterKmsClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/UpdateKmipServer": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Update a KMIP server.\n",
        "operationId": "CryptoManagerKmip_UpdateKmipServer",
        "description": "Update a KMIP server.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateKmipServerRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/UpdateKmsSignedCsrClientCert": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Set KMS server signed certificate as KMIP client certificate for the KMS\ncluster.\n",
        "operationId": "CryptoManagerKmip_UpdateKmsSignedCsrClientCert",
        "description": "Set KMS server signed certificate as KMIP client certificate for the KMS\ncluster.\n\nThis method should be called to update the certificate signed by KMS\nserver from a CSR that is generated by calling *CryptoManagerKmip.GenerateClientCsr*.\nIf *CryptoManagerKmip.GenerateClientCsr* is called more than once, the CSR that is\ngenerated last time should be used; otherwise the certificate will be\nrejected because the private key from last time won't match the public\nkey in the certificate.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateKmsSignedCsrClientCertRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/UpdateSelfSignedClientCert": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Set a self-signed certificate as KMIP client certificate for the KMS\ncluster.\n",
        "operationId": "CryptoManagerKmip_UpdateSelfSignedClientCert",
        "description": "Set a self-signed certificate as KMIP client certificate for the KMS\ncluster.\n\nThis method should be called to update the certificate which is generated\nby calling *CryptoManagerKmip.GenerateSelfSignedClientCert*. If\n*CryptoManagerKmip.GenerateSelfSignedClientCert* is called more than once, the self\nsigned certificate that is generated last time should be used; otherwise\nthe certificate will be rejected because the private key from last time\nwon't match the public key in the certificate.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSelfSignedClientCertRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/UploadClientCert": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Set a client certificate with private key for the KMIP cluster.\n",
        "operationId": "CryptoManagerKmip_UploadClientCert",
        "description": "Set a client certificate with private key for the KMIP cluster.\n\nThe certificate and private key can be assigned by a KMS server and the\ncertificate might be already trusted by the KMS server.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadClientCertRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/UploadKmipServerCert": {
      "post": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Upload a server certficate.\n",
        "operationId": "CryptoManagerKmip_UploadKmipServerCert",
        "description": "Upload a server certficate.\n\n***Required privileges:*** Cryptographer.ManageKeyServers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadKmipServerCertRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/enabled": {
      "get": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "Indicate if the encryption feature is enabled.\n",
        "operationId": "CryptoManagerKmip_getEnabled",
        "description": "Indicate if the encryption feature is enabled.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/CryptoManagerKmip/{moId}/kmipServers": {
      "get": {
        "tags": [
          "CryptoManagerKmip"
        ],
        "summary": "A list of registered KMIP servers, grouped by clusters.\n",
        "operationId": "CryptoManagerKmip_getKmipServers",
        "description": "A list of registered KMIP servers, grouped by clusters.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KmipClusterInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CustomFieldsManager/{moId}/AddCustomFieldDef": {
      "post": {
        "tags": [
          "CustomFieldsManager"
        ],
        "summary": "Creates a new custom field.\n",
        "operationId": "CustomFieldsManager_AddCustomFieldDef",
        "description": "Creates a new custom field.\n\nIf the moType is specified, the\nfield will only be available for that type of managed object.\n\n***Required privileges:*** Global.ManageCustomFields\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddCustomFieldDefRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldDef"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if a custom field with the name already exists.\n\n***InvalidPrivilege***: if a specified privilege is not defined.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CustomFieldsManager/{moId}/RemoveCustomFieldDef": {
      "post": {
        "tags": [
          "CustomFieldsManager"
        ],
        "summary": "Removes a custom field.\n",
        "operationId": "CustomFieldsManager_RemoveCustomFieldDef",
        "description": "Removes a custom field.\n\nThis also removes all values assigned\nto this custom field.\n\n***Required privileges:*** Global.ManageCustomFields\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveCustomFieldDefRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CustomFieldsManager/{moId}/RenameCustomFieldDef": {
      "post": {
        "tags": [
          "CustomFieldsManager"
        ],
        "summary": "Renames a custom field.\n",
        "operationId": "CustomFieldsManager_RenameCustomFieldDef",
        "description": "Renames a custom field.\n\n***Required privileges:*** Global.ManageCustomFields\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameCustomFieldDefRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if no custom field with that key exists.\n\n***DuplicateName***: if a custom field with the name already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DuplicateName"
                }
              }
            }
          }
        }
      }
    },
    "/CustomFieldsManager/{moId}/SetField": {
      "post": {
        "tags": [
          "CustomFieldsManager"
        ],
        "summary": "Assigns a value to a custom field on an entity.\n",
        "operationId": "CustomFieldsManager_SetField",
        "description": "Assigns a value to a custom field on an entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetFieldRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/CustomFieldsManager/{moId}/field": {
      "get": {
        "tags": [
          "CustomFieldsManager"
        ],
        "summary": "List of custom fields defined on this server.\n",
        "operationId": "CustomFieldsManager_getField",
        "description": "List of custom fields defined on this server.\n\nThe fields are\nsorted by name.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/CheckCustomizationResources": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Validate that required resources are available on the server to customize a\nparticular guest operating system.\n",
        "operationId": "CustomizationSpecManager_CheckCustomizationResources",
        "description": "Validate that required resources are available on the server to customize a\nparticular guest operating system.\n\nThese would include sysprep for Windows\nand the debugfs and changefs volume editors for Linux guests.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckCustomizationResourcesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***MissingLinuxCustResources***: \n\n***MissingWindowsCustResources***: \n\n***UncustomizableGuest***:\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizationFault"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/CreateCustomizationSpec": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Creates a new specification.\n",
        "operationId": "CustomizationSpecManager_CreateCustomizationSpec",
        "description": "Creates a new specification.\n\n***Required privileges:*** VirtualMachine.Provisioning.ModifyCustSpecs\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomizationSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: \n\n***CannotDecryptPasswords***:\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/DeleteCustomizationSpec": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Deletes a specification.\n",
        "operationId": "CustomizationSpecManager_DeleteCustomizationSpec",
        "description": "Deletes a specification.\n\n***Required privileges:*** VirtualMachine.Provisioning.ModifyCustSpecs\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteCustomizationSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***:\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/DuplicateCustomizationSpec": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Duplicates a specification.\n",
        "operationId": "CustomizationSpecManager_DuplicateCustomizationSpec",
        "description": "Duplicates a specification.\n\n***Required privileges:*** VirtualMachine.Provisioning.ModifyCustSpecs\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateCustomizationSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: \n\n***AlreadyExists***:\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/DoesCustomizationSpecExist": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Whether or not a specification exists.\n",
        "operationId": "CustomizationSpecManager_DoesCustomizationSpecExist",
        "description": "Whether or not a specification exists.\n\n***Required privileges:*** VirtualMachine.Provisioning.ReadCustSpecs\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DoesCustomizationSpecExistRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/GetCustomizationSpec": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Obtains a specification for the given name.\n",
        "operationId": "CustomizationSpecManager_GetCustomizationSpec",
        "description": "Obtains a specification for the given name.\n\n***Required privileges:*** VirtualMachine.Provisioning.ReadCustSpecs\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetCustomizationSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizationSpecItem"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***:\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/OverwriteCustomizationSpec": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Overwrites an existing specification, possibly after retrieving\n(by using 'get') and editing it.\n",
        "operationId": "CustomizationSpecManager_OverwriteCustomizationSpec",
        "description": "Overwrites an existing specification, possibly after retrieving\n(by using 'get') and editing it.\n\nIf, based on the item's changeVersion\nvalue, the overwrite process detects that the specification has changed\nsince its retrieval, then the API uses the SpecModified exception to\nwarn clients that they might overwrite another client's change.\n\n***Required privileges:*** VirtualMachine.Provisioning.ModifyCustSpecs\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OverwriteCustomizationSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: \n\n***ConcurrentAccess***: \n\n***CannotDecryptPasswords***:\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/RenameCustomizationSpec": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Renames a specification.\n",
        "operationId": "CustomizationSpecManager_RenameCustomizationSpec",
        "description": "Renames a specification.\n\n***Required privileges:*** VirtualMachine.Provisioning.ModifyCustSpecs\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameCustomizationSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: \n\n***AlreadyExists***:\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/CustomizationSpecItemToXml": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Converts a specification item to XML text\n",
        "operationId": "CustomizationSpecManager_CustomizationSpecItemToXml",
        "description": "Converts a specification item to XML text\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomizationSpecItemToXmlRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/XmlToCustomizationSpecItem": {
      "post": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Converts an XML string to a specification item\n",
        "operationId": "CustomizationSpecManager_XmlToCustomizationSpecItem",
        "description": "Converts an XML string to a specification item\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/XmlToCustomizationSpecItemRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizationSpecItem"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizationFault"
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/encryptionKey": {
      "get": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Gets a binary public encryption key that can be used to encrypt\npasswords in stored specifications.\n",
        "operationId": "CustomizationSpecManager_getEncryptionKey",
        "description": "Gets a binary public encryption key that can be used to encrypt\npasswords in stored specifications.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": -128,
                    "maximum": 127
                  }
                }
              }
            }
          }
        }
      }
    },
    "/CustomizationSpecManager/{moId}/info": {
      "get": {
        "tags": [
          "CustomizationSpecManager"
        ],
        "summary": "Gets a list of information on available specifications.\n",
        "operationId": "CustomizationSpecManager_getInfo",
        "description": "Gets a list of information on available specifications.\n\n***Required privileges:*** VirtualMachine.Provisioning.ReadCustSpecs\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomizationSpecInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/BatchQueryConnectInfo": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "This interface returns a list of information about the specified hosts\nwithout adding them to the vCenter inventory.\n",
        "operationId": "Datacenter_BatchQueryConnectInfo",
        "description": "This interface returns a list of information about the specified hosts\nwithout adding them to the vCenter inventory.\n\nIt does so by calling\n*Datacenter.QueryConnectionInfoViaSpec*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchQueryConnectInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DatacenterBasicConnectInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "Datacenter_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** Datacenter.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/PowerOnMultiVM_Task": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Powers on multiple virtual machines in a data center.\n",
        "operationId": "Datacenter_PowerOnMultiVM_Task",
        "description": "Powers on multiple virtual machines in a data center.\n\nIf the virtual\nmachines are suspended, this method resumes execution from the suspend\npoint.\nThe virtual machines can belong to different clusters in the data center.\n\nIf any virtual machine in the list is manually managed by DRS, or DRS\nhas to migrate any manually managed virtual machine or power on any manually\nmanaged host in order to power on these virtual machines, a DRS recommendation\nwill be generated, and the users need to manually apply the recommendation\nfor actually powering on these virtual machines.\nOtherwise, all the virtual machine will be automatically powered on. The\nvirtual machines on stand alone hosts or DRS disabled will be powered-on\non the current host. The DRS automatically managed virtual machines will\nbe powered-on on the recommended hosts.\n\nWhen powering on a virtual machine in a cluster, the system\nmight do an implicit relocation of the virtual machine to\nanother host.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PowerOnMultiVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation, and also a *ClusterPowerOnVmResult* object.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/queryDatacenterConfigOptionDescriptor": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "The list of possible choices for\n*DatacenterConfigSpec.defaultHardwareVersionKey*.\n",
        "operationId": "Datacenter_queryDatacenterConfigOptionDescriptor",
        "description": "The list of possible choices for\n*DatacenterConfigSpec.defaultHardwareVersionKey*.\n\nDescriptors returned by the vCenter implementation do not have\n*VirtualMachineConfigOptionDescriptor.host* field populated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualMachineConfigOptionDescriptor"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/QueryConnectionInfo": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "This method provides a way of getting basic information about a host without\nadding it to a datacenter.\n",
        "operationId": "Datacenter_QueryConnectionInfo",
        "description": "This method provides a way of getting basic information about a host without\nadding it to a datacenter.\n\nConnection wizards typically use this method to show\ninformation about a host so a user can confirm a set of changes before applying\nthem.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryConnectionInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConnectInfo"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if called directly on a host.\n\n***NoHost***: if unable to contact the host.\n\n***InvalidLogin***: if unable to authenticate with the host.\n\n***NotSupportedHost***: if the software version on the host is not supported.\n\n***AlreadyConnected***: if the host is already being managed by this server.\n\n***HostConnectFault***: if an error occurred when querying about a host.\nTypically, a more specific subclass, such as AlreadyBeingManaged,\nis thrown.\n\n***SSLDisabledFault***: if the host has SSL access disabled\n\n***SSLVerifyFault***: if the host certificate could not be authenticated\n\n***InvalidArgument***: if both arguments `sslThumbprint`\nand `sslCertificate` are set, or if only the `sslThumbprint`\nargument is set, but the SHA-1 hashing algorithm is currently disabled\nfor computing certificate thumbprints.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/QueryConnectionInfoViaSpec": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "This method provides a way of getting basic information about a host\nwithout adding it to a datacenter.\n",
        "operationId": "Datacenter_QueryConnectionInfoViaSpec",
        "description": "This method provides a way of getting basic information about a host\nwithout adding it to a datacenter.\n\nThis method is similar to\n*Datacenter.QueryConnectionInfo*, but it takes a *HostConnectSpec*\nas argument, instead of list of parameters.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryConnectionInfoViaSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConnectInfo"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the spec argument does not provide values for\nall needed connection parameters.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/ReconfigureDatacenter_Task": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Change the datacenter configuration.\n",
        "operationId": "Datacenter_ReconfigureDatacenter_Task",
        "description": "Change the datacenter configuration.\n\n***Required privileges:*** Datacenter.Reconfigure\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureDatacenterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/Reload": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "Datacenter_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Datacenter/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "Datacenter_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** Datacenter.Rename\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "Datacenter_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Datacenter/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "Datacenter_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/availableField": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "Datacenter_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/configIssue": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "Datacenter_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/configStatus": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "Datacenter_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/configuration": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Configuration of the datacenter.\n",
        "operationId": "Datacenter_getConfiguration",
        "description": "Configuration of the datacenter.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatacenterConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/customValue": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Custom field values.\n",
        "operationId": "Datacenter_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/datastore": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "A collection of references to the datastore objects\navailable in this datacenter.\n",
        "operationId": "Datacenter_getDatastore",
        "description": "A collection of references to the datastore objects\navailable in this datacenter.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/datastoreFolder": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "A reference to the folder hierarchy that contains\nthe datastores for this datacenter.\n",
        "operationId": "Datacenter_getDatastoreFolder",
        "description": "A reference to the folder hierarchy that contains\nthe datastores for this datacenter.\n\nThis folder is guaranteed to exist.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Folder*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "Datacenter_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "Datacenter_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "Datacenter_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/hostFolder": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "A reference to the folder hierarchy that contains\nthe compute resources, including hosts and clusters, for this datacenter.\n",
        "operationId": "Datacenter_getHostFolder",
        "description": "A reference to the folder hierarchy that contains\nthe compute resources, including hosts and clusters, for this datacenter.\n\nThis folder is guaranteed to exist.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Folder*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/name": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "Datacenter_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/network": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "A collection of references to the network objects\navailable in this datacenter.\n",
        "operationId": "Datacenter_getNetwork",
        "description": "A collection of references to the network objects\navailable in this datacenter.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Network*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/networkFolder": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "A reference to the folder hierarchy that contains the network entities\nfor this datacenter.\n",
        "operationId": "Datacenter_getNetworkFolder",
        "description": "A reference to the folder hierarchy that contains the network entities\nfor this datacenter.\n\nThe folder can include *Network*,\n*DistributedVirtualSwitch*, and\n*DistributedVirtualPortgroup* objects.\n\nThis folder is guaranteed to exist.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Folder*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/overallStatus": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "Datacenter_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/parent": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "Datacenter_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/permission": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "Datacenter_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/recentTask": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "Datacenter_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/tag": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "Datacenter_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "Datacenter_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/value": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "Datacenter_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datacenter/{moId}/vmFolder": {
      "get": {
        "tags": [
          "Datacenter"
        ],
        "summary": "A reference to the folder hierarchy that contains *VirtualMachine*\nvirtual machine templates (identified by the *VirtualMachineConfigInfo.template*\nproperty, and *VirtualApp* objects for this datacenter.\n",
        "operationId": "Datacenter_getVmFolder",
        "description": "A reference to the folder hierarchy that contains *VirtualMachine*\nvirtual machine templates (identified by the *VirtualMachineConfigInfo.template*\nproperty, and *VirtualApp* objects for this datacenter.\n\nNote that a VirtualApp that is a child of a *ResourcePool*\nmay also be visible in this folder. VirtualApp objects can be nested,\nbut only the parent VirtualApp can be visible in the folder.\n\nThis folder is guaranteed to exist.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Folder*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "Datastore_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/DestroyDatastore": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Removes a datastore.\n",
        "operationId": "Datastore_DestroyDatastore",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5 do not use this method. This method throws\n*ResourceInUse*. Datastores are automatically\nremoved when no longer in use, so this method is unnecessary.\n\nRemoves a datastore.\n\nA datastore can be removed only if it is not currently used\nby any host or virtual machine.\n\n***Required privileges:*** Datastore.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ResourceInUse***: if one or more hosts or virtual machines are configured\nto use the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceInUse"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/DatastoreEnterMaintenanceMode": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Puts the datastore in maintenance mode.\n",
        "operationId": "Datastore_DatastoreEnterMaintenanceMode",
        "description": "Puts the datastore in maintenance mode.\n\nWhile this task is running and when the\ndatastore is in maintenance mode, no virtual machines can be powered on and no\nprovisioning operations can be performed on the datastore. Once the call\ncompletes, it is safe to remove datastore without disrupting any virtual machines.\n\nThe task completes once there are no virtual machines on the datastore\nand no provisioning operations in progress on the datastore. The operation does not\ndirectly initiate any operations to evacuate or power-down powered-on virtual machines.\nHowever, if the datastore is part of a storage pod with VMware Storage DRS enabled,\nStorage DRS provides migration recommendations to evacuate the virtual\nmachines. If Storage DRS is in fully-automatic mode, these are automatically scheduled.\nThe task is cancellable.\nThis method returns a *StoragePlacementResult* object, which includes\na *Task* object with which to monitor the operation, and a list of recommendations\nand faults generated by Storage DRS when it tries to evacuate the virtual machines\non the datastore. The recommendations and faults fields are set only if the datastore is\na part of a storage pod with Storage DRS enabled.\n\n***Required privileges:*** Datastore.Config\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoragePlacementResult"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the datastore is already in maintenance mode.\n\n***RequestCanceled***: if the operation is canceled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/DatastoreExitMaintenanceMode_Task": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Takes the datastore out of maintenance mode.\n",
        "operationId": "Datastore_DatastoreExitMaintenanceMode_Task",
        "description": "Takes the datastore out of maintenance mode.\n\nThe task is cancellable.\n\n***Required privileges:*** Datastore.Config\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the datastore is not in maintenance mode.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/IsClusteredVmdkEnabled": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Check whether clustered VMDK feature is enabled on this datastore.\n",
        "operationId": "Datastore_IsClusteredVmdkEnabled",
        "description": "Check whether clustered VMDK feature is enabled on this datastore.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "true if clustered VMDK feature is enabled. false otherwise.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: if the given datastore is not valid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidDatastore"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/RefreshDatastore": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Explicitly refreshes free-space and capacity values in *Datastore.summary*\nand *Datastore.info*.\n",
        "operationId": "Datastore_RefreshDatastore",
        "description": "Explicitly refreshes free-space and capacity values in *Datastore.summary*\nand *Datastore.info*.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the datastore or its underlying volume is not found.\n\n***HostConfigFault***: if unable to get the current system information\nfor the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/RefreshDatastoreStorageInfo": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Refreshes all storage related information including free-space, capacity,\nand detailed usage of virtual machines.\n",
        "operationId": "Datastore_RefreshDatastoreStorageInfo",
        "description": "Refreshes all storage related information including free-space, capacity,\nand detailed usage of virtual machines.\n\nUpdated values are available\nin *Datastore.summary* and *Datastore.info*.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Datastore/{moId}/Reload": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "Datastore_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Datastore/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "Datastore_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** Datastore.Rename\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/RenameDatastore": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Renames a datastore.\n",
        "operationId": "Datastore_RenameDatastore",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use *ManagedEntity.Rename_Task*.\n\nRenames a datastore.\n\n***Required privileges:*** Datastore.Rename\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DuplicateName***: if another datastore in this datacenter already\nhas the same name.\n\n***InvalidName***: if the name is not a valid datastore name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "Datastore_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Datastore/{moId}/UpdateVVolVirtualMachineFiles_Task": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Scan a VVol storage container to update file paths and objectID pointers\nembedded in virtual machine files on a given storage container.\n",
        "operationId": "Datastore_UpdateVVolVirtualMachineFiles_Task",
        "description": "Scan a VVol storage container to update file paths and objectID pointers\nembedded in virtual machine files on a given storage container.\n\n***Required privileges:*** Datastore.UpdateVirtualMachineFiles\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVVolVirtualMachineFilesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. The *TaskInfo.result* property in the\n*Task* contains a\n*VVolVmConfigFileUpdateResult* object, which\nprovides a list of successfully updated virtual machine\nconfig files and a list of virtual machine config files\nthat failed to update, for all virtual machine config files\nfailed over onto the VVol storage container from the source\ncontainers in the failover pair.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if all hosts attached to this datastore do not\nsupport updating VVol Virtual Machine Files.\n\n***PlatformConfigFault***: if any error related to platform\noccurs during the operation.\n\n***TaskInProgress***: if the datastore is busy, for example, while\nanother task is updating the datastore.\n\n***InvalidDatastore***: if the operation cannot be performed due to\nsome error with the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/UpdateVirtualMachineFiles_Task": {
      "post": {
        "tags": [
          "Datastore"
        ],
        "summary": "Update file paths embedded in virtual machine files on the datastore.\n",
        "operationId": "Datastore_UpdateVirtualMachineFiles_Task",
        "description": "Update file paths embedded in virtual machine files on the datastore.\n\nThis can be called after the file system corresponding to the datastore\nhas been resignatured or remounted. Any MountPathDatastorePairs\nwhere the new path is the same as the original file path will be ignored.\n\nThis method is only supported by vCenter server. Also, this method requires\nthat the datastore is *accessible* from\nat least one host (ESX version 4.1 or above) in vCenter server.\n\nWhile this operation is in progress, it is important that users do not\ninitiate any operations that might read or write to any files on the\ndatastore, such as registering a virtual machine with files residing\non the datastore, or performing any virtual disk operations on any files\nin the datastore. These operations can potentially cause spurious file\nupdate failures, while at the same time they can prevent virtual machine\nfiles from being updated correctly.\n\nIf users intend to update multiple datastores using this method, it is\nstrongly advised that the users do not initiate any operations that\nmight read or write to files on any of the datastores, until all of\nthem have been updated. The files of a single virtual machine can\nreside on multiple datastores, and thus all the involved datastores\nshould be updated, before the virtual machine is considered updated\ncompletely.\n\n***Required privileges:*** Datastore.UpdateVirtualMachineFiles\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVirtualMachineFilesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *TaskInfo.result* property in the\n*Task* contains an *UpdateVirtualMachineFilesResult*\nobject, upon success, which is a list of virtual machines files the\nserver has attempted to update but failed to update. When there are too\nmany failed files, only a subset of failed files will be returned.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if old mount path is mapped to more than one datastores,\nor if any of the datastore being mapped can not be found.\n\n***NotSupported***: if all hosts attached to this datastore do not support\nupdating virtual machine files.\n\n***ResourceInUse***: if there exists a registered virtual machine in the volume.\n\n***PlatformConfigFault***: if any error related to platform\noccurs during the operation.\n\n***TaskInProgress***: if the datastore is busy, for example, while another task\nis updating the datastore after volume resignaturing\nor remounting.\n\n***InvalidDatastore***: if the operation cannot be performed due to some error\nwith the datastore; typically a specific subclass\nof the fault is reported.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "Datastore_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/availableField": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "Datastore_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/browser": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "DatastoreBrowser used to browse this datastore.\n",
        "operationId": "Datastore_getBrowser",
        "description": "DatastoreBrowser used to browse this datastore.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *HostDatastoreBrowser*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/capability": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Capabilities of this datastore.\n",
        "operationId": "Datastore_getCapability",
        "description": "Capabilities of this datastore.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatastoreCapability"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/configIssue": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "Datastore_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/configStatus": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "Datastore_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/customValue": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Custom field values.\n",
        "operationId": "Datastore_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "Datastore_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "Datastore_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "Datastore_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/host": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Hosts attached to this datastore.\n",
        "operationId": "Datastore_getHost",
        "description": "Hosts attached to this datastore.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DatastoreHostMount"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/info": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Specific information about the datastore.\n",
        "operationId": "Datastore_getInfo",
        "description": "Specific information about the datastore.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatastoreInfo"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/iormConfiguration": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Configuration of storage I/O resource management for the datastore.\n",
        "operationId": "Datastore_getIormConfiguration",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nConfiguration of storage I/O resource management for the datastore.\n\nCurrently we only support storage I/O resource management on VMFS volumes\nof a datastore.\n\nThis configuration may not be available if the datastore is not accessible\nfrom any host, or if the datastore does not have VMFS volume.\nThe configuration can be modified using the method\n*StorageResourceManager.ConfigureDatastoreIORM_Task*\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/StorageIORMInfo"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/name": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "Datastore_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/overallStatus": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "Datastore_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/parent": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "Datastore_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/permission": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "Datastore_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/recentTask": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "Datastore_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/summary": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Global properties of the datastore.\n",
        "operationId": "Datastore_getSummary",
        "description": "Global properties of the datastore.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatastoreSummary"
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/tag": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "Datastore_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "Datastore_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/value": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "Datastore_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Datastore/{moId}/vm": {
      "get": {
        "tags": [
          "Datastore"
        ],
        "summary": "Virtual machines stored on this datastore.\n",
        "operationId": "Datastore_getVm",
        "description": "Virtual machines stored on this datastore.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *VirtualMachine*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DatastoreNamespaceManager/{moId}/ConvertNamespacePathToUuidPath": {
      "post": {
        "tags": [
          "DatastoreNamespaceManager"
        ],
        "summary": "Convert the namespace path to the namespace UUID path.\n",
        "operationId": "DatastoreNamespaceManager_ConvertNamespacePathToUuidPath",
        "description": "Convert the namespace path to the namespace UUID path.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertNamespacePathToUuidPathRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the URL path with namespace object UUID, of the form\n> \\[ds://\\]/vmfs/volumes/\\[_datastore-uuid_\\]/\\[_directory-uuid_\\]/...\n>\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: if the given datastore is not supported by\nthe DatastoreNamespaceManager\n\n***InvalidDatastorePath***: if the given path is not a top-level\ndirectory\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidDatastore"
                }
              }
            }
          }
        }
      }
    },
    "/DatastoreNamespaceManager/{moId}/CreateDirectory": {
      "post": {
        "tags": [
          "DatastoreNamespaceManager"
        ],
        "summary": "Creates a top-level directory on the given datastore, using the given\nuser display name hint and opaque storage policy.\n",
        "operationId": "DatastoreNamespaceManager_CreateDirectory",
        "description": "Creates a top-level directory on the given datastore, using the given\nuser display name hint and opaque storage policy.\n\nThe optional given display name hint may be used by the underlying\nstorage system for user display purposes, but it may not be relied\nupon for future directory references.\n\nClients must use the returned stable path for future directory\nreferences.\n\nSee also *DatastoreNamespaceManager.DeleteDirectory*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDirectoryRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "a stable vmfs path which may be used for future\nreference of the created directory, of the form\n> /vmfs/volumes/\\[_datastore-uuid_\\]/\\[_directory-uuid_\\]\n>\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***CannotCreateFile***: if a general system error occurred while creating\ndirectory on the datastore\n\n***FileAlreadyExists***: if the given directory already exists\n\n***InvalidDatastore***: if the given datastore is not supported by\nthe DatastoreNamespaceManage\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DatastoreNamespaceManager/{moId}/DeleteDirectory": {
      "post": {
        "tags": [
          "DatastoreNamespaceManager"
        ],
        "summary": "Deletes the given top-level directory from a datastore.\n",
        "operationId": "DatastoreNamespaceManager_DeleteDirectory",
        "description": "Deletes the given top-level directory from a datastore.\n\nThe top-level directory must be a full path of the form\n> /vmfs/volumes/\\[_datastore-uuid_\\]/\\[_directory-uuid_\\]\n> \n\nas returned by\n*DatastoreNamespaceManager.CreateDirectory*.\n\nRequires Datastore.Config privilege on the datastore.\n\nSee also *DatastoreNamespaceManager.CreateDirectory*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteDirectoryRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***FileNotFound***: if the given directory can not be found\n\n***FileFault***: if a generic system error happened.\n\n***InvalidDatastore***: if the given datastore is not supported by\nthe DatastoreNamespaceManager\n\n***InvalidDatastorePath***: if the given path is not a top-level directory\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DatastoreNamespaceManager/{moId}/IncreaseDirectorySize": {
      "post": {
        "tags": [
          "DatastoreNamespaceManager"
        ],
        "summary": "Increase size of the given top-level directory to the given size on\nvSAN backed object storage.\n",
        "operationId": "DatastoreNamespaceManager_IncreaseDirectorySize",
        "description": "Increase size of the given top-level directory to the given size on\nvSAN backed object storage.\n\nThe top-level directory must be a full path in the form\n> /vmfs/volumes/\\[_datastore-uuid_\\]/\\[_directory-uuid_\\]\n> \n\nas returned by\n*DatastoreNamespaceManager.CreateDirectory*.\n\nRequires Datastore.Config privilege on the datastore.\n\nSee also *DatastoreNamespaceManager.CreateDirectory*.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IncreaseDirectorySizeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***FileFault***: if a generic system error happened\n\n***FileNotFound***: if the given directory can not be found\n\n***InvalidDatastore***: if the given datastore is not supported by\nthe DatastoreNamespaceManager\n\n***NotSupported***: if resize is not supported on the directory\n\n***InvalidArgument***: if passed size is not valid\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/DatastoreNamespaceManager/{moId}/QueryDirectoryInfo": {
      "post": {
        "tags": [
          "DatastoreNamespaceManager"
        ],
        "summary": "Query directory information of the given top-level directory on vSAN\nbacked object storage.\n",
        "operationId": "DatastoreNamespaceManager_QueryDirectoryInfo",
        "description": "Query directory information of the given top-level directory on vSAN\nbacked object storage.\n\nThe top-level directory must be a full path in the form\n> /vmfs/volumes/\\[_datastore-uuid_\\]/\\[_directory-uuid_\\]\n> \n\nas returned by\n*DatastoreNamespaceManager.CreateDirectory*.\n\nSee also *DatastoreNamespaceManager.CreateDirectory*.\n\n***Since:*** vSphere API Release 8.0.1.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDirectoryInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "directory information defined by *DatastoreNamespaceManagerDirectoryInfo*\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatastoreNamespaceManagerDirectoryInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if a generic system error happened\n\n***FileNotFound***: if the given directory can not be found\n\n***InvalidDatastore***: if the given datastore is not supported by\nthe DatastoreNamespaceManager\n\n***NotSupported***: if query is not supported on the directory\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/DiagnosticManager/{moId}/EmitSyslogMark": {
      "post": {
        "tags": [
          "DiagnosticManager"
        ],
        "summary": "Issue a \"mark\" to syslog and the audit trail.\n",
        "operationId": "DiagnosticManager_EmitSyslogMark",
        "description": "Issue a \"mark\" to syslog and the audit trail.\n\nThe specified message string will be written to syslog and the audit\ntrail. The \"mark\" audit record will contain the message string in\nits comment parameter.\n\n***Since:*** vSphere API Release 8.0.0.2\n\n***Required privileges:*** Global.Diagnostics\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmitSyslogMarkRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/DiagnosticManager/{moId}/FetchAuditRecords": {
      "post": {
        "tags": [
          "DiagnosticManager"
        ],
        "summary": "Retrieve audit records from their storage on the specified host.\n",
        "operationId": "DiagnosticManager_FetchAuditRecords",
        "description": "Retrieve audit records from their storage on the specified host.\n\nAudit records are stored on the host in a (large) FIFO. The FIFO is\ncontinuously being written to due to system activities. It is the\nresponsibility of the caller to issue reads fast enough to keep ahead\nof the write traffic.\n\n***Since:*** vSphere API Release 7.0.3.0\n\n***Required privileges:*** Global.Diagnostics\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FetchAuditRecordsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiagnosticManagerAuditRecordResult"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: The reader has failed to keep up with the write\ndata rate. Data has been lost. It is up to the\ncaller to decide how to react to this. One\npossibility is to \"start again from the beginning\"\nwith a call with no token.\n\n***SystemError***: One more more errors (on the host) have occurred.\nOne or more error strings are available to detail\nthe issues.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/DiagnosticManager/{moId}/BrowseDiagnosticLog": {
      "post": {
        "tags": [
          "DiagnosticManager"
        ],
        "summary": "Returns part of a log file.\n",
        "operationId": "DiagnosticManager_BrowseDiagnosticLog",
        "description": "Returns part of a log file.\n\nLog entries are always returned chronologically, typically with the\nnewest event last.\n\n***Required privileges:*** Global.Diagnostics\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrowseDiagnosticLogRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A LogHeader that includes the log lines. Sometimes fewer log\nlines are returned than were requested. For example, fewer lines\nare returned than expected if the client requests lines that do\nnot exist or if the server limits the number of lines that it\nreturns. If zero lines are returned, then the end of the log\nfile may have been reached.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiagnosticManagerLogHeader"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the key refers to a nonexistent log file or\nthe log file is not of type \"plain\".\n\n***CannotAccessFile***: if the key refers to a file that cannot be\naccessed at the present time.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CannotAccessFile"
                }
              }
            }
          }
        }
      }
    },
    "/DiagnosticManager/{moId}/GenerateLogBundles_Task": {
      "post": {
        "tags": [
          "DiagnosticManager"
        ],
        "summary": "Instructs the server to generate diagnostic bundles.\n",
        "operationId": "DiagnosticManager_GenerateLogBundles_Task",
        "deprecated": true,
        "description": "Deprecated since version 5.0 M/N it is recommended to use the CGI\ninterface for the host bundles, use the address instead:\n`https://<<ESX_name>>/cgi-bin/vm-support.cgi`\nfor the VC bundles, use\n`https://<<VC_name>>/appliance/support-bundle`\n\nThe caller can download the bundles using an HTTP GET operation\nfor each returned URL. Bundles are usually available for at least 24\nhours, but the caller should not assume that the returned URLs are\nvalid indefinitely. Servers often automatically delete generated\ndiagnostic bundles after some given period of time.\n\nInstructs the server to generate diagnostic bundles.\n\nA diagnostic bundle includes log files and other configuration\ninformation that can be used to investigate potential server issues.\nVirtual machine and guest operation system state is excluded from\ndiagnostic bundles.\n\n***Required privileges:*** Global.Diagnostics\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateLogBundlesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation. Upon success, the\n*info.result* property in the\n*Task* contains a list of\n*DiagnosticManagerBundleInfo* objects for each\ndiagnostic bundle that has been generated.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***LogBundlingFailed***: if generation of support bundle failed.\n\n***TaskInProgress***: if there is a pending request to generate a\nsupport bundle.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DiagnosticManager/{moId}/QueryDescriptions": {
      "post": {
        "tags": [
          "DiagnosticManager"
        ],
        "summary": "Returns a list of diagnostic files for a given system.\n",
        "operationId": "DiagnosticManager_QueryDescriptions",
        "description": "Returns a list of diagnostic files for a given system.\n\n***Required privileges:*** Global.Diagnostics\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDescriptionsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiagnosticManagerLogDescriptor"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "DistributedVirtualPortgroup_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** DVPortgroup.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/DestroyNetwork": {
      "post": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Removes a network.\n",
        "operationId": "DistributedVirtualPortgroup_DestroyNetwork",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5 do not use this method. This method throws\n*ResourceInUse*. Networks are automatically\nremoved when no longer in use, so this method is unnecessary.\n\nRemoves a network.\n\nA network can be removed only if it is not used by any host or\nvirtual machine.\n\n***Required privileges:*** Network.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ResourceInUse***: if one or more hosts or virtual machines are configured\nto use the network.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceInUse"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/ReconfigureDVPortgroup_Task": {
      "post": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Reconfigures one or more distributed virtual portgroups.\n",
        "operationId": "DistributedVirtualPortgroup_ReconfigureDVPortgroup_Task",
        "description": "Reconfigures one or more distributed virtual portgroups.\n\nYou can use this method to set portgroup properties or\nto reset the portgroup to a previous state.\n\n**Reconfiguring a Standard Distributed Virtual Portgroup**\n\nTo reconfigure a *DistributedVirtualPortgroup*,\nuse a *DVPortgroupConfigSpec*\nto set the portgroup properties.\n\n**Reconfiguring a Portgroup Associated With a VMware Distributed Virtual Switch**\n\nIf you use a *VmwareDistributedVirtualSwitch*,\nyou can perform the following portgroup reconfiguration:\n- Use a *DVPortgroupConfigSpec*\n  to set the portgroup properties.\n- Use the *DVPortgroupConfigSpec*\n  returned by *DistributedVirtualPortgroup.DVPortgroupRollback_Task*\n  to reset the portgroup to a previous state.\n  \nThe following privileges are required to reconfigure a portgroup.\n- DVPortgroup.PolicyOp if you are changing the policy of the portgroup.\n- DVPortgroup.ScopeOp if you are changing the scope of the portgroup.\n- DVPortgroup.Modify for anything else.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureDVPortgroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DvsFault***: if spec is not valid.\n\n***NotSupported***: if the spec includes settings for any VDS feature\nthat is not supported on this switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*DVSConfigInfo.extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/Reload": {
      "post": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "DistributedVirtualPortgroup_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "DistributedVirtualPortgroup_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** DVPortgroup.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/DVPortgroupRollback_Task": {
      "post": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "This method determines if the portgroup configuration has changed.\n",
        "operationId": "DistributedVirtualPortgroup_DVPortgroupRollback_Task",
        "description": "This method determines if the portgroup configuration has changed.\n\nIf it has changed, the method returns a\n*DVPortgroupConfigSpec*.\nUse the *DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task* method\nto apply the rollback configuration to the portgroup. You can use the\nrollback method only on a portgroup that is associated with a\n*VmwareDistributedVirtualSwitch*.\n- If you specify the <code>entityBackup</code> parameter, the returned\n  configuration specification represents the exported portgroup configuration.\n  If the <code>entityBackup</code> matches the current portgroup\n  configuration, the method does not return a configuration specification.\n- If <code>entityBackup</code> is not specified, the returned configuration\n  specification represents a previous state of the portgroup, if available.\n  When you use a VMware distributed virtual switch, each time you reconfigure\n  the switch, the Server saves the switch configuration before applying the updates.\n  If the vCenter Server is restarted, the saved configuration is not preserved\n  and the method does not return a configuration specification.\n  \nTo use the rollback method, you must have the DVPortgroup.Read privilege.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DVPortgroupRollbackRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\nIf the distributed virtual portgroup configuration has changed, the\n*Task*.*Task.info*.*TaskInfo.result*\nproperty contains the *DVPortgroupConfigSpec* object.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***RollbackFailure***: if there is no configuration specified in entityBackup and\nthe previous configuration does not exist either\n\n***DvsFault***: if operation fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "DistributedVirtualPortgroup_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "DistributedVirtualPortgroup_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/availableField": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "DistributedVirtualPortgroup_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/config": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Configuration of the portgroup.\n",
        "operationId": "DistributedVirtualPortgroup_getConfig",
        "description": "Configuration of the portgroup.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DVPortgroupConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/configIssue": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "DistributedVirtualPortgroup_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/configStatus": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "DistributedVirtualPortgroup_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/customValue": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Custom field values.\n",
        "operationId": "DistributedVirtualPortgroup_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "DistributedVirtualPortgroup_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "DistributedVirtualPortgroup_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "DistributedVirtualPortgroup_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/host": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Hosts attached to this network.\n",
        "operationId": "DistributedVirtualPortgroup_getHost",
        "description": "Hosts attached to this network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/key": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Generated UUID of the portgroup.\n",
        "operationId": "DistributedVirtualPortgroup_getKey",
        "description": "Generated UUID of the portgroup.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/name": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "DistributedVirtualPortgroup_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/overallStatus": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "DistributedVirtualPortgroup_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/parent": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "DistributedVirtualPortgroup_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/permission": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "DistributedVirtualPortgroup_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/portKeys": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Port keys for the set of ports in the portgroup.\n",
        "operationId": "DistributedVirtualPortgroup_getPortKeys",
        "description": "Port keys for the set of ports in the portgroup.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/recentTask": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "DistributedVirtualPortgroup_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/summary": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Properties of a network.\n",
        "operationId": "DistributedVirtualPortgroup_getSummary",
        "description": "Properties of a network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkSummary"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/tag": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "DistributedVirtualPortgroup_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "DistributedVirtualPortgroup_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/value": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "DistributedVirtualPortgroup_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualPortgroup/{moId}/vm": {
      "get": {
        "tags": [
          "DistributedVirtualPortgroup"
        ],
        "summary": "Virtual machines using this network.\n",
        "operationId": "DistributedVirtualPortgroup_getVm",
        "description": "Virtual machines using this network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *VirtualMachine*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/AddNetworkResourcePool": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Add a network resource pool.\n",
        "operationId": "DistributedVirtualSwitch_AddNetworkResourcePool",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0\nUse *DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task* instead\nto add a Virtual NIC network resource pool.\n\nAdd a network resource pool.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddNetworkResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/CreateDVPortgroup_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Creates a single *DistributedVirtualPortgroup* and adds it\nto the distributed virtual switch.\n",
        "operationId": "DistributedVirtualSwitch_CreateDVPortgroup_Task",
        "description": "Creates a single *DistributedVirtualPortgroup* and adds it\nto the distributed virtual switch.\n\n***Required privileges:*** DVPortgroup.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDVPortgroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object. The\n*Task*.*Task.info*.*TaskInfo.result* property\ncontains a managed object reference to the new portgroup.\nThe *DistributedVirtualSwitch.portgroup* property also contains\nthe reference.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if a portgroup with the same name already exists\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***InvalidName***: if name of the portgroup is invalid\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/AddDVPortgroup_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Creates one or more *DistributedVirtualPortgroup*s and adds them to\nthe distributed virtual switch.\n",
        "operationId": "DistributedVirtualSwitch_AddDVPortgroup_Task",
        "description": "Creates one or more *DistributedVirtualPortgroup*s and adds them to\nthe distributed virtual switch.\n\n***Required privileges:*** DVPortgroup.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddDVPortgroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\nThe method does not return a value in the\n*Task*.*Task.info*.*TaskInfo.result* property.\nUse the *DistributedVirtualSwitch.portgroup* property to obtain\nmanaged object references to the new portgroups.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "DistributedVirtualSwitch_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** DVSwitch.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/EnableNetworkResourceManagement": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Enable/Disable network I/O control on the vSphere Distributed Switch.\n",
        "operationId": "DistributedVirtualSwitch_EnableNetworkResourceManagement",
        "description": "Enable/Disable network I/O control on the vSphere Distributed Switch.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableNetworkResourceManagementRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if the enabling/disabling fails.\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/FetchDVPortKeys": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Return the keys of ports that meet the criteria.\n",
        "operationId": "DistributedVirtualSwitch_FetchDVPortKeys",
        "description": "Return the keys of ports that meet the criteria.\n\nOn an ESXi host,\nthe property shows only the connected ports currently on the host.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FetchDVPortKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/FetchDVPorts": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Return the ports that meet the criteria.\n",
        "operationId": "DistributedVirtualSwitch_FetchDVPorts",
        "description": "Return the ports that meet the criteria.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FetchDVPortsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DistributedVirtualPort"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/LookupDvPortGroup": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Returns the portgroup identified by the key within this VDS.\n",
        "operationId": "DistributedVirtualSwitch_LookupDvPortGroup",
        "description": "Returns the portgroup identified by the key within this VDS.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LookupDvPortGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *DistributedVirtualPortgroup*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the portgroup for the specified key is not found.\n\n***NotSupported***: If the operation is not supported.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/MergeDvs_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Merge an existing DistributedVirtualSwitch (source) to this switch\n(destination).\n",
        "operationId": "DistributedVirtualSwitch_MergeDvs_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5.\n\nMerge an existing DistributedVirtualSwitch (source) to this switch\n(destination).\n\nThe host members and the connected entity of the source\nswitch will be transferred to the destination switch. This operation\ndisconnects the entities from the source switch, tears down its host\nproxy switches, creates new proxies for the destination switch,\nand reconnects the entities to the destination switch.\n\nIn summary, this operation does the following:\n- Adds the\n  <code>config</code>.*DVSConfigInfo.maxPorts*\n  of the source switch to the <code>maxPorts</code> of the\n  destination switch.\n- The host members of the source switch leave the source switch\n  and join the destination switch with the same Physical NIC and\n  VirtualSwitch (if applicable). A set of new uplink ports,\n  compliant with the\n  *DVSConfigSpec.uplinkPortPolicy*,\n  is created as the hosts join the destination switch.\n- The portgroups on the source switch are copied over to destination\n  switch, by calculating the effective default port config and\n  creating a portgroup of the same name in the destination switch. If\n  the name already exists, the copied portgroup uses names following a\n  \"Copy of switch-portgroup-name\" scheme to avoid conflict. The same\n  number of ports are created inside each copied portgroup.\n- The standalone distributed virtual ports are not copied,\n  unless there is a virtual\n  machine or host virtual NIC connecting to it. In that case, the\n  operation calculates the effective port config and creates a port\n  in the destination switch with the same name. Name conflict is\n  resolved using numbers like \"original-port-name(1)\". The uplink ports\n  are not copied over.\n- The virtual machine and host virtual NICs are disconnected from the source\n  switch and reconnected with the destination switch, to the\n  copied standalone port or portgroup.\n- If you are using a *VmwareDistributedVirtualSwitch* -\n  Unless the PVLAN map contains exactly the same entries between\n  the source and destination VMware distributed virtual switches,\n  the method raises a fault if\n  *VmwareDistributedVirtualSwitchPvlanSpec.pvlanId*\n  is set in any port, portgroup, or switch that will be copied.\n  \n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergeDvsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host.\n\n***ResourceInUse***: If failed to delete the source switch\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/MoveDVPort_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Move the ports out of their current portgroup into the specified portgroup.\n",
        "operationId": "DistributedVirtualSwitch_MoveDVPort_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nMove the ports out of their current portgroup into the specified portgroup.\n\nIf the moving of any of the ports results in a violation of the portgroup\npolicy, or type of the source or destination portgroup, the operation\nraises a fault. A conflict port cannot be moved.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveDVPortRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/PerformDvsProductSpecOperation_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "This method updates the *DistributedVirtualSwitch* product specifications.\n",
        "operationId": "DistributedVirtualSwitch_PerformDvsProductSpecOperation_Task",
        "description": "This method updates the *DistributedVirtualSwitch* product specifications.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PerformDvsProductSpecOperationRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/QueryUsedVlanIdInDvs": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Return the used VLAN ID (PVLAN excluded) in the switch.\n",
        "operationId": "DistributedVirtualSwitch_QueryUsedVlanIdInDvs",
        "description": "Return the used VLAN ID (PVLAN excluded) in the switch.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/ReconfigureDvs_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Reconfigures a distributed virtual switch.\n",
        "operationId": "DistributedVirtualSwitch_ReconfigureDvs_Task",
        "description": "Reconfigures a distributed virtual switch.\n\nYou can use this method\nto set switch properties or to reset the switch to a previous state.\n\n**Reconfiguring a Standard Distributed Virtual Switch**\n\nTo reconfigure a *DistributedVirtualSwitch*,\nuse a *DVSConfigSpec*\nto set the switch properties.\n\n**Reconfiguring a VMware Distributed Virtual Switch**\n\nIf you use a *VmwareDistributedVirtualSwitch*,\nyou can perform the following switch reconfiguration:\n- Use a *VMwareDVSConfigSpec*\n  to set the switch properties.\n- Use the *VMwareDVSConfigSpec*\n  returned by *DistributedVirtualSwitch.DVSRollback_Task*\n  to reset the switch to a previous state.\n  \nReconfiguring the switch may require any of the following privileges,\ndepending on what is being changed:\n- DVSwitch.PolicyOp if *DVSConfigSpec.policy*\n  is set.\n- DVSwitch.PortSetting if *DVSConfigSpec.defaultPortConfig*\n  is set.\n- DVSwitch.HostOp if *DVSConfigSpec.policy*\n  is set. The\n  user will also need the Host.Config.Network\n  privilege on the host.\n- DVSwitch.Vspan if *VMwareDVSConfigSpec.vspanConfigSpec*\n  is set.\n- DVSwitch.Modify for anything else.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureDvsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if called directly on a host or if the spec\nincludes settings for any vNetwork Distributed\nSwitch feature that is not supported on this\nswitch.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*DVSConfigInfo.extensionKey*.\n\n***ResourceNotAvailable***: If there is no port available in the portgroup\n\n***VspanPortConflict***: if dvPort is used as both the transmitted source and destination ports in Distributed Port Mirroring sessions.\n\n***VspanPromiscuousPortNotSupported***: if a promiscuous port is used as transmitted source or destination in the Distributed Port Mirroring sessions.\n\n***VspanSameSessionPortConflict***: if a dvPort is used as both the source and destination in the same Distributed Port Mirroring session.\n\n***VspanDestPortConflict***: if a dvPort is used as desination ports in multiple Distributed Port Mirroring sessions.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/ReconfigureDVPort_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Reconfigure individual ports.\n",
        "operationId": "DistributedVirtualSwitch_ReconfigureDVPort_Task",
        "description": "Reconfigure individual ports.\n\n***Required privileges:*** DVSwitch.PortConfig\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureDVPortRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host or if the switch\nimplementation doesn't support this API or if the spec\nincludes settings for any vSphere Distributed Switch\nfeature that is not supported on this switch.\n\n***InvalidArgument***: If the array have different elements for the\nsame port.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/DvsReconfigureVmVnicNetworkResourcePool_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "reconfigure the Virtual NIC network resource pool configuration.\n",
        "operationId": "DistributedVirtualSwitch_DvsReconfigureVmVnicNetworkResourcePool_Task",
        "description": "reconfigure the Virtual NIC network resource pool configuration.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DvsReconfigureVmVnicNetworkResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other reconfigure failures.\n\n***NotFound***: if the resource pool does not exist on the dvs.\n\n***DuplicateName***: if a virtual NIC network resource pool with the same name already exists.\n\n***ConcurrentAccess***: if a Virtual NIC network resource pool is modified by\ntwo or more clients at the same time.\n\n***ResourceInUse***: If Virtual NIC network resource pool being removed\nis associated with a network entity\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n\n***ConflictingConfiguration***: if the any property being set is in conflict.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/RectifyDvsHost_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Update the switch configuration on the host to bring them in sync with the\ncurrent configuration in vCenter Server.\n",
        "operationId": "DistributedVirtualSwitch_RectifyDvsHost_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0.\nUse\n*DistributedVirtualSwitchManager*.*DistributedVirtualSwitchManager.RectifyDvsOnHost_Task* instead.\n\nUpdate the switch configuration on the host to bring them in sync with the\ncurrent configuration in vCenter Server.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RectifyDvsHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/RefreshDVPortState": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Refresh port states.\n",
        "operationId": "DistributedVirtualSwitch_RefreshDVPortState",
        "description": "Refresh port states.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshDVPortStateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/Reload": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "DistributedVirtualSwitch_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/RemoveNetworkResourcePool": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Remove a network resource pool.\n",
        "operationId": "DistributedVirtualSwitch_RemoveNetworkResourcePool",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0\nUse *DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task* instead\nto remove a Virtual NIC network resource pool.\n\nRemove a network resource pool.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveNetworkResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***NotFound***: if the resource pool does not exist on the dvs.\n\n***InvalidName***: if the name of the resource pool is invalid.\n\n***ResourceInUse***: If network resource pool is associated with a network entity\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "DistributedVirtualSwitch_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/DVSRollback_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "This method determines if the distributed virtual switch configuration\nhas changed.\n",
        "operationId": "DistributedVirtualSwitch_DVSRollback_Task",
        "description": "This method determines if the distributed virtual switch configuration\nhas changed.\n\nIf it has changed, the method returns a\n*VMwareDVSConfigSpec*.\nUse the *DistributedVirtualSwitch.ReconfigureDvs_Task* method to apply\nthe rollback configuration to the switch.\nYou can use the rollback method only on a *VmwareDistributedVirtualSwitch*.\n- If you specify the <code>entityBackup</code> parameter, the returned\n  configuration specification represents the exported switch configuration.\n  If the <code>entityBackup</code> matches the current switch\n  configuration, the method does not return a configuration specification.\n- If <code>entityBackup</code> is not specified, the returned configuration\n  specification represents a previous state of the switch, if available.\n  When you use a VMware distributed virtual switch, each time you reconfigure\n  the switch, the Server saves the switch configuration before applying the updates.\n  If the vCenter Server is restarted, the saved configuration is not preserved\n  and the method does not return a configuration specification.\n  \nTo use the rollback method, you must have the DVSwitch.Read privilege.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DVSRollbackRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\nIf the distributed virtual switch configuration has changed, the\n*Task*.*Task.info*.*TaskInfo.result*\nproperty contains the *DVSConfigSpec* object.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***RollbackFailure***: if there is no configuration specified in entityBackup and\nthe previous configuration does not exist either.\n\n***DvsFault***: if operation fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "DistributedVirtualSwitch_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/UpdateDvsCapability": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Set the capability of the switch.\n",
        "operationId": "DistributedVirtualSwitch_UpdateDvsCapability",
        "description": "Set the capability of the switch.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDvsCapabilityRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host or if the switch\nimplementation doesn't support this API.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/UpdateDVSHealthCheckConfig_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Update health check configuration.\n",
        "operationId": "DistributedVirtualSwitch_UpdateDVSHealthCheckConfig_Task",
        "description": "Update health check configuration.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDVSHealthCheckConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***NotSupported***: if health check is not supported on the switch.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/UpdateNetworkResourcePool": {
      "post": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Update the network resource pool configuration.\n",
        "operationId": "DistributedVirtualSwitch_UpdateNetworkResourcePool",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0\nUse *DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task* instead\nto update the Virtual NIC network resource pool.\n\nUpdate the network resource pool configuration.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNetworkResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***NotFound***: if the resource pool does not exist on the dvs.\n\n***InvalidName***: if the name of the resource pool is invalid.\n\n***ConcurrentAccess***: if a network resource pool is modified by\ntwo or more clients at the same time.\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "DistributedVirtualSwitch_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/availableField": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "DistributedVirtualSwitch_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/capability": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Capability of the switch.\n",
        "operationId": "DistributedVirtualSwitch_getCapability",
        "description": "Capability of the switch.\n\nCapabilities are indicated at the port,\nportgroup and switch levels, and for version-specific features.\nWhen you retrieve this property from an ESXi host,\n*DistributedVirtualSwitch.capability*.*DVSCapability.dvsOperationSupported*\nshould always be set to false.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DVSCapability"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/config": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Switch configuration data.\n",
        "operationId": "DistributedVirtualSwitch_getConfig",
        "description": "Switch configuration data.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DVSConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/configIssue": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "DistributedVirtualSwitch_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/configStatus": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "DistributedVirtualSwitch_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/customValue": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Custom field values.\n",
        "operationId": "DistributedVirtualSwitch_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "DistributedVirtualSwitch_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "DistributedVirtualSwitch_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "DistributedVirtualSwitch_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/name": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "DistributedVirtualSwitch_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/networkResourcePool": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Network resource pool information for the switch.\n",
        "operationId": "DistributedVirtualSwitch_getNetworkResourcePool",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0\nUse *DVSConfigInfo.vmVnicNetworkResourcePool*\nto get the Virtual NIC resource pool information.\nUse *DVSConfigInfo.infrastructureTrafficResourceConfig*\nto get the host infrastructure resource information.\n\nNetwork resource pool information for the switch.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DVSNetworkResourcePool"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/overallStatus": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "DistributedVirtualSwitch_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/parent": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "DistributedVirtualSwitch_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/permission": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "DistributedVirtualSwitch_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/portgroup": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Portgroups that are defined on the switch.\n",
        "operationId": "DistributedVirtualSwitch_getPortgroup",
        "description": "Portgroups that are defined on the switch.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *DistributedVirtualPortgroup*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/recentTask": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "DistributedVirtualSwitch_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/runtime": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Runtime information of the distributed virtual switch.\n",
        "operationId": "DistributedVirtualSwitch_getRuntime",
        "description": "Runtime information of the distributed virtual switch.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/DVSRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/summary": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Summary of the switch.\n",
        "operationId": "DistributedVirtualSwitch_getSummary",
        "description": "Summary of the switch.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DVSSummary"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/tag": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "DistributedVirtualSwitch_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "DistributedVirtualSwitch_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/uuid": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "Generated UUID of the switch.\n",
        "operationId": "DistributedVirtualSwitch_getUuid",
        "description": "Generated UUID of the switch.\n\nUnique across vCenter Server\ninventory and instances.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitch/{moId}/value": {
      "get": {
        "tags": [
          "DistributedVirtualSwitch"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "DistributedVirtualSwitch_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QueryDvsCheckCompatibility": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation returns a list of compatibility results.\n",
        "operationId": "DistributedVirtualSwitchManager_QueryDvsCheckCompatibility",
        "description": "This operation returns a list of compatibility results.\n\nEach compatibility result\nis an object that has a host property and optionally a fault which would\nbe populated only if that host is not compatible with a given dvsProductSpec.\nAll filters in hostFilerSpecs are ANDed to derive the intersection of hosts against\nwhich compatibility is checked. If caller did not have view privileges on the\nhost entity in an element of the CompatibilityResult array, then that entire\nelement would be removed from the CompatibilityResult array.\nTypical uses:\n- For the createDVS situation, hostFilterSpec is of type HostDvsFilterSpec and DvsProductSpec\n  will have newSwitchProductSpec set.\n- For the Add-Host-To-DVS situation, you can use either HostDvsFilterSpec or\n  HostDvsMembershipFilter with inclusive being false, and pass the DVS in DvsProductSpec.\n- For the Upgrade-DVS situation, you can use either HostDvsFilterSpec or\n  HostDvsMembershipFilter with inclusive being true, and pass the new desired ProductSpec\n  for DVS in newSwitchProductSpec.\n  \n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDvsCheckCompatibilityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DistributedVirtualSwitchManagerCompatibilityResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/DVSManagerExportEntity_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "Export the configuration for entities specified in the\n<code>selectionSet</code> parameter.\n",
        "operationId": "DistributedVirtualSwitchManager_DVSManagerExportEntity_Task",
        "description": "Export the configuration for entities specified in the\n<code>selectionSet</code> parameter.\n\nYou can use this method only\nfor a *VmwareDistributedVirtualSwitch* and its\nassociated *DistributedVirtualPortgroup* objects.\n\nUse the *DistributedVirtualSwitchManager.DVSManagerImportEntity_Task* method to restore the entity\nto the state represented by the exported configuration.\nYou can also use the exported configuration to create\na new switch or portgroup.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DVSManagerExportEntityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which\nto monitor the operation. After successful completion, the\n*Task*.*Task.info*.*TaskInfo.result*\nproperty contains the *EntityBackupConfig* object.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If entity in selectionSet doesn't exist.\n\n***BackupBlobWriteFailure***: if failed to create backup config blob.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/DVSManagerImportEntity_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "Import the configuration of entities specified in\n*EntityBackupConfig*.\n",
        "operationId": "DistributedVirtualSwitchManager_DVSManagerImportEntity_Task",
        "description": "Import the configuration of entities specified in\n*EntityBackupConfig*.\n\nYou can restore the\nexisting configuration to the state represented by the\nbackup configuration. You can also use the backup\nconfiguration to create a new switch or portgroup.\nSee *EntityImportType_enum*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DVSManagerImportEntityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which\nto monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If entity in *EntityBackupConfig.key* doesn't exist.\n\n***DvsFault***: if operation fails on any host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/DVSManagerLookupDvPortGroup": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "Returns the portgroup identified by the key within the specified VDS\nidentified by its UUID.\n",
        "operationId": "DistributedVirtualSwitchManager_DVSManagerLookupDvPortGroup",
        "description": "Returns the portgroup identified by the key within the specified VDS\nidentified by its UUID.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DVSManagerLookupDvPortGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *DistributedVirtualPortgroup*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the portgroup for the specified inputs was not found.\n\n***NotSupported***: If the operation is not supported.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QueryCompatibleHostForExistingDvs": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation returns a list of hosts that are compatible with\nthe given DistributedVirtualSwitch product specification.\n",
        "operationId": "DistributedVirtualSwitchManager_QueryCompatibleHostForExistingDvs",
        "description": "This operation returns a list of hosts that are compatible with\nthe given DistributedVirtualSwitch product specification.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryCompatibleHostForExistingDvsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QueryCompatibleHostForNewDvs": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation returns a list of hosts that are compatible with\nthe given DistributedVirtualSwitch product specification.\n",
        "operationId": "DistributedVirtualSwitchManager_QueryCompatibleHostForNewDvs",
        "description": "This operation returns a list of hosts that are compatible with\nthe given DistributedVirtualSwitch product specification.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryCompatibleHostForNewDvsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QueryDvsCompatibleHostSpec": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation returns a list of host product specifications that\nare compatible with the given DistributedVirtualSwitch product\nspecification.\n",
        "operationId": "DistributedVirtualSwitchManager_QueryDvsCompatibleHostSpec",
        "description": "This operation returns a list of host product specifications that\nare compatible with the given DistributedVirtualSwitch product\nspecification.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDvsCompatibleHostSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DistributedVirtualSwitchHostProductSpec"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QueryCompatibleVmnicsFromHosts": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation returns a list of vmnics which are compatible\nwith the given DistributedVirtualSwitch product specification.\n",
        "operationId": "DistributedVirtualSwitchManager_QueryCompatibleVmnicsFromHosts",
        "description": "This operation returns a list of vmnics which are compatible\nwith the given DistributedVirtualSwitch product specification.\n\n***Since:*** vSphere API Release 8.0.0.1\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryCompatibleVmnicsFromHostsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DVSManagerPhysicalNicsList"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QueryDvsConfigTarget": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation returns the DistributedVirtualSwitch or\nDistributedVirtualPortgroup configuration target on a host.\n",
        "operationId": "DistributedVirtualSwitchManager_QueryDvsConfigTarget",
        "description": "This operation returns the DistributedVirtualSwitch or\nDistributedVirtualPortgroup configuration target on a host.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDvsConfigTargetRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DVSManagerDvsConfigTarget"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QueryDvsFeatureCapability": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation indicates which version-specific DVS features are\navailable for the given DistributedVirtualSwitch product specification.\n",
        "operationId": "DistributedVirtualSwitchManager_QueryDvsFeatureCapability",
        "description": "This operation indicates which version-specific DVS features are\navailable for the given DistributedVirtualSwitch product specification.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDvsFeatureCapabilityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/DVSFeatureCapability"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QuerySupportedNetworkOffloadSpec": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation returns a list of network offload specifications that are\ncompatible with the given DistributedVirtualSwitch product specification.\n",
        "operationId": "DistributedVirtualSwitchManager_QuerySupportedNetworkOffloadSpec",
        "description": "This operation returns a list of network offload specifications that are\ncompatible with the given DistributedVirtualSwitch product specification.\n\n***Since:*** vSphere API Release 8.0.0.1\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuerySupportedNetworkOffloadSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DistributedVirtualSwitchNetworkOffloadSpec"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QueryAvailableDvsSpec": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation returns a list of switch product specifications that\nare supported by the vCenter Server.\n",
        "operationId": "DistributedVirtualSwitchManager_QueryAvailableDvsSpec",
        "description": "This operation returns a list of switch product specifications that\nare supported by the vCenter Server.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryAvailableDvsSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/QueryDvsByUuid": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "This operation returns a DistributedVirtualSwitch given a UUID.\n",
        "operationId": "DistributedVirtualSwitchManager_QueryDvsByUuid",
        "description": "This operation returns a DistributedVirtualSwitch given a UUID.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDvsByUuidRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *DistributedVirtualSwitch*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If a switch with the UUID doesn't exist.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/DistributedVirtualSwitchManager/{moId}/RectifyDvsOnHost_Task": {
      "post": {
        "tags": [
          "DistributedVirtualSwitchManager"
        ],
        "summary": "Update the Distributed Switch configuration on the hosts to bring them in sync with the\ncurrent configuration in vCenter Server.\n",
        "operationId": "DistributedVirtualSwitchManager_RectifyDvsOnHost_Task",
        "description": "Update the Distributed Switch configuration on the hosts to bring them in sync with the\ncurrent configuration in vCenter Server.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RectifyDvsOnHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/EnvironmentBrowser/{moId}/QueryConfigOption": {
      "post": {
        "tags": [
          "EnvironmentBrowser"
        ],
        "summary": "Query for a specific virtual machine configuration option (the ConfigOption).\n",
        "operationId": "EnvironmentBrowser_QueryConfigOption",
        "description": "Query for a specific virtual machine configuration option (the ConfigOption).\n\nIf the EnvironmentBrowser is from a ComputeResource or ClusterComputeResource,\nthe key or host, or both arguments can be used to return the required config\noptions. If a key is specified, then the ConfigOption corresponding to that key\nvalue is returned. If a host is specified, then the default ConfigOption for\nthat host is returned. If key and host both are specified, the ConfigOption\ncorresponding to the given key for that host is returned. If neither is specified,\nthen the default ConfigOption for this environment browser is returned. Typically,\nthe default contains the options for the most recent virtual hardware\nsupported.\n\nIf the EnvironmentBrowser is from a VirtualMachine neither a host nor a\nkey should be specified.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryConfigOptionRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the ConfigOption object. If invoked on a cluster with no hosts, or\nif the ConfigOption with given key is not found for the given host, null\nis returned.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VirtualMachineConfigOption"
                }
              }
            }
          }
        }
      }
    },
    "/EnvironmentBrowser/{moId}/QueryConfigOptionDescriptor": {
      "post": {
        "tags": [
          "EnvironmentBrowser"
        ],
        "summary": "The list of ConfigOption keys available on this entity.\n",
        "operationId": "EnvironmentBrowser_QueryConfigOptionDescriptor",
        "description": "The list of ConfigOption keys available on this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualMachineConfigOptionDescriptor"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EnvironmentBrowser/{moId}/QueryConfigOptionEx": {
      "post": {
        "tags": [
          "EnvironmentBrowser"
        ],
        "summary": "Query for a virtual machine configuration *option*\nmatching the key or host or both given in the\n*EnvironmentBrowserConfigOptionQuerySpec*.\n",
        "operationId": "EnvironmentBrowser_QueryConfigOptionEx",
        "description": "Query for a virtual machine configuration *option*\nmatching the key or host or both given in the\n*EnvironmentBrowserConfigOptionQuerySpec*.\n\nFor more details see\n*EnvironmentBrowser.QueryConfigOption*\n\nIf the Environment Browser belongs to a virtual machine and the spec argument\nis omitted, the method returns the ConfigOption object corresponding to the\nvmx version of the virutal machine and the\n*guestOSDescriptor* list contains\nonly the guestId of the virutal machine.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryConfigOptionExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the *VirtualMachineConfigOption* object. If invoked on a cluster\nwith no hosts, or if the *VirtualMachineConfigOption* with given key is\nnot found for the given host, null is returned.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VirtualMachineConfigOption"
                }
              }
            }
          }
        }
      }
    },
    "/EnvironmentBrowser/{moId}/QueryConfigTarget": {
      "post": {
        "tags": [
          "EnvironmentBrowser"
        ],
        "summary": "Queries for information about a specific target, a \"physical\" device that\ncan be used to back virtual devices.\n",
        "operationId": "EnvironmentBrowser_QueryConfigTarget",
        "description": "Queries for information about a specific target, a \"physical\" device that\ncan be used to back virtual devices.\n\nThe ConfigTarget that is returned specifies\nthe set of values that can be used in the device backings to connect the virtual\nmachine to physical (or logical) host devices.\n\nIf the EnvironmentBrowser is from a ComputeResource or ClusterComputeResource,\nthe host argument can be used to return the ConfigTarget provided by a particular\nhost in the compute resource or cluster. If host is not specified and the\nEnvironmentBrowser is from a ComputeResource or ClusterComputeResource,\nthen the union of all the devices is returned and the\nvim.vm.TargetInfo.configurationTag field indicates how widely the device is\navailable across the compute resource or cluster.\n\nIf the EnvironmentBrowser is from a VirtualMachine a host should not be specified.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryConfigTargetRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the ConfigTarget object. If invoked on a cluster with no hosts,\nnull is returned.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ConfigTarget"
                }
              }
            }
          }
        }
      }
    },
    "/EnvironmentBrowser/{moId}/QueryTargetCapabilities": {
      "post": {
        "tags": [
          "EnvironmentBrowser"
        ],
        "summary": "Queries for information on the capabilities supported by the ComputeResource\nassociated with the EnvironmentBrowser.\n",
        "operationId": "EnvironmentBrowser_QueryTargetCapabilities",
        "description": "Queries for information on the capabilities supported by the ComputeResource\nassociated with the EnvironmentBrowser.\n\nIf the EnvironmentBrowser is from a ComputeResource or ClusterComputeResource,\nthe host argument can be used to return the capabilities associated with a\nspecific host in the compute resource or cluster. If the host argument is not\nspecified and the EnvironmentBrowser is from a ComputeResource or\nClusterComputeResource, then the intersection of the capabilities supported by\nall the hosts in the cluster is returned. If the EnvironmentBrowser is from\na VirtualMachine, the compute resource associated with the virtual machine\nwill be queried for its capabilities.\n\nIf the EnvironmentBrowser is from a VirtualMachine a host should not be specified.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryTargetCapabilitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the set of capabilities supported by the ComputeResource\nassociated with the EnvironmentBrowser. If invoked on a cluster with\nno hosts, null is returned.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostCapability"
                }
              }
            }
          }
        }
      }
    },
    "/EnvironmentBrowser/{moId}/datastoreBrowser": {
      "get": {
        "tags": [
          "EnvironmentBrowser"
        ],
        "summary": "DatastoreBrowser to browse datastores that are available on this entity.\n",
        "operationId": "EnvironmentBrowser_getDatastoreBrowser",
        "description": "DatastoreBrowser to browse datastores that are available on this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *HostDatastoreBrowser*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/EventHistoryCollector/{moId}/ReadNextEvents": {
      "post": {
        "tags": [
          "EventHistoryCollector"
        ],
        "summary": "Reads the 'scrollable view' from the current position.\n",
        "operationId": "EventHistoryCollector_ReadNextEvents",
        "description": "Reads the 'scrollable view' from the current position.\n\nThe scrollable\nposition is moved to the next newer page after the read. No item is\nreturned when the end of the collector is reached.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReadNextEventsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EventHistoryCollector/{moId}/ReadPreviousEvents": {
      "post": {
        "tags": [
          "EventHistoryCollector"
        ],
        "summary": "Reads the 'scrollable view' from the current position.\n",
        "operationId": "EventHistoryCollector_ReadPreviousEvents",
        "description": "Reads the 'scrollable view' from the current position.\n\nThe scrollable\nposition is moved to the next older page after the read. No item is\nreturned when the head of the collector is reached.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReadPreviousEventsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EventHistoryCollector/{moId}/DestroyCollector": {
      "post": {
        "tags": [
          "EventHistoryCollector"
        ],
        "summary": "Destroys this collector.\n",
        "operationId": "EventHistoryCollector_DestroyCollector",
        "description": "Destroys this collector.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/EventHistoryCollector/{moId}/ResetCollector": {
      "post": {
        "tags": [
          "EventHistoryCollector"
        ],
        "summary": "Moves the \"scrollable view\" to the item immediately preceding the\n\"viewable latest page\".\n",
        "operationId": "EventHistoryCollector_ResetCollector",
        "description": "Moves the \"scrollable view\" to the item immediately preceding the\n\"viewable latest page\".\n\nIf you use \"readPrev\",\n*ReadPreviousTasks* or\n*ReadPreviousEvents*,\nall items\nare retrieved from the newest item to the oldest item.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/EventHistoryCollector/{moId}/RewindCollector": {
      "post": {
        "tags": [
          "EventHistoryCollector"
        ],
        "summary": "Moves the \"scrollable view\" to the oldest item.\n",
        "operationId": "EventHistoryCollector_RewindCollector",
        "description": "Moves the \"scrollable view\" to the oldest item.\n\nIf you use\n*ReadNextTasks* or\n*ReadNextEvents*,\nall items are retrieved from the oldest item to the newest item. This\nis the default setting when the collector is created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/EventHistoryCollector/{moId}/SetCollectorPageSize": {
      "post": {
        "tags": [
          "EventHistoryCollector"
        ],
        "summary": "Sets the \"viewable latest page\" size to contain at most the\nnumber of items specified by the maxCount parameter).\n",
        "operationId": "EventHistoryCollector_SetCollectorPageSize",
        "description": "Sets the \"viewable latest page\" size to contain at most the\nnumber of items specified by the maxCount parameter).\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetCollectorPageSizeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/EventHistoryCollector/{moId}/filter": {
      "get": {
        "tags": [
          "EventHistoryCollector"
        ],
        "summary": "The filter used to create this collector.\n",
        "operationId": "EventHistoryCollector_getFilter",
        "description": "The filter used to create this collector.\n\nThe type of the returned filter is determined by the managed object\nfor which the collector is created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Any"
                }
              }
            }
          }
        }
      }
    },
    "/EventHistoryCollector/{moId}/initialized": {
      "get": {
        "tags": [
          "EventHistoryCollector"
        ],
        "summary": "Indicates whether the *EventHistoryCollector.latestPage* is initialized.\n",
        "operationId": "EventHistoryCollector_getInitialized",
        "description": "Indicates whether the *EventHistoryCollector.latestPage* is initialized.\n\nIf the\n*EventFilterSpec.delayedInit* is `false` or unset this property is always true.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/EventHistoryCollector/{moId}/latestPage": {
      "get": {
        "tags": [
          "EventHistoryCollector"
        ],
        "summary": "The items in the 'viewable latest page'.\n",
        "operationId": "EventHistoryCollector_getLatestPage",
        "description": "The items in the 'viewable latest page'.\n\nAs new events that match the\ncollector's *EventFilterSpec* are created, they are added to this\npage, and the oldest events are removed from the collector to keep the\nsize of the page to that allowed by\n*HistoryCollector.SetCollectorPageSize*.\n\nThe \"oldest event\" is the one with the smallest key (event ID). The\nevents in the returned page are unordered.\nWhile `initialized` is `false` this property will remain empty and once the Collector is initialized it will be populated.\nWhile `initialized` is `true` this property is populated immediately.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EventManager/{moId}/QueryEvents": {
      "post": {
        "tags": [
          "EventManager"
        ],
        "summary": "Returns the events in specified filter.\n",
        "operationId": "EventManager_QueryEvents",
        "description": "Returns the events in specified filter.\n\nReturns empty array when there are not any events qualified.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryEventsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The events matching the filter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EventManager/{moId}/CreateCollectorForEvents": {
      "post": {
        "tags": [
          "EventManager"
        ],
        "summary": "Creates an event history collector, which is a specialized history collector\nthat provides Event objects.\n",
        "operationId": "EventManager_CreateCollectorForEvents",
        "description": "Creates an event history collector, which is a specialized history collector\nthat provides Event objects.\n\nEvent collectors do not persist beyond the current client session.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCollectorForEventsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The event collector based on the filter.\n\nRefers instance of *EventHistoryCollector*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the filter is null or if any of its fields\nis invalid, such as an invalid reference to a\nmanaged object, alarm, or scheduled task, or an\ninvalid event type or event chain id, etc.\n\n***InvalidState***: if there are more than the maximum number of\nevent collectors.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/EventManager/{moId}/LogUserEvent": {
      "post": {
        "tags": [
          "EventManager"
        ],
        "summary": "Logs a user defined event against a particular managed entity.\n",
        "operationId": "EventManager_LogUserEvent",
        "description": "Logs a user defined event against a particular managed entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogUserEventRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/EventManager/{moId}/PostEvent": {
      "post": {
        "tags": [
          "EventManager"
        ],
        "summary": "Posts the specified event, optionally associating it with\na task.\n",
        "operationId": "EventManager_PostEvent",
        "description": "Posts the specified event, optionally associating it with\na task.\n\nThe event being posted should have the following info in it:\n- The *ManagedEntity* on which the event is being posted should\n  be set in the appropriate *EntityEventArgument* field of the base\n  *Event* class. It is OK to not set any entity, in which case the\n  event is treated as an event about the system.\n- Some Event fields (*Event.key*, *Event.chainId*,\n  *Event.createdTime*) are mandatory because of the nature of\n  the structure, but any caller-supplied values will be overwritten by\n  the system.\n  \nIf the event being posted is to be associated with an existing\n*Task*, the appropriate *TaskInfo* needs to be passed in.\nThis task can either be one returned from a vSphere API operation or\nan extension task created by calling *TaskManager.CreateTask*.\n\n***Required privileges:*** Global.LogEvent\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostEventRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if\n- an invalid reference to a managed object is passed in to one of the\n  *EntityEventArgument* fields\n- an invalid severity value is passed in an *EventEx*.\n  \n***InvalidEvent***: no longer thrown by this API\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidEvent"
                }
              }
            }
          }
        }
      }
    },
    "/EventManager/{moId}/RetrieveArgumentDescription": {
      "post": {
        "tags": [
          "EventManager"
        ],
        "summary": "Retrieves the argument meta-data for a given Event type\n",
        "operationId": "EventManager_RetrieveArgumentDescription",
        "description": "Retrieves the argument meta-data for a given Event type\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveArgumentDescriptionRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EventArgDesc"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EventManager/{moId}/description": {
      "get": {
        "tags": [
          "EventManager"
        ],
        "summary": "Static descriptive strings used in events.\n",
        "operationId": "EventManager_getDescription",
        "description": "Static descriptive strings used in events.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventDescription"
                }
              }
            }
          }
        }
      }
    },
    "/EventManager/{moId}/latestEvent": {
      "get": {
        "tags": [
          "EventManager"
        ],
        "summary": "The latest event that happened on the VirtualCenter server.\n",
        "operationId": "EventManager_getLatestEvent",
        "description": "The latest event that happened on the VirtualCenter server.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          }
        }
      }
    },
    "/EventManager/{moId}/maxCollector": {
      "get": {
        "tags": [
          "EventManager"
        ],
        "summary": "For each client, the maximum number of event collectors that can exist\nsimultaneously.\n",
        "operationId": "EventManager_getMaxCollector",
        "description": "For each client, the maximum number of event collectors that can exist\nsimultaneously.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/ExtensibleManagedObject/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "ExtensibleManagedObject"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "ExtensibleManagedObject_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ExtensibleManagedObject/{moId}/availableField": {
      "get": {
        "tags": [
          "ExtensibleManagedObject"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "ExtensibleManagedObject_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ExtensibleManagedObject/{moId}/value": {
      "get": {
        "tags": [
          "ExtensibleManagedObject"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "ExtensibleManagedObject_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ExtensionManager/{moId}/FindExtension": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "Returns extension with the given key, if any.\n",
        "operationId": "ExtensionManager_FindExtension",
        "description": "Returns extension with the given key, if any.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindExtensionRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Extension that matches given key, if any.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/Extension"
                }
              }
            }
          }
        }
      }
    },
    "/ExtensionManager/{moId}/GetPublicKey": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "Returns VirtualCenter Server public key.\n",
        "operationId": "ExtensionManager_GetPublicKey",
        "deprecated": true,
        "description": "Deprecated as of VI 4.0, use trusted certificates and\n*SessionManager.LoginExtensionBySubjectName* or\n*ExtensionManager.SetExtensionCertificate* and\n*SessionManager.LoginExtensionByCertificate*.\n\nReturns VirtualCenter Server public key.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Public key of VirtualCenter Server, encoded\nin PEM (privacy-enhanced mail) format.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ExtensionManager/{moId}/QueryExtensionIpAllocationUsage": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "Query statistics about IP allocation usage, either system wide or for\nspecified extensions.\n",
        "operationId": "ExtensionManager_QueryExtensionIpAllocationUsage",
        "description": "Query statistics about IP allocation usage, either system wide or for\nspecified extensions.\n\nRefer to *IpPoolManager* for details.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryExtensionIpAllocationUsageRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of IP allocation usage.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtensionManagerIpAllocationUsage"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ExtensionManager/{moId}/QueryManagedBy": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "Find entities managed by an extension.\n",
        "operationId": "ExtensionManager_QueryManagedBy",
        "description": "Find entities managed by an extension.\n\nThese can be either virtual machines\nor vApps.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryManagedByRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of entities managed by the extension.\n\nRefers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ExtensionManager/{moId}/RegisterExtension": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "Registers extension.\n",
        "operationId": "ExtensionManager_RegisterExtension",
        "description": "Registers extension.\n\n***Required privileges:*** Extension.Register\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterExtensionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ExtensionManager/{moId}/SetExtensionCertificate": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "Update the stored authentication certificate for a specified extension.\n",
        "operationId": "ExtensionManager_SetExtensionCertificate",
        "description": "Update the stored authentication certificate for a specified extension.\n\nUpdates the registration of the specified extension with the\nthumbprint of the X.509 client certificate provided over SSL handshake,\nor by the &quot;certificatePem&quot;argument. The thumbprint\nwill be used to authenticate the extension during invocations of\n*SessionManager.LoginExtensionByCertificate*.\n\nNOTE: No verification is performed on the received certificate, such as\nexpiry or revocation.\n\nThis method will unset any public key or subject name\nassociated with the extension.\n\n***Required privileges:*** Extension.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetExtensionCertificateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if the certificate described by\n&quot;certificatePem&quot; is not in PEM\nformat, or could not be decoded to an X.509 certificate.\n\n***NoClientCertificate***: if certificatePem is not specified, and\nno certificate was passed over SSL handshake.\n\n***NotFound***: if an extension specified by &quot;extensionKey&quot;\nis not registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ExtensionManager/{moId}/SetPublicKey": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "Sets extension's public key.\n",
        "operationId": "ExtensionManager_SetPublicKey",
        "deprecated": true,
        "description": "Deprecated as of VI 4.0, use trusted certificates and\n*SessionManager.LoginExtensionBySubjectName* or\n*ExtensionManager.SetExtensionCertificate* and\n*SessionManager.LoginExtensionByCertificate*.\n\nSets extension's public key.\n\nThis method will unset any subject name or\ncertificate associated with the extension.\n\n***Required privileges:*** Extension.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPublicKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ExtensionManager/{moId}/SetServiceAccount": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "Update the stored authentication service account for the specified extension.\n",
        "operationId": "ExtensionManager_SetServiceAccount",
        "description": "Update the stored authentication service account for the specified extension.\n\nUpdates the registration of the specified extension with the\nservice account passed in the &quot;serviceAccount&quot;parameter.\nThe service account will be used to authenticate the extension\nby invoking vCenter Server Login APIs and the user session can be\nused to update an Extension's data.\n\nThis method will unset the previous service account name\nassociated with the extension.\n\nThe account name must be passed in with same case as the created\naccount name.\nThe account name must be suffixed with the vCenter machine id.\nThe account name passed in must be qualified by the SSO domain\nfor the vCenter server using the same format as userName for\n*SessionManager.Login*\n\nNOTE: Account lifetime is managed by the extension owning the account.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** Extension.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetServiceAccountRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if the account name described by\n&quot;serviceAccount&quot; is not present.\n\n***NotFound***: if an extension specified by &quot;extensionKey&quot;\nis not registered or the service account is not found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/ExtensionManager/{moId}/UnregisterExtension": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "Unregisters the specified extension if it exists.\n",
        "operationId": "ExtensionManager_UnregisterExtension",
        "description": "Unregisters the specified extension if it exists.\n\n***Required privileges:*** Extension.Unregister\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnregisterExtensionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the specified extension\nis not registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/ExtensionManager/{moId}/UpdateExtension": {
      "post": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "If the key specified in the extension exists,\nthe existing record is updated.\n",
        "operationId": "ExtensionManager_UpdateExtension",
        "description": "If the key specified in the extension exists,\nthe existing record is updated.\n\nIf the &quot;subjectName&quot; property of the Extension\nobject has a value, and it is different from the existing\nvalue, this method will unset any public key or\ncertificate associated with the extension.\n\n***Required privileges:*** Extension.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateExtensionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the specified extension key is not registered.\n\n***InvalidArgument***: if the Extension description is incomplete or invalid, or\nif the extension is an OVF extension and its section types overlap with other\nregistered OVF extensions.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/ExtensionManager/{moId}/extensionList": {
      "get": {
        "tags": [
          "ExtensionManager"
        ],
        "summary": "The list of currently registered extensions.\n",
        "operationId": "ExtensionManager_getExtensionList",
        "description": "The list of currently registered extensions.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Extension"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterConfigurator/{moId}/configureVcha_Task": {
      "post": {
        "tags": [
          "FailoverClusterConfigurator"
        ],
        "summary": "Configure VCHA on the local vCenter Server.\n",
        "operationId": "FailoverClusterConfigurator_configureVcha_Task",
        "description": "Configure VCHA on the local vCenter Server.\n\nThis operation configures the VC appliance with VCHA specific inputs\nand uses already deployed Passive and Witness nodes to set up the\nVCHA cluster. After configuration, the VCHA Cluster is enabled\non a best effort basis, but if this operation does not succeed,\n*FailoverClusterManager.setClusterMode_Task* must be called\nto enable it. State replication or failover is not allowed\nuntil the VCHA Cluster is enabled. The current vCenter Server\ncontinues to serve client requests during and after the configuration.\n\n***Required privileges:*** Global.VCServer\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/configureVchaRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the progress of the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterConfigurator/{moId}/createPassiveNode_Task": {
      "post": {
        "tags": [
          "FailoverClusterConfigurator"
        ],
        "summary": "Creates a Passive node in a degraded VCHA Cluster with node location\ninformation and pre-existing VCHA Cluster configuration from the\nActive node.\n",
        "operationId": "FailoverClusterConfigurator_createPassiveNode_Task",
        "description": "Creates a Passive node in a degraded VCHA Cluster with node location\ninformation and pre-existing VCHA Cluster configuration from the\nActive node.\n\n***Required privileges:*** Global.VCServer\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createPassiveNodeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the progress of the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterConfigurator/{moId}/createWitnessNode_Task": {
      "post": {
        "tags": [
          "FailoverClusterConfigurator"
        ],
        "summary": "Creates a Witness node in a degraded VCHA Cluster with node location\ninformation and pre-existing VCHA Cluster configuration from the\nActive node.\n",
        "operationId": "FailoverClusterConfigurator_createWitnessNode_Task",
        "description": "Creates a Witness node in a degraded VCHA Cluster with node location\ninformation and pre-existing VCHA Cluster configuration from the\nActive node.\n\n***Required privileges:*** Global.VCServer\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createWitnessNodeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the progress of the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterConfigurator/{moId}/deployVcha_Task": {
      "post": {
        "tags": [
          "FailoverClusterConfigurator"
        ],
        "summary": "Deploys and Configures VCHA on the local vCenter as a single API.\n",
        "operationId": "FailoverClusterConfigurator_deployVcha_Task",
        "description": "Deploys and Configures VCHA on the local vCenter as a single API.\n\nThis deployment operation automatically provisions and creates a\nPassive and a Witness node followed by configuring each node such that\na 3 node VCHA Cluster is formed. After configuration, the VCHA Cluster\nis enabled on a best effort basis, but if this operation does not\nsucceed, *FailoverClusterManager.setClusterMode_Task* must be\ncalled to enable it. State replication or failover is not allowed\nuntil the VCHA Cluster is enabled. The current vCenter Server continues\nto serve client requests during and after the deployment.\nIf the activeVcNetworkConfig spec if filled in, the cluster network\nwill be created and configured.\nNo changes will be made if the cluster network is already configured.\n\n***Required privileges:*** Global.VCServer\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/deployVchaRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the progress of the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterConfigurator/{moId}/destroyVcha_Task": {
      "post": {
        "tags": [
          "FailoverClusterConfigurator"
        ],
        "summary": "Destroys the VCHA cluster setup and removes all VCHA specific\nconfiguration from the VCVA appliance.\n",
        "operationId": "FailoverClusterConfigurator_destroyVcha_Task",
        "description": "Destroys the VCHA cluster setup and removes all VCHA specific\nconfiguration from the VCVA appliance.\n\nThe active node in the cluster\ncontinues to run as a standalone VCVA appliance after the destroy\noperation has been performed.\nThis operation is allowed under the following circumstances:\n\\- VCHA cluster is disabled\n\\- The node is in an isolated state\n\\- VCHA Deploy/Configure has failed\n\n***Required privileges:*** Global.VCServer\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterConfigurator/{moId}/getVchaConfig": {
      "post": {
        "tags": [
          "FailoverClusterConfigurator"
        ],
        "summary": "Returns the configuration information for each node that is part of\nthe VCHA Cluster.\n",
        "operationId": "FailoverClusterConfigurator_getVchaConfig",
        "description": "Returns the configuration information for each node that is part of\nthe VCHA Cluster.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a data structure specifying configuration for Active,\nPassive and Witness node in the Cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VchaClusterConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterConfigurator/{moId}/prepareVcha_Task": {
      "post": {
        "tags": [
          "FailoverClusterConfigurator"
        ],
        "summary": "Prepares the vCenter appliance for a VCHA cluster deployment.\n",
        "operationId": "FailoverClusterConfigurator_prepareVcha_Task",
        "description": "Prepares the vCenter appliance for a VCHA cluster deployment.\n\nThis preparation operation saves the network configuration of the cluster\nand configures the Active node to be cloned for a VCHA configuration.\nPrepares the VCHA Active node for ssh keys, vpostgres replication\nand related configuration file setup needed for a VCHA cluster.\nIf the Active node Cluster network adapter does not exist\nthe prepare operation will fail.\nNo changes will be made if the cluster is already configured.\n\n***Required privileges:*** Global.VCServer\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/prepareVchaRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the progress of the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterConfigurator/{moId}/disabledConfigureMethod": {
      "get": {
        "tags": [
          "FailoverClusterConfigurator"
        ],
        "summary": "A list of method names that must not be called and will throw\na fault due to some other method running that the disabled method\ncan cause side-effects for.\n",
        "operationId": "FailoverClusterConfigurator_getDisabledConfigureMethod",
        "description": "A list of method names that must not be called and will throw\na fault due to some other method running that the disabled method\ncan cause side-effects for.\n\nThis list may include the following methods:\n- *FailoverClusterConfigurator.deployVcha_Task*\n- *FailoverClusterConfigurator.configureVcha_Task*\n- *FailoverClusterConfigurator.createPassiveNode_Task*\n- *FailoverClusterConfigurator.createWitnessNode_Task*\n- *FailoverClusterConfigurator.destroyVcha_Task*\n  \nAs with other disabled methods there will be no property updates\non this property when called with non-zero property collector versions.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterManager/{moId}/GetVchaClusterHealth": {
      "post": {
        "tags": [
          "FailoverClusterManager"
        ],
        "summary": "Returns last known health of the VCHA Cluster.\n",
        "operationId": "FailoverClusterManager_GetVchaClusterHealth",
        "description": "Returns last known health of the VCHA Cluster.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VchaClusterHealth"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterManager/{moId}/getClusterMode": {
      "post": {
        "tags": [
          "FailoverClusterManager"
        ],
        "summary": "Returns current mode of a VCHA Cluster.\n",
        "operationId": "FailoverClusterManager_getClusterMode",
        "description": "Returns current mode of a VCHA Cluster.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterManager/{moId}/initiateFailover_Task": {
      "post": {
        "tags": [
          "FailoverClusterManager"
        ],
        "summary": "Allows a caller to initiate a failover from Active vCenter Server node\nto the Passive node.\n",
        "operationId": "FailoverClusterManager_initiateFailover_Task",
        "description": "Allows a caller to initiate a failover from Active vCenter Server node\nto the Passive node.\n\nBy default it is a forced failover. The planned\nflag can be used to initiate it as a planned failover.\nFor forced failover, Active node immediately initiates a failover. This\nmay result into a data loss after failover.\nFor planned failover, Active node flushes all the state to the\nPassive node, waits for the flush to complete before causing a failover.\nAfter the failover, Passive node starts without any data loss.\nA failover is allowed only in the following cases -\n1\\. Cluster's mode is enabled and all cluster members are present.\n2\\. Cluster's mode is maintenance and all cluster members are present.\nAPI throws an exception in all other cases.\n\n***Required privileges:*** Global.VCServer\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/initiateFailoverRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterManager/{moId}/setClusterMode_Task": {
      "post": {
        "tags": [
          "FailoverClusterManager"
        ],
        "summary": "setClusterMode method allows caller to manipulate the mode of a\nVCHA Cluster\nFollowing mode transitions are allowed -\nenabled -&gt; disabled - Allowed only in healthy and degraded states.\n",
        "operationId": "FailoverClusterManager_setClusterMode_Task",
        "description": "setClusterMode method allows caller to manipulate the mode of a\nVCHA Cluster\nFollowing mode transitions are allowed -\nenabled -&gt; disabled - Allowed only in healthy and degraded states.\n\nenabled -&gt; maintenance - Allowed only in healthy state.\ndisabled -&gt; enabled - Allowed only in healthy state.\nmaintenance -&gt; enabled - Allowed only in healthy state with all nodes\nare running the same version.\nmaintenance -&gt; disabled - Allowed only in healthy state with all nodes\nare running the same version.\nAll other transitions are not allowed.\nVCHA Cluster configuration remains intact in any of the cluster modes.\n\n***Required privileges:*** Global.VCServer\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setClusterModeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the progress of the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/FailoverClusterManager/{moId}/disabledClusterMethod": {
      "get": {
        "tags": [
          "FailoverClusterManager"
        ],
        "summary": "A list of method names that must not be called and will throw\na fault due to some other method running that the disabled method\ncan cause side-effects for.\n",
        "operationId": "FailoverClusterManager_getDisabledClusterMethod",
        "description": "A list of method names that must not be called and will throw\na fault due to some other method running that the disabled method\ncan cause side-effects for.\n\nThis list may include the following methods:\n- *FailoverClusterManager.setClusterMode_Task*\n- *FailoverClusterManager.getClusterMode*\n- *FailoverClusterManager.initiateFailover_Task*\n- *FailoverClusterManager.GetVchaClusterHealth*\n  \nGetClusterHealth will also be disabled if Deploy is in progress.\nAs with other disabled methods there will be no property updates\non this property when called with non-zero property collector versions.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/FileManager/{moId}/ChangeOwner": {
      "post": {
        "tags": [
          "FileManager"
        ],
        "summary": "Change the owner for a file.\n",
        "operationId": "FileManager_ChangeOwner",
        "description": "Change the owner for a file.\n\nThis method is currently not supported.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeOwnerRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/FileManager/{moId}/CopyDatastoreFile_Task": {
      "post": {
        "tags": [
          "FileManager"
        ],
        "summary": "Copies the source file or folder to the destination.\n",
        "operationId": "FileManager_CopyDatastoreFile_Task",
        "description": "Copies the source file or folder to the destination.\n\nIf the destination file does not exist, it is created.\nIf the destination file exists, the force parameter determines whether\nto overwrite it with the source or not.\nFolders can be copied recursively. In this case, the\ndestination, if it exists, must be a folder, else one will be created. Existing\nfiles on the destination that conflict with source files can be overwritten using\nthe force parameter. Files and disks are always copied in binary format during\nrecursive copy.\n\nIf source (or destination) name is specified as a URL, then the\ncorresponding datacenter parameter may be omitted.\n\nIf any intermediate level folder specified by the source and destination\ndoes not exist, a *FileNotFound* fault is thrown.\n\nIf a file of a virtual machine is overwritten on the destination datastore\nas a result of the force parameter, it may corrupt that virtual machine.\n\nIf the source is an extent of a virtual disk, this operation treats the extent\nas a file.\n\nIf source and destination resolve to the same file system location,\nthe call has no effect.\n\nIt is important to note that this operation will provide transactional guarantees\nonly for a file. No guarantees are provided when copying a folder.\nIf the intent is to clone a virtual machine registered in the inventory,\nwith transactional guarantees, please refer to *VirtualMachine.CloneVM_Task*.\n\nDatastore.FileManagement privilege is required on both source and\ndestination datastores.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CopyDatastoreFileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: if the operation cannot be performed on the source\nor destination datastores. Typically, a specific subclass of this exception is\nthrown.\n\n***FileNotFound***: if the file or folder specified by sourceName is not\nfound, or, any intermediate level folder specified by the destinationName is not\nfound.\n\n***CannotAccessFile***: if the source cannot be accessed because of\ninsufficient permissions.\n\n***FileLocked***: if the source file or folder is currently locked or in use.\n\n***FileAlreadyExists***: if a file with the given name already\nexists at the destination, and the force flag is false.\n\n***NoDiskSpace***: if there is not enough space available at the destination\ndatastore.\n\n***FileFault***: if there is a generic file error\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/FileManager/{moId}/DeleteDatastoreFile_Task": {
      "post": {
        "tags": [
          "FileManager"
        ],
        "summary": "Deletes the specified file or folder from the datastore.\n",
        "operationId": "FileManager_DeleteDatastoreFile_Task",
        "description": "Deletes the specified file or folder from the datastore.\n\nIf a file of a virtual machine is deleted, it may corrupt that\nvirtual machine. Folder deletes are always recursive.\nThe datacenter parameter may be omitted if a URL is used to name\nthe file or folder.\n\nIf the source is an extent of a virtual disk, this operation treats the extent\nas a file.\n\nIt is important to note that this operation will provide transactional guarantees\nonly for a file. No guarantees are provided when deleting folders.\nIf the intent is to delete a virtual machine registered in the inventory,\nplease refer to *ManagedEntity.Destroy_Task*.\n\nRequires Datastore.FileManagement privilege on the datastore.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteDatastoreFileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: if the operation cannot be performed on the\ndatastore. Typically, a specific subclass of this exception is thrown.\n\n***FileNotFound***: if the file or folder specified by name\nis not found.\n\n***CannotDeleteFile***: if the delete operation on the file or folder\nfails.\n\n***FileLocked***: if the source file or folder is currently locked or\nin use.\n\n***FileFault***: if there is a generic file error\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/FileManager/{moId}/MakeDirectory": {
      "post": {
        "tags": [
          "FileManager"
        ],
        "summary": "Create a folder using the specified name.\n",
        "operationId": "FileManager_MakeDirectory",
        "description": "Create a folder using the specified name.\n\nIf the parent\nor intermediate level folders do not exist, and the parameter\ncreateParentDirectories is false, a *FileNotFound* fault\nis thrown.\nIf the intermediate level folders do not exist, and the parameter\ncreateParentDirectories is true, all the non-existent folders\nare created.\n\nRequires Datastore.FileManagement privilege on the datastore.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MakeDirectoryRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: if the operation cannot be performed on the\ndatastore. Typically, a specific subclass of this exception is thrown.\n\n***CannotCreateFile***: if the create operation on the folder fails.\n\n***FileAlreadyExists***: if a file or folder with the given name already\nexists at the destination.\n\n***FileNotFound***: if the createParentDirectories is false and a intermediate\nlevel folder specified by name is not found.\n\n***FileFault***: if there is a generic file error\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/FileManager/{moId}/MoveDatastoreFile_Task": {
      "post": {
        "tags": [
          "FileManager"
        ],
        "summary": "Moves the source file or folder to the destination.\n",
        "operationId": "FileManager_MoveDatastoreFile_Task",
        "description": "Moves the source file or folder to the destination.\n\nIf the destination file does not exist, it is created.\nIf the destination file exists, the force parameter determines whether\nto overwrite it with the source or not.\nIf the source path is a folder, then the destination path must not exist; the\ndestination cannot be overwritten even with a force flag in that case. Folder\nmoves are recursive, treating all files and disks to move as binary.\n\nIf source (or destination) name is specified as a URL, then the\ncorresponding datacenter parameter may be omitted.\n\nIf any intermediate level folder specified by the source and destination\ndoes not exist, a *FileNotFound* fault is thrown.\n\nIf a file of a virtual machine is moved, it may corrupt that virtual machine.\nIf a file of a virtual machine is overwritten on the destination datastore\nas a result of the force parameter, it may corrupt that virtual machine.\n\nIf the source is an extent of a virtual disk, this operation treats the extent\nas a file.\n\nIf source and destination resolve to the same file system location,\nthe call has no effect.\n\nIt is important to note that this operation will provide transactional guarantees\nonly for a file. No guarantees are provided for folder moves. If the intent is\nto move a virtual machine registered in the inventory, with transactional\nguarantees, please refer to *VirtualMachine.RelocateVM_Task*.\nIf the intent is to rename a virtual machine registered in the inventory, please\nrefer to *ManagedEntity.Rename_Task*.\n\nDatastore.FileManagement privilege is required on both source and\ndestination datastores.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveDatastoreFileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: if the operation cannot be performed on the source\nor destination datastores. Typically, a specific subclass of this exception is\nthrown.\n\n***FileNotFound***: if the file or folder specified by sourceName is not\nfound, or, any intermediate level folder specified by the destinationName is not\nfound.\n\n***CannotAccessFile***: if the source file or folder cannot be moved because of\ninsufficient permissions.\n\n***FileLocked***: if the source file or folder is currently locked or in use.\n\n***FileAlreadyExists***: if a file with the given name already\nexists at the destination, and the force flag is false. For folders, if the\ndestination exists, this fault is thrown regardless.\n\n***NoDiskSpace***: if there is not enough space available on the destination\ndatastore.\n\n***FileFault***: if there is a generic file error\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/FileManager/{moId}/QueryFileLockInfo": {
      "post": {
        "tags": [
          "FileManager"
        ],
        "summary": "Fetches as much information as possible for the file path passed in.\n",
        "operationId": "FileManager_QueryFileLockInfo",
        "description": "Fetches as much information as possible for the file path passed in.\n\nThe main purpose of the API is to show caller any lock information\nthat can be queried from the host. The API gathers various information\ndepending on which file-system (VMFS/NFS/VSAN) the file is located on.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryFileLockInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileLockInfoResult"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore. Typically, a specific subclass of this exception\nis thrown.\n\n***FileFault***: If there is a generic file error.\n\n***InvalidArgument***: If invoked with no host param on vCenter or if\ninvoked with invalid path. Expected VM file path\nwould be: /vmfs/volumes/datastore1/vm/vm-flat.vmdk\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/AddStandaloneHost_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Creates a new single-host compute resource.\n",
        "operationId": "Folder_AddStandaloneHost_Task",
        "description": "Creates a new single-host compute resource.\n\nThe name provided can be an\nIP address, such as 192.168.0.120, or a string, such as esx120.\nIf a name is specified, a DNS lookup is used to resolve it to a fully-qualified\nname, such as esx120.vmware.com. If the DNS lookup fails, the string is\nstored as specified.\n\nLicenses for the host are allocated when making the first connection to\nthe host. This is because the license needed typically depends on the type\nof host and the number of CPUs.\n\nIn addition to the Host.Inventory.AddStandaloneHost privilege, it\nrequires System.View privilege on the VM folder that the VMs of the\nhost will be placed on.\n\n***Required privileges:*** Host.Inventory.AddStandaloneHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddStandaloneHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly added *ComputeResource* upon\nsuccess.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if authentication with the host fails.\n\n***InvalidArgument***: if an argument is specified incorrectly.\n\n***AlreadyBeingManaged***: if the host is already being managed by a\nvCenter server. If the host is being managed by a different\nvCenter server, this can be overridden by the \"force\" flag in the\nconnection specification.\n\n***NotEnoughLicenses***: if there are not enough licenses to add the host.\n\n***NoHost***: if the host cannot be contacted.\n\n***NotSupported***: if the host is being added to a folder whose\n*Folder.childType* property does not contain\n\"ComputeResource\".\n\n***NotSupportedHost***: if the host is running a software version that is not\nsupported.\n\n***AgentInstallFailed***: if there is an error installing the vCenter\nagent on the new host.\n\n***AlreadyConnected***: if addConnected is true and the host is already\nconnected to vCenter.\n\n***HostConnectFault***: if an error occurred when attempting to connect\nto a host. Typically, a more specific subclass, such as\nAlreadyBeingManaged, is thrown.\n\n***SSLVerifyFault***: if the host certificate could not be authenticated\n\n***DuplicateName***: if another host in the same folder has the name.\n\n***NoPermission***: if there are crypto keys to be sent to the host,\nbut the user does not have Cryptographer.RegisterHost privilege\non the Folder.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/BatchAddHostsToCluster_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Adds a set of new and existing hosts to the cluster.\n",
        "operationId": "Folder_BatchAddHostsToCluster_Task",
        "description": "Adds a set of new and existing hosts to the cluster.\n\nThis API is a composite API and performs the following tasks before hosts\nbecome part of the specified cluter -\n- Adds all new hosts as standalone hosts.\n- Move each host to the desired state.\n- Move each host to the cluster.\n  \nThe dynamic privilege check will ensure that appropriate privileges\nare acquired to allow this API to perform multiple actions on hosts\nand cluster. Required privileges -\n- Host.Inventory.EditCluster on cluster\n- Host.Config.Maintenance on the hosts if desiredState is set\n- Privileges for *Folder.BatchAddStandaloneHosts_Task* if newHosts is\n  set\n- Host.Inventory.EditCluster on the hosts' source ComputeResource\n- Host.Inventory.MoveHost on the hosts\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchAddHostsToClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/BatchAddStandaloneHosts_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Adds a list of hosts to inventory, as standalone hosts,\nin a single invocation.\n",
        "operationId": "Folder_BatchAddStandaloneHosts_Task",
        "description": "Adds a list of hosts to inventory, as standalone hosts,\nin a single invocation.\n\nThe operation returns a result containing\na list of hosts that are successfully added.\n\nIn addition to the Host.Inventory.AddStandaloneHost privilege, the operation\nrequires System.View privilege on the VM folder that the VMs of the\nhost will be placed on.\n\n***Required privileges:*** Host.Inventory.AddStandaloneHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchAddStandaloneHostsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/CreateCluster": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Creates a new cluster compute resource in this folder.\n",
        "operationId": "Folder_CreateCluster",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *Folder.CreateClusterEx*.\n\nCreates a new cluster compute resource in this folder.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** Host.Inventory.CreateCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new ClusterComputeResource instance.\n\nRefers instance of *ClusterComputeResource*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if an entity with that name already exists.\n\n***InvalidArgument***: if the cluster configuration specification parameter is\ninvalid.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the cluster is being added to a folder whose\n*Folder.childType* property value does not contain\n\"ComputeResource\" or \"ClusterComputeResource\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/CreateClusterEx": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Creates a new cluster compute resource in this folder.\n",
        "operationId": "Folder_CreateClusterEx",
        "description": "Creates a new cluster compute resource in this folder.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** Host.Inventory.CreateCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateClusterExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new ClusterComputeResource instance.\n\nRefers instance of *ClusterComputeResource*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if an entity with that name already exists.\n\n***InvalidArgument***: if the cluster configuration specification parameter is\ninvalid.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the cluster is being added to a folder whose\n*Folder.childType* property value does not contain\n\"ComputeResource\" or \"ClusterComputeResource\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/CreateDatacenter": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Creates a new datacenter with the given name.\n",
        "operationId": "Folder_CreateDatacenter",
        "description": "Creates a new datacenter with the given name.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** Datacenter.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDatacenterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new Datacenter instance.\n\nRefers instance of *Datacenter*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if an entity with that name already exists.\n\n***InvalidName***: if the new name is not a valid entity name.\n\n***NotSupported***: if the datacenter is being created within a folder whose\n*Folder.childType* property value does not contain\n\"Datacenter\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/CreateDVS_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Create a *DistributedVirtualSwitch* in the folder according to the\nspecified *DVSCreateSpec*.\n",
        "operationId": "Folder_CreateDVS_Task",
        "description": "Create a *DistributedVirtualSwitch* in the folder according to the\nspecified *DVSCreateSpec*.\n\nThe specified Folder\nmust be a Network entity folder.\n\n***Required privileges:*** DVSwitch.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDVSRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. After successful completion, the\n*Task*.*Task.info*.*TaskInfo.result* property\ncontains the newly registered *DistributedVirtualSwitch*.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if called directly on a host.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\n(*DVSConfigInfo.extensionKey*).\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/CreateFolder": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Creates a new sub-folder with the specified name.\n",
        "operationId": "Folder_CreateFolder",
        "description": "Creates a new sub-folder with the specified name.\n\nThe *Folder.childType* property of the new folder is the same as\nthe *Folder.childType* property of the current folder.\n\n***Required privileges:*** Folder.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFolderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A reference to the new folder.\n\nRefers instance of *Folder*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if another object in the same folder has the\ntarget name.\n\n***InvalidName***: if the name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/CreateStoragePod": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Creates a new storage pod in this folder.\n",
        "operationId": "Folder_CreateStoragePod",
        "description": "Creates a new storage pod in this folder.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** Folder.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStoragePodRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new StoragePod instance.\n\nRefers instance of *StoragePod*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if an entity with that name already exists.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the storage pod is being added to a folder whose\n*Folder.childType* property value does not contain\n\"StoragePod\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/CreateVM_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Creates a new virtual machine in the current folder and attaches it to the\nspecified resource pool.\n",
        "operationId": "Folder_CreateVM_Task",
        "description": "Creates a new virtual machine in the current folder and attaches it to the\nspecified resource pool.\n\nThis operation creates a virtual machine,\ninstead of cloning a virtual machine from an existing one.\n\nThe server does not support creating templates using this method.\nInstead, you should create templates by marking existing virtual\nmachines as templates, or by cloning an existing virtual machine or\ntemplate.\n\nThis operation only works if the folder's childType includes VirtualMachine.\nIn addition to the VirtualMachine.Inventory.Create privilege, may also require\nany of the following privileges depending on the properties of the virtual\nmachine bring created:\n- VirtualMachine.Config.AddExistingDisk if including a virtual disk device\n  that refers to an existing virtual disk file (not RDM)\n- VirtualMachine.Config.AddNewDisk if including a virtual disk device that\n  creates a new virtual disk file (not RDM)\n- VirtualMachine.Config.RawDevice if including a raw device mapping\n  (RDM) or SCSI passthrough device\n- VirtualMachine.Config.HostUSBDevice if including a VirtualUSB device\n  backed by a host USB device\n- VirtualMachine.Config.AdvancedConfig if setting values in\n  ConfigSpec.extraConfig\n- VirtualMachine.Config.SwapPlacement if setting swapPlacement\n- VirtualMachine.Config.ChangeTracking if setting changed\n  block tracking for the virtual machine's disks.\n- Datastore.AllocateSpace required on all datastores where the\n  virtual machine and its virtual disks will be created\n- Network.Assign required on the network which is assigned to the\n  new virtual machine that is being created\n- Cryptographer.EncryptNew on the folder if the created virtual\n  machine is encrypted\n- Cryptographer.RegisterHost on the host if the created virtual\n  machine is encrypted, but encryption is not enabled on the host\n  \nTo create a VirtualDisk on a persistent memory storage, the storage\nmust be specified via\n*profile* while the datastore\nproperty of corresponding VirtualDisk backing must be unset.\n\nTo create a VirtualNVDIMM device, the storage\n*profile* must be set to the\ndefault persistent memory storage profile while the datastore property of\n*the device backing* must be\nunset.\n\n***Required privileges:*** VirtualMachine.Inventory.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly created *VirtualMachine*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmConfigFault***: if the configSpec has incorrect values. Typically, a more\nspecific subclass is thrown.\n\n***OutOfBounds***: if Host.capability.maxSupportedVMs is exceeded.\n\n***FileAlreadyExists***: if the requested cfgPath for the virtual machine's\nconfiguration file already exists.\n\n***FileFault***: if there is a problem creating the virtual machine on disk.\nTypically, a more specific subclass, such as NoDiskSpace, will be thrown.\n\n***DuplicateName***: if another virtual machine in the same folder already has\nthe specified target name.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the virtual machine is being created within a folder\nwhose *Folder.childType* property is not set to\n\"VirtualMachine\".\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***VmWwnConflict***: if the WWN of the virtual machine has been used by\nother virtual machines.\n\n***AlreadyExists***: if the requested cfgPath (or the default cfgPath)\nfor the virtual machine's configuration file is already loaded\nin the inventory.\n\n***InvalidState***: if the operation is not allowed in current state of\nthe entities involved.\n\n***NoPermission***: if the created virtual machine is encrypted but the\nuser does not have Cryptographer.EncryptNew on the folder.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "Folder_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** Folder.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/MoveIntoFolder_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Moves a set of managed entities into this folder.\n",
        "operationId": "Folder_MoveIntoFolder_Task",
        "description": "Moves a set of managed entities into this folder.\n\nThis operation is typically used by clients when they implement a drag-and-drop\ninterface to move a set of objects into a folder.\n\nThis operation is transactional only with respect to each individual entity.\nThe set of entities is moved sequentially as specified in the list, and\ncommitted one at a time. If the *Folder.MoveIntoFolder_Task* method fails on an object, the\nmethod terminates at that point with an exception, leaving the rest of the\nmanaged entities in their original location.\n\nThe objects that can be moved into a folder depends on the folder's\ntype (as defined by the folder's *Folder.childType* property).\nFor a datacenter folder, only datacenters and datacenter folders can be\nmoved into the folder. For a virtual machine folder, only virtual machines\nand virtual machine folders can be moved into the folder.\nFor a host folder, ComputeResource objects, host folder objects, and\nHostSystem objects can be moved into the folder.\n\nMoving a HostSystem into a host folder creates a stand-alone host from a\nhost that is currently part of a ClusterComputeResource. The host must be part\nof a ClusterComputeResource in the same datacenter and the host must be in\nmaintenance mode. Otherwise, the operation fails.\n\nA ComputeResource with a single root resource pool is created for each\nHostSystem. The name of the ComputeResource is the DNS or IP address of the\nhost. This operation moves the (physical) host resources out of a cluster.\nIt does not move or change the ResourcePool configuration that is part of the\nClusterComputeResource with which the host was associated.\n\nNote that all virtual machines associated with a host are moved with the host\ninto the folder. If there are virtual machines that should not be moved\nwith the host, then migrate them from the host before initiating this operation.\n\nvSphere Lifecycle Manager baselines (previously called vSphere Update\nManager VUM) is\n<a href=\"https://kb.vmware.com/s/article/89519\">deprecated</a> in vCenter 8.0.\nYou can instead manage the lifecycle of the\nhosts in your environment by using vSphere Lifecycle Manager images (vLCM).\nA Host moved from image managed cluster to datacenter/host folder will become\nbaseline managed stand-alone host.\n\nFor a HostSystem move, the privileges required are Host.Inventory.EditCluster\non the source ClusterComputeResource, Host.Inventory.MoveHost on the HostSystem,\nand Host.Inventory.AddStandaloneHost on the target Folder.\n\nOtherwise, the privilege required for this operation varies depending on this\nfolder's type and is checked against the source container, destination container,\nand the object:\n- Folder.Move if the object is a Folder\n- Datacenter.Move if the object is a Datacenter\n- Host.Inventory.MoveCluster if the object is a ComputeResource\n- VirtualMachine.Inventory.Move if the object is a virtual machine\n  or virtual machine template\n- DVSwitch.Move if the object is a DistributedVirtualSwitch\n- Datastore.Move if the object is a datastore\n- Network.Move if the object is a network\n  \nIf the object is a HostSystem, the privileges required are\nHost.Inventory.AddStandaloneHost on the folder, Host.Inventory.MoveHost on\nthe HostSystem, and Host.Inventory.EditCluster on the host's original\nComputeResource.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveIntoFolderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if this folder already contains an object with\nthe specified name.\n\n***InvalidFolder***: if a Folder that is a parent of this Folder is part\nof the list of objects.\n\n***InvalidState***: if a HostSystem is not part of the same\ndatacenter, not part of a ClusterComputeResource, or not in\nmaintenance mode.\n\n***NotSupported***: if the entity is being moved into a folder\nwhose *Folder.childType* property is not set to\nthe appropriate value. For example, a VirtualMachine entity\ncannot be moved into a folder whose ChildType property value\ndoes not contain \"VirtualMachine\".\n\n***DisallowedOperationOnFailoverHost***: if the host is being moved\nout of a cluster and was configured as a failover host in that\ncluster. See *ClusterFailoverHostAdmissionControlPolicy*.\n\n***VmAlreadyExistsInDatacenter***: if moving a standalone host between\ndatacenters, and one or more of the host's virtual machines is\nalready registered to a host in the destination datacenter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/RegisterVM_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Adds an existing virtual machine to the folder.\n",
        "operationId": "Folder_RegisterVM_Task",
        "description": "Adds an existing virtual machine to the folder.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\nThis operation only works if the folder's type is VirtualMachine.\nIn addition to the VirtualMachine.Inventory.Register and\nResource.AssignVMToPool privileges, it requires System.Read privilege\non the datastore that the existing virtual machine resides on. If the\nvirtual machine is encrypted Cryptographer.RegisterVM is required on the\nfolder, in which the virtual machine is registered. Otherwise, the VM is\nregistered successfully, but is left in the locked state.\n\n***Required privileges:*** VirtualMachine.Inventory.Register\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly registered *VirtualMachine*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the operation is not supported. For example,\ntemplates are not supported directly on hosts. Also, if the operation\nis invoked on a folder whose *Folder.childType* property is\nnot set to \"VirtualMachine\".\n\n***OutOfBounds***: if the maximum number of VMs for this folder has been\nexceeded. The maximum number is determined by\nHost.capability.maxSupportedVMs.\n\n***DuplicateName***: if another virtual machine in the same folder has\nthe target name.\n\n***AlreadyExists***: if the virtual machine is already registered.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***NotFound***: if the configuration file is not found on the system.\n\n***InvalidName***: if the entity name is invalid.\n\n***InvalidArgument***: if any of the arguments such as host or resource pool\nare not set to valid values.\n\n***VmConfigFault***: if the format / configuration of the virtual machine\nis invalid. Typically, a more specific fault is thrown such as\nInvalidFormat if the configuration file cannot be read, or\nInvalidDiskFormat if the disks cannot be read.\n\n***FileFault***: if there is an error accessing the files on disk.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidState***: if the operation is not allowed in current state of\nthe entities involved.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/Reload": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "Folder_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Folder/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "Folder_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** Folder.Rename\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "Folder_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Folder/{moId}/UnregisterAndDestroy_Task": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Recursively unregisters all virtual machines and vApps, and destroys\nall child virtual machine folders.\n",
        "operationId": "Folder_UnregisterAndDestroy_Task",
        "description": "Recursively unregisters all virtual machines and vApps, and destroys\nall child virtual machine folders.\n\nThis is similar to the Destroy\\_Task method,\nbut this method calls UnregisterAndDestroy\\_Task on each virtual machine\nobject instead of calling Destroy\\_Task.\nThis operation applies only to VirtualMachine folders.\n\nUnregisterAndDestroy\\_Task is a recursive operation that destroys the specified\nvirtual machine folder, unregisters all child virtual machine objects, and destroys\nall child virtual machine folders. When you call UnregisterAndDestroy\\_Task\nto destroy a virtual machine folder, the system uses the specified folder\nas a root and traverses its descendant hierarchy, calling UnregisterAndDestroy\\_Task\non each virtual machine object and Destroy\\_Task on each virtual machine folder.\nUnregisterAndDestroy\\_Task is a single operation that treats each recursive call\nas a single transaction, committing each call to remove an object individually.\nIf a failure occurs, the method terminates at that point with an exception, leaving\nsome or all objects unaffected.\n\nIf you are removing virtual machines, you must hold the VirtualMachine.Delete\nprivilege on all of the virtual machines to be unregistered, and on their parent folders.\nIf you are removing virtual applications, you must hold the VApp.Delete\nprivilege on all of the virtual applications to be unregistered, and on their\nparent folders.\n\n***Required privileges:*** Folder.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if a virtual machine is not powered off or suspended.\n\n***ConcurrentAccess***: if another client modifies the folder contents\nbefore this operation completes.\n\n***NotSupported***: if the *Folder.childType* property of the\nfolder is not set to \"VirtualMachine\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "Folder_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/availableField": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "Folder_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/childEntity": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "An array of managed object references.\n",
        "operationId": "Folder_getChildEntity",
        "description": "An array of managed object references.\n\nEach entry is a reference to a child entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/childType": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Specifies the object types a folder may contain.\n",
        "operationId": "Folder_getChildType",
        "description": "Specifies the object types a folder may contain.\n\nWhen you create a folder, it inherits its childType from the parent folder\nin which it is created. childType is an array of strings. Each array entry\nidentifies a set of object types - Folder and one or more managed object\ntypes. The following list shows childType values for the different folders:\n- { \"vim.Folder\", \"vim.Datacenter\" } - Identifies the root folder\n  and its descendant folders. Data center folders can contain\n  child data center folders and Datacenter managed objects.\n  Datacenter objects contain virtual machine, compute resource,\n  network entity, and datastore folders.\n- { \"vim.Folder\", \"vim.Virtualmachine\", \"vim.VirtualApp\" } - Identifies\n  a virtual machine folder. A virtual machine folder may contain child\n  virtual machine folders. It also can contain VirtualMachine managed objects,\n  templates, and VirtualApp managed objects.\n- { \"vim.Folder\", \"vim.ComputeResource\" } - Identifies a\n  compute resource folder, which contains child compute resource folders\n  and ComputeResource hierarchies.\n- { \"vim.Folder\", \"vim.Network\" } - Identifies a network entity folder.\n  Network entity folders on a vCenter Server can contain Network,\n  DistributedVirtualSwitch, and DistributedVirtualPortgroup managed\n  objects. Network entity folders on an ESXi host can contain only\n  Network objects.\n- { \"vim.Folder\", \"vim.Datastore\" } - Identifies a datastore folder.\n  Datastore folders can contain child datastore folders and Datastore\n  managed objects.\n  \n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/configIssue": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "Folder_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/configStatus": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "Folder_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/customValue": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Custom field values.\n",
        "operationId": "Folder_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "Folder_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "Folder_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "Folder_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/name": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "Folder_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/namespace": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "The namespace with which the Folder is associated.\n",
        "operationId": "Folder_getNamespace",
        "description": "The namespace with which the Folder is associated.\n\nNamespace is a vAPI\nresource which divides cluster resources and allows administrators to\ngive Kubernetes environments to their development teams.\nThis property is set only at the time of creation and cannot change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/overallStatus": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "Folder_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/parent": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "Folder_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/permission": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "Folder_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/recentTask": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "Folder_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/tag": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "Folder_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "Folder_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Folder/{moId}/value": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "Folder_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/GuestAliasManager/{moId}/AddGuestAlias": {
      "post": {
        "tags": [
          "GuestAliasManager"
        ],
        "summary": "Defines an alias for a guest account in a virtual machine.\n",
        "operationId": "GuestAliasManager_AddGuestAlias",
        "description": "Defines an alias for a guest account in a virtual machine.\n\nAfter the alias is defined, the ESXi Server will use the alias\nto authenticate guest operations requests.\n\nThis will add the given VMware SSO Server's certificate and a\nsubject to the alias store of the\nspecified user in the guest.\n\nIn order to add an alias to the guest, you must supply\nan existing valid credential. This can be any instance\nof *GuestAuthentication*, but must be valid for the\nspecified guest username.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddGuestAliasRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if there are insufficient permissions in\nthe guest OS.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n\n***InvalidArgument***: if the operation fails because\nthe certificate is invalid.\n\n***GuestMultipleMappings***: if the operation fails because\nmapCert is set and the certificate already\nexists in the mapping file for a\ndifferent user.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestAliasManager/{moId}/ListGuestAliases": {
      "post": {
        "tags": [
          "GuestAliasManager"
        ],
        "summary": "Lists the\n*GuestAliases*\nfor a specified user in the guest that can be used\nfor authentication of guest operations.\n",
        "operationId": "GuestAliasManager_ListGuestAliases",
        "description": "Lists the\n*GuestAliases*\nfor a specified user in the guest that can be used\nfor authentication of guest operations.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListGuestAliasesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GuestAliases"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if there are insufficient permissions in\nthe guest OS.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestAliasManager/{moId}/ListGuestMappedAliases": {
      "post": {
        "tags": [
          "GuestAliasManager"
        ],
        "summary": "Lists the\n*GuestMappedAliases*\nin the guest that can be used for\nauthentication of guest operations.\n",
        "operationId": "GuestAliasManager_ListGuestMappedAliases",
        "description": "Lists the\n*GuestMappedAliases*\nin the guest that can be used for\nauthentication of guest operations.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListGuestMappedAliasesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GuestMappedAliases"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if there are insufficient permissions in\nthe guest OS.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestAliasManager/{moId}/RemoveGuestAlias": {
      "post": {
        "tags": [
          "GuestAliasManager"
        ],
        "summary": "Removes an alias from the guest so it can no longer be\nused for\nauthentication of guest operations.\n",
        "operationId": "GuestAliasManager_RemoveGuestAlias",
        "description": "Removes an alias from the guest so it can no longer be\nused for\nauthentication of guest operations.\n\nIt will also be removed\nfrom the mapped credentials.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveGuestAliasRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if there are insufficient permissions in\nthe guest OS.\n\n***InvalidArgument***: if the operation fails because\nthe certificate is invalid.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestAliasManager/{moId}/RemoveGuestAliasByCert": {
      "post": {
        "tags": [
          "GuestAliasManager"
        ],
        "summary": "Removes a VMware SSO Server's certificate and all\nassociated aliases from the guest so it\ncan no longer be used for\nauthentication of guest operations.\n",
        "operationId": "GuestAliasManager_RemoveGuestAliasByCert",
        "description": "Removes a VMware SSO Server's certificate and all\nassociated aliases from the guest so it\ncan no longer be used for\nauthentication of guest operations.\n\nIt will also be removed\nfrom the global certificate-to-user mapping file in the guest.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveGuestAliasByCertRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if there are insufficient permissions in\nthe guest OS.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***InvalidArgument***: if the operation fails because\nthe certificate is invalid.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestAuthManager/{moId}/AcquireCredentialsInGuest": {
      "post": {
        "tags": [
          "GuestAuthManager"
        ],
        "summary": "Authenticates in the guest and returns a *GuestAuthentication* object\nwith the acquired credentials for use in subsequent guest operation calls.\n",
        "operationId": "GuestAuthManager_AcquireCredentialsInGuest",
        "description": "Authenticates in the guest and returns a *GuestAuthentication* object\nwith the acquired credentials for use in subsequent guest operation calls.\n\nThis can be used to authenticate inside the guest and obtain a\n*GuestAuthentication* object for supported authentication types.\nThis operation is not needed for Name and Password Authentication. To use\nName and Password Authentication, see *NamePasswordAuthentication*.\nFor SSPI authentication, requestAuth should be of the type *SSPIAuthentication*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcquireCredentialsInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *GuestAuthentication* object that can be used in\nguest operation calls.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GuestAuthentication"
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestAuthenticationChallenge***: if the credential information\nprovided requires a challenge to authenticate.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to\nsupport the operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due\nto guest agent configuration.\n\n***TooManyGuestLogons***: if there are too many concurrent login\nsessions active in the guest.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestAuthManager/{moId}/ReleaseCredentialsInGuest": {
      "post": {
        "tags": [
          "GuestAuthManager"
        ],
        "summary": "Releases session data and resources associated with\na *GuestAuthentication* object returned by *GuestAuthManager.AcquireCredentialsInGuest*.\n",
        "operationId": "GuestAuthManager_ReleaseCredentialsInGuest",
        "description": "Releases session data and resources associated with\na *GuestAuthentication* object returned by *GuestAuthManager.AcquireCredentialsInGuest*.\n\nThis frees any resources and session data associated with a\n*GuestAuthentication* object returned by *GuestAuthManager.AcquireCredentialsInGuest*.\nThe *GuestAuthentication* object can no longer be used to\nauthenticate in the guest once released. Currently this operation is only\nvalid for *TicketedSessionAuthentication* objects.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReleaseCredentialsInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to\nsupport the operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due\nto guest agent configuration.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestAuthManager/{moId}/ValidateCredentialsInGuest": {
      "post": {
        "tags": [
          "GuestAuthManager"
        ],
        "summary": "Validates the *GuestAuthentication* credentials.\n",
        "operationId": "GuestAuthManager_ValidateCredentialsInGuest",
        "description": "Validates the *GuestAuthentication* credentials.\n\nThis can be used to check the authentication data, or\nvalidate any authentication that has a timeout is still valid.\nIf the authentication is not valid, *GuestPermissionDenied*\nwill be thrown.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateCredentialsInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported by\nthe guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/ChangeFileAttributesInGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Changes the file attributes of a specified file inside the guest.\n",
        "operationId": "GuestFileManager_ChangeFileAttributesInGuest",
        "description": "Changes the file attributes of a specified file inside the guest.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeFileAttributesInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due\nto guest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/CreateTemporaryDirectoryInGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Creates a temporary directory.\n",
        "operationId": "GuestFileManager_CreateTemporaryDirectoryInGuest",
        "description": "Creates a temporary directory.\n\nCreates a new unique temporary directory for the user to use as needed.\nThe user is responsible for removing it when it is no longer needed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTemporaryDirectoryInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The absolute path of the temporary directory that is created.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/CreateTemporaryFileInGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Creates a temporary file.\n",
        "operationId": "GuestFileManager_CreateTemporaryFileInGuest",
        "description": "Creates a temporary file.\n\nCreates a new unique temporary file for the user to use as needed.\nThe user is responsible for removing it when it is no longer needed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTemporaryFileInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The absolute path of the temporary file that is created.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/DeleteDirectoryInGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Deletes a directory in the guest OS.\n",
        "operationId": "GuestFileManager_DeleteDirectoryInGuest",
        "description": "Deletes a directory in the guest OS.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteDirectoryInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***NotADirectory***: if the specified object is not a directory.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/DeleteFileInGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Deletes a file in the guest OS\n",
        "operationId": "GuestFileManager_DeleteFileInGuest",
        "description": "Deletes a file in the guest OS\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteFileInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***NotAFile***: if the specified object is not a file.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/InitiateFileTransferFromGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Initiates an operation to transfer a file from the guest.\n",
        "operationId": "GuestFileManager_InitiateFileTransferFromGuest",
        "description": "Initiates an operation to transfer a file from the guest.\n\nObtains a reference to\n*FileTransferInformation* object\nfor the file transfer operation. The information object contains a URL\nto the file inside the guest to be transferred to the client.\n  \nSee *FileTransferInformation* for\ninformation on how to use the information object. If the power state\nof the Virtual Machine is changed when the file transfer is in progress,\nor the Virtual Machine is migrated,\nthen the transfer operation is aborted.\n\nIn order to ensure a secure connection to the host when transferring\na file using HTTPS, the X.509 certificate for the host must be used\nto authenticate the remote end of the connection. The certificate of\nthe host that the virtual machine is running on can be retrieved using\nthe following fields:\nvm (*VirtualMachine*) -&gt; runtime (*VirtualMachineRuntimeInfo*)\n\\-&gt; host (*HostSystem*) -&gt; config (*HostConfigInfo*)\n\\-&gt; certificate.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateFileTransferFromGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A reference to\n*FileTransferInformation*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileTransferInformation"
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: If the guest agent is too old to\nsupport the operation.\n\n***OperationNotSupportedByGuest***: If the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: If the operation is not enabled due\nto guest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/InitiateFileTransferToGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Initiates an operation to transfer a file to the guest.\n",
        "operationId": "GuestFileManager_InitiateFileTransferToGuest",
        "description": "Initiates an operation to transfer a file to the guest.\n\nObtains a URL to the file inside the guest to be transferred from the\nclient. The user should send a HTTP PUT request specifying the file\ncontent in the body of the request. Multiple PUT request cannot be\nsent to the URL simultaneously. URL will be invalidated after a\nsuccessful PUT request is sent. If the power state of the Virtual\nMachine is changed when the file transfer is in progress, or\nthe Virtual Machine is migrated, then the\ntransfer operation is aborted.\n\nIn order to ensure a secure connection to the host when transferring\na file using HTTPS, the X.509 certificate for the host must be used\nto authenticate the remote end of the connection. The certificate of\nthe host that the virtual machine is running on can be retrieved using\nthe following fields:\nvm (*VirtualMachine*) -&gt; runtime (*VirtualMachineRuntimeInfo*)\n\\-&gt; host (*HostSystem*) -&gt; config (*HostConfigInfo*)\n\\-&gt; certificate.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateFileTransferToGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A URL to which the user has to send a PUT request.\nThe host part of the URL is returned as '\\*' if the hostname to be\nused is the name of the server to which the call was made. For\nexample, if the call is made to esx-svr-1.domain1.com, and the file\ncan be uploaded to\n`https://esx-svr-1.domain1.com/guestFile?id=1&token=1234`,\nthe URL returned may be\n`https://&#42;/guestFile?id=1&token=1234`.\nThe client replaces the asterisk with the server name on which it\ninvoked the call.\n  \n  \nThe URL is valid only for 10 minutes from the time it is generated.\nAlso, the URL becomes invalid whenever the virtual machine is powered\noff, suspended or unregistered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: If the guest agent is too old to\nsupport the operation.\n\n***OperationNotSupportedByGuest***: If the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: If the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/ListFilesInGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Returns information about files or directories in the guest.\n",
        "operationId": "GuestFileManager_ListFilesInGuest",
        "description": "Returns information about files or directories in the guest.\n\nThe results could be extremely large, so to minimize the size\nof the return value for cases where a UI only needs to show\nthe first N results, the answer is batched. Files are returned in\nOS-specific (inode) order. If the directory is modified between\nqueries, missing or duplicate results can occur.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListFilesInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A *GuestListFileInfo*\nobject containing information for all the matching files\nin the filePath and the number of files left to be returned.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GuestListFileInfo"
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidArgument***: If the matchPattern is an invalid regular\nexpression.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/MakeDirectoryInGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Creates a directory in the guest OS\n",
        "operationId": "GuestFileManager_MakeDirectoryInGuest",
        "description": "Creates a directory in the guest OS\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MakeDirectoryInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the directory cannot be created because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***FileAlreadyExists***: if the specified object already exists.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/MoveDirectoryInGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Moves or renames a directory in the guest.\n",
        "operationId": "GuestFileManager_MoveDirectoryInGuest",
        "description": "Moves or renames a directory in the guest.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveDirectoryInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestFileManager/{moId}/MoveFileInGuest": {
      "post": {
        "tags": [
          "GuestFileManager"
        ],
        "summary": "Renames a file in the guest.\n",
        "operationId": "GuestFileManager_MoveFileInGuest",
        "description": "Renames a file in the guest.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveFileInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the operation fails because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestOperationsManager/{moId}/aliasManager": {
      "get": {
        "tags": [
          "GuestOperationsManager"
        ],
        "summary": "A managed object that provides methods to support single sign-on\nin the guest operating system.\n",
        "operationId": "GuestOperationsManager_getAliasManager",
        "description": "A managed object that provides methods to support single sign-on\nin the guest operating system.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *GuestAliasManager*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/GuestOperationsManager/{moId}/authManager": {
      "get": {
        "tags": [
          "GuestOperationsManager"
        ],
        "summary": "A singleton managed object that provides methods for guest authentication\noperations.\n",
        "operationId": "GuestOperationsManager_getAuthManager",
        "description": "A singleton managed object that provides methods for guest authentication\noperations.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *GuestAuthManager*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/GuestOperationsManager/{moId}/fileManager": {
      "get": {
        "tags": [
          "GuestOperationsManager"
        ],
        "summary": "A singleton managed object that provides methods for guest file\noperations.\n",
        "operationId": "GuestOperationsManager_getFileManager",
        "description": "A singleton managed object that provides methods for guest file\noperations.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *GuestFileManager*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/GuestOperationsManager/{moId}/guestWindowsRegistryManager": {
      "get": {
        "tags": [
          "GuestOperationsManager"
        ],
        "summary": "A singleton managed object that provides methods for guest windows registry\noperations.\n",
        "operationId": "GuestOperationsManager_getGuestWindowsRegistryManager",
        "description": "A singleton managed object that provides methods for guest windows registry\noperations.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *GuestWindowsRegistryManager*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/GuestOperationsManager/{moId}/processManager": {
      "get": {
        "tags": [
          "GuestOperationsManager"
        ],
        "summary": "A singleton managed object that provides methods for guest process\noperations.\n",
        "operationId": "GuestOperationsManager_getProcessManager",
        "description": "A singleton managed object that provides methods for guest process\noperations.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *GuestProcessManager*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/GuestProcessManager/{moId}/ListProcessesInGuest": {
      "post": {
        "tags": [
          "GuestProcessManager"
        ],
        "summary": "List the processes running in the guest operating system,\nplus those started by *GuestProcessManager.StartProgramInGuest*\nthat have recently completed.\n",
        "operationId": "GuestProcessManager_ListProcessesInGuest",
        "description": "List the processes running in the guest operating system,\nplus those started by *GuestProcessManager.StartProgramInGuest*\nthat have recently completed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListProcessesInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list running processes is returned in an array of\n*GuestProcessInfo* structures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GuestProcessInfo"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if there are insufficient permissions in\nthe guest OS.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestProcessManager/{moId}/ReadEnvironmentVariableInGuest": {
      "post": {
        "tags": [
          "GuestProcessManager"
        ],
        "summary": "Reads an environment variable from the guest OS\n",
        "operationId": "GuestProcessManager_ReadEnvironmentVariableInGuest",
        "description": "Reads an environment variable from the guest OS\n\nIf the authentication uses interactiveSession, then the\nenvironment being read will be that of the user logged into the desktop.\nOtherwise it's the environment of the user specified by the auth.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReadEnvironmentVariableInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A string array containing the value of the variables,\nor all environment variables if nothing is specified.\nThe format of each string is \"name=value\".\nIf any specified environment variable isn't set, then nothing is\nreturned for that variable.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\naccepted by the guest OS.\n\n***GuestPermissionDenied***: if there are insufficient permissions in\nthe guest OS.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestProcessManager/{moId}/StartProgramInGuest": {
      "post": {
        "tags": [
          "GuestProcessManager"
        ],
        "summary": "Starts a program in the guest operating system.\n",
        "operationId": "GuestProcessManager_StartProgramInGuest",
        "description": "Starts a program in the guest operating system.\n\nA process started this way can have its status queried with\n*GuestProcessManager.ListProcessesInGuest*.\nWhen the process completes, its exit code and end time will be\navailable for 5 minutes after completion.\n\nIf VMware Tools is restarted, the exit code and end time will not\nbe available.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartProgramInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The pid of the program started.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***FileNotFound***: if the program path does not exist.\n\n***FileFault***: if there is a file error in the guest operating system.\n\n***CannotAccessFile***: if the program path cannot be accessed.\n\n***GuestPermissionDenied***: if the program path cannot be run because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported by\nthe guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestProcessManager/{moId}/TerminateProcessInGuest": {
      "post": {
        "tags": [
          "GuestProcessManager"
        ],
        "summary": "Terminates a process in the guest OS.\n",
        "operationId": "GuestProcessManager_TerminateProcessInGuest",
        "description": "Terminates a process in the guest OS.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TerminateProcessInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***GuestProcessNotFound***: if the pid does not refer to a valid process.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestPermissionDenied***: if the process cannot be terminated because\nthe guest authentication will not allow the operation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to\nsupport the operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported\nby the guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due\nto guest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestWindowsRegistryManager/{moId}/CreateRegistryKeyInGuest": {
      "post": {
        "tags": [
          "GuestWindowsRegistryManager"
        ],
        "summary": "Create a registry key.\n",
        "operationId": "GuestWindowsRegistryManager_CreateRegistryKeyInGuest",
        "description": "Create a registry key.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRegistryKeyInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestRegistryKeyInvalid***: if the registry key is not valid. Check\nthe HKEY Root specified.\n\n***GuestRegistryKeyAlreadyExists***: if the registry key already exists.\n\n***GuestRegistryKeyParentVolatile***: if trying to create a non-volatile\nregistry subkey under a volatile\nregistry parent key.\n\n***GuestPermissionDenied***: if the program path cannot be run because\nthe guest authentication will not allow the\noperation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported by\nthe guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestWindowsRegistryManager/{moId}/DeleteRegistryKeyInGuest": {
      "post": {
        "tags": [
          "GuestWindowsRegistryManager"
        ],
        "summary": "Delete a registry key.\n",
        "operationId": "GuestWindowsRegistryManager_DeleteRegistryKeyInGuest",
        "description": "Delete a registry key.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteRegistryKeyInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestRegistryKeyInvalid***: if the registry key is not valid. Check\nthe HKEY Root specified.\n\n***GuestRegistryKeyHasSubkeys***: if the parameter recursive is false and\nthe key has subkeys.\n\n***GuestPermissionDenied***: if the program path cannot be run because\nthe guest authentication will not allow the\noperation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported by\nthe guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestWindowsRegistryManager/{moId}/DeleteRegistryValueInGuest": {
      "post": {
        "tags": [
          "GuestWindowsRegistryManager"
        ],
        "summary": "Delete a registry value.\n",
        "operationId": "GuestWindowsRegistryManager_DeleteRegistryValueInGuest",
        "description": "Delete a registry value.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteRegistryValueInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestRegistryKeyInvalid***: if the registry key is not valid. Check\nthe HKEY Root specified.\n\n***GuestRegistryValueNotFound***: if the registry value was not found.\n\n***GuestPermissionDenied***: if the program path cannot be run because\nthe guest authentication will not allow the\noperation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported by\nthe guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestWindowsRegistryManager/{moId}/ListRegistryKeysInGuest": {
      "post": {
        "tags": [
          "GuestWindowsRegistryManager"
        ],
        "summary": "List all registry subkeys for a given registry key.\n",
        "operationId": "GuestWindowsRegistryManager_ListRegistryKeysInGuest",
        "description": "List all registry subkeys for a given registry key.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListRegistryKeysInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of subkeys is returned in an array of\n*GuestRegKeySpec* structures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GuestRegKeyRecordSpec"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestRegistryKeyInvalid***: if the registry key is not valid. Check\nthe HKEY Root specified.\n\n***GuestPermissionDenied***: if the program path cannot be run because\nthe guest authentication will not allow the\noperation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported by\nthe guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestWindowsRegistryManager/{moId}/ListRegistryValuesInGuest": {
      "post": {
        "tags": [
          "GuestWindowsRegistryManager"
        ],
        "summary": "List all registry values for a given registry key.\n",
        "operationId": "GuestWindowsRegistryManager_ListRegistryValuesInGuest",
        "description": "List all registry values for a given registry key.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListRegistryValuesInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of values is returned in an array of\n*GuestRegValueSpec* structures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GuestRegValueSpec"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestRegistryKeyInvalid***: if the registry key is not valid. Check\nthe HKEY Root specified.\n\n***GuestPermissionDenied***: if the program path cannot be run because\nthe guest authentication will not allow the\noperation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported by\nthe guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/GuestWindowsRegistryManager/{moId}/SetRegistryValueInGuest": {
      "post": {
        "tags": [
          "GuestWindowsRegistryManager"
        ],
        "summary": "Set/Create a registry value.\n",
        "operationId": "GuestWindowsRegistryManager_SetRegistryValueInGuest",
        "description": "Set/Create a registry value.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetRegistryValueInGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***GuestOperationsFault***: if there is an error processing a guest\noperation.\n\n***GuestOperationsUnavailable***: if the VM agent for guest operations\nis not running.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***GuestRegistryKeyInvalid***: if the registry key is not valid. Check\nthe HKEY Root specified.\n\n***GuestPermissionDenied***: if the program path cannot be run because\nthe guest authentication will not allow the\noperation.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestComponentsOutOfDate***: if the guest agent is too old to support\nthe operation.\n\n***OperationNotSupportedByGuest***: if the operation is not supported by\nthe guest OS.\n\n***OperationDisabledByGuest***: if the operation is not enabled due to\nguest agent configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/AddFilter": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Adds health update filters.\n",
        "operationId": "HealthUpdateManager_AddFilter",
        "description": "Adds health update filters.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddFilterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The filter identifier.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n\n***InvalidArgument***: - If filter name exceeds the maximum length\nlimit of 56 characters.\n\\- If a filter with this name already exists for\nthis provider.\n\\- If infoIds list contains a HealthUpdateInfo id\nwhich is not associated with the specified\nprovider.\n\\- If there are duplicate HealthUpdateInfo ids\nin the infoIds list.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/AddFilterEntities": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Add entities on which this filter is configured.\n",
        "operationId": "HealthUpdateManager_AddFilterEntities",
        "description": "Add entities on which this filter is configured.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddFilterEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If no filter with this id is registered.\n\n***InvalidArgument***: - If any of the entities is already associated\nwith the specified filter.\n\\- If there are duplicate entities in the given\nentities list.\n\\- If the entities list contains an entity of\ntype other than HostSystem and\nClusterComputeResource.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/AddMonitoredEntities": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "The provider monitors additional managed entities.\n",
        "operationId": "HealthUpdateManager_AddMonitoredEntities",
        "description": "The provider monitors additional managed entities.\n\nA particular\nmanaged entity can be monitored by multiple providers.\n\n***Required privileges:*** HealthUpdateProvider.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddMonitoredEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n\n***NotSupported***: If the http session user does not match the user\nwho registered the provider, or if the http\nsession cannot be retrieved.\n\n***InvalidArgument***: - If any of the entities is not of type\nHostSystem.\n\\- If there are duplicate entities in the given\nentities list.\n\\- If any of the entities is already monitored by\nthe specified provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/HasMonitoredEntity": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Check if the managed entity is monitored by the provider.\n",
        "operationId": "HealthUpdateManager_HasMonitoredEntity",
        "description": "Check if the managed entity is monitored by the provider.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HasMonitoredEntityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "True iff the entity is monitored by this\nprovider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n\n***InvalidArgument***: If the specified entity is not of type\nHostSystem.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/HasProvider": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Verifies if the given provider is registered.\n",
        "operationId": "HealthUpdateManager_HasProvider",
        "description": "Verifies if the given provider is registered.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HasProviderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "True iff the provider is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/PostHealthUpdates": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Report a change in health status.\n",
        "operationId": "HealthUpdateManager_PostHealthUpdates",
        "description": "Report a change in health status.\n\n***Required privileges:*** HealthUpdateProvider.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostHealthUpdatesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n\n***NotSupported***: If the http session user does not match the user\nwho registered the provider, or if the http\nsession cannot be retrieved.\n\n***InvalidArgument***: - If an unknown HealthUpdate id is given.\n\\- If updates list contains a HealthUpdate for a\nhost which is not monitored by the specified\nprovider.\n\\- If updates list contains multiple\nHealthUpdates with the same id.\n\\- If an existing HealthUpdate id is used in the\ngiven updates.\n\\- If there is a HealthUpdate with green status\nand non-empty remediation.\n\\- If there is a HealthUpdate with gray status.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryFilterEntities": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Returns the list of entities on which this filter is configured.\n",
        "operationId": "HealthUpdateManager_QueryFilterEntities",
        "description": "Returns the list of entities on which this filter is configured.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryFilterEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of managed entities.\n\nRefers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no filter with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryFilterInfoIds": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Returns the list of HealthUpdateInfos configured for this filter.\n",
        "operationId": "HealthUpdateManager_QueryFilterInfoIds",
        "description": "Returns the list of HealthUpdateInfos configured for this filter.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryFilterInfoIdsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of identifiers of the configured\nHealthUpdateInfos.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no filter with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryFilterList": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Returns the list of filters.\n",
        "operationId": "HealthUpdateManager_QueryFilterList",
        "description": "Returns the list of filters.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryFilterListRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of filters identifiers.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryFilterName": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Returns the filter name.\n",
        "operationId": "HealthUpdateManager_QueryFilterName",
        "description": "Returns the filter name.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryFilterNameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The name of the filter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no filter with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryHealthUpdateInfos": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Returns the list of HealthUpdateInfo configured for the given provider.\n",
        "operationId": "HealthUpdateManager_QueryHealthUpdateInfos",
        "description": "Returns the list of HealthUpdateInfo configured for the given provider.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryHealthUpdateInfosRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of configured HealthUpdateInfo.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HealthUpdateInfo"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryHealthUpdates": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Returns the list of health updates reported by the given provider.\n",
        "operationId": "HealthUpdateManager_QueryHealthUpdates",
        "description": "Returns the list of health updates reported by the given provider.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryHealthUpdatesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of current health updates by this provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HealthUpdate"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryMonitoredEntities": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Returns the list of managed entities monitored by the given provider.\n",
        "operationId": "HealthUpdateManager_QueryMonitoredEntities",
        "description": "Returns the list of managed entities monitored by the given provider.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryMonitoredEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of monitored managed entities.\n\nRefers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryProviderList": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "The providers.\n",
        "operationId": "HealthUpdateManager_QueryProviderList",
        "description": "The providers.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The list of identifiers of registered providers.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryProviderName": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Query the name of the provider.\n",
        "operationId": "HealthUpdateManager_QueryProviderName",
        "description": "Query the name of the provider.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryProviderNameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The name of the provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/QueryUnmonitoredHosts": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "The set of hosts that are in the cluster, but not monitored by\nthe provider.\n",
        "operationId": "HealthUpdateManager_QueryUnmonitoredHosts",
        "description": "The set of hosts that are in the cluster, but not monitored by\nthe provider.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryUnmonitoredHostsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The hosts in the cluster that are not monitored by\nthe provider.\n\nRefers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/RegisterHealthUpdateProvider": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Registers provider.\n",
        "operationId": "HealthUpdateManager_RegisterHealthUpdateProvider",
        "description": "Registers provider.\n\n***Required privileges:*** HealthUpdateProvider.Register\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterHealthUpdateProviderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The identifier for the registered provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/RemoveFilter": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Removes the specified filter.\n",
        "operationId": "HealthUpdateManager_RemoveFilter",
        "description": "Removes the specified filter.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveFilterRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If no filter with this id is registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/RemoveFilterEntities": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Remove entities on which this filter is configured.\n",
        "operationId": "HealthUpdateManager_RemoveFilterEntities",
        "description": "Remove entities on which this filter is configured.\n\n***Required privileges:*** Host.Inventory.EditCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveFilterEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If no filter with this id is registered.\n\n***InvalidArgument***: - If there are duplicate managed entities in the\ngiven entities list.\n\\- If there is a managed entity of type other\nthan HostSystem and ClusterComputeResource.\n\\- If the entities list contains an entity which\nis not associated with the specified filter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/RemoveMonitoredEntities": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "The provider monitors fewer managed entities.\n",
        "operationId": "HealthUpdateManager_RemoveMonitoredEntities",
        "description": "The provider monitors fewer managed entities.\n\n***Required privileges:*** HealthUpdateProvider.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveMonitoredEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If no provider with this id is registered.\n\n***InvalidState***: If any of the entities is a part of an\nInfraUpdateHa cluster that has the provider\nenabled.\n\n***NotSupported***: If the http session user does not match the user\nwho registered the provider, or if the http\nsession cannot be retrieved.\n\n***InvalidArgument***: - If any of the specified entities is not of\ntype HostSystem.\n\\- If there are duplicate entities in the given\nentities list.\n\\- If any of the entities is already not being\nmonitored by the specified provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HealthUpdateManager/{moId}/UnregisterHealthUpdateProvider": {
      "post": {
        "tags": [
          "HealthUpdateManager"
        ],
        "summary": "Unregisters the specified provider, if it exists.\n",
        "operationId": "HealthUpdateManager_UnregisterHealthUpdateProvider",
        "description": "Unregisters the specified provider, if it exists.\n\nA VirtualCenter\nServer restart implicitly unregisters all providers.\n\n***Required privileges:*** HealthUpdateProvider.Unregister\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnregisterHealthUpdateProviderRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If the specified provider is not registered.\n\n***InvalidState***: If the specified provider is still used in an\nInfraUpdateHa cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HistoryCollector/{moId}/DestroyCollector": {
      "post": {
        "tags": [
          "HistoryCollector"
        ],
        "summary": "Destroys this collector.\n",
        "operationId": "HistoryCollector_DestroyCollector",
        "description": "Destroys this collector.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HistoryCollector/{moId}/ResetCollector": {
      "post": {
        "tags": [
          "HistoryCollector"
        ],
        "summary": "Moves the \"scrollable view\" to the item immediately preceding the\n\"viewable latest page\".\n",
        "operationId": "HistoryCollector_ResetCollector",
        "description": "Moves the \"scrollable view\" to the item immediately preceding the\n\"viewable latest page\".\n\nIf you use \"readPrev\",\n*ReadPreviousTasks* or\n*ReadPreviousEvents*,\nall items\nare retrieved from the newest item to the oldest item.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HistoryCollector/{moId}/RewindCollector": {
      "post": {
        "tags": [
          "HistoryCollector"
        ],
        "summary": "Moves the \"scrollable view\" to the oldest item.\n",
        "operationId": "HistoryCollector_RewindCollector",
        "description": "Moves the \"scrollable view\" to the oldest item.\n\nIf you use\n*ReadNextTasks* or\n*ReadNextEvents*,\nall items are retrieved from the oldest item to the newest item. This\nis the default setting when the collector is created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HistoryCollector/{moId}/SetCollectorPageSize": {
      "post": {
        "tags": [
          "HistoryCollector"
        ],
        "summary": "Sets the \"viewable latest page\" size to contain at most the\nnumber of items specified by the maxCount parameter).\n",
        "operationId": "HistoryCollector_SetCollectorPageSize",
        "description": "Sets the \"viewable latest page\" size to contain at most the\nnumber of items specified by the maxCount parameter).\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetCollectorPageSizeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HistoryCollector/{moId}/filter": {
      "get": {
        "tags": [
          "HistoryCollector"
        ],
        "summary": "The filter used to create this collector.\n",
        "operationId": "HistoryCollector_getFilter",
        "description": "The filter used to create this collector.\n\nThe type of the returned filter is determined by the managed object\nfor which the collector is created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Any"
                }
              }
            }
          }
        }
      }
    },
    "/HostAccessManager/{moId}/ChangeAccessMode": {
      "post": {
        "tags": [
          "HostAccessManager"
        ],
        "summary": "Update the access mode for a user or group.\n",
        "operationId": "HostAccessManager_ChangeAccessMode",
        "description": "Update the access mode for a user or group.\n\nIf the host is in lockdown mode, this operation is allowed only on\nusers in the exceptions list - see *HostAccessManager.QueryLockdownExceptions*,\nand trying to change the access mode of other users or groups\nwill fail with SecurityError.\n\n***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeAccessModeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AuthMinimumAdminPermission***: if this change would render the\nESXi host inaccessible for local non-system users.\nThe API *HostAccessManager.ChangeLockdownMode* may be used\ninstead.\n\n***InvalidArgument***: if accessMode is not valid.\n\n***SecurityError***: if the host is in lockdown mode and 'principal'\nis not in the exceptions list.\n\n***UserNotFound***: if the specified user is not found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostAccessManager/{moId}/ChangeLockdownMode": {
      "post": {
        "tags": [
          "HostAccessManager"
        ],
        "summary": "Changes the lockdown state of the ESXi host.\n",
        "operationId": "HostAccessManager_ChangeLockdownMode",
        "description": "Changes the lockdown state of the ESXi host.\n\nThis operation will do nothing if the host is already in the desired\nlockdown state.\n\nWhen the host is in lockdown mode it can be managed only through vCenter\nand through DCUI (Direct Console User Interface) if the DCUI service is\nrunning.\nThis is achieved by removing all permissions on the host, except those\nof the exception users defined with *HostAccessManager.UpdateLockdownExceptions*.\n\nIn addition, the permissions for users 'dcui' and 'vpxuser'\nare always preserved.\n\nWhen lockdown mode is disabled, the system will try to restore all\npermissions that have been removed when lockdown mode was enabled.\nIt is possible that not all permissions may be restored and this is not\nan error, e.g. if in the meantime some user or managed object was deleted.\n\nIt may be possible that after exiting lockdown mode the only permissions\non the host will be those of users 'dcui' and 'vpxuser'. This will render the\nhost unmanageable if it is not already managed by vCenter, or if the\nconnection to vCenter is lost. To prevent this, the users in the\n\"DCUI.Access\" list will be assigned Admin roles.\n\nWhile the host is in lockdown mode, some operations will fail with\nSecurityError. This ensures that the conditions for lockdown mode cannot\nbe changed. For example it is allowed to change the access mode only for\nusers in the exceptions list.\n\nWhen the host is in lockdown mode, changing the running state of service\nDCUI through *HostServiceSystem* will also fail with\nSecurityError accompanied with an appropriate localizeable message.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeLockdownModeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AuthMinimumAdminPermission***: if the user invoking the operation\nis not in the exceptions list - see\n*HostAccessManager.QueryLockdownExceptions*.\n\n***NoPermission***: if the current session does not have enough\npermissions to perform the operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthMinimumAdminPermission"
                }
              }
            }
          }
        }
      }
    },
    "/HostAccessManager/{moId}/QueryLockdownExceptions": {
      "post": {
        "tags": [
          "HostAccessManager"
        ],
        "summary": "Get the list of users which are exceptions for lockdown mode.\n",
        "operationId": "HostAccessManager_QueryLockdownExceptions",
        "description": "Get the list of users which are exceptions for lockdown mode.\n\nSee *HostAccessManager.UpdateLockdownExceptions*.\n\n***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "the list of users which will not lose their permissions when\nthe host enters lockdown mode.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostAccessManager/{moId}/QuerySystemUsers": {
      "post": {
        "tags": [
          "HostAccessManager"
        ],
        "summary": "Get the list of local system users.\n",
        "operationId": "HostAccessManager_QuerySystemUsers",
        "description": "Get the list of local system users.\n\nThese are special users like 'vpxuser' and 'dcui',\nwhich may be used for authenticating different sub-components of the\nvSphere system and may be essential for its correct functioning.\n\nUsually these users may not be used by human operators to connect\ndirectly to the host and the UI may choose to show them only in some\n\"advanced\" UI view.\n\n***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "the list of local system users.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostAccessManager/{moId}/RetrieveHostAccessControlEntries": {
      "post": {
        "tags": [
          "HostAccessManager"
        ],
        "summary": "Retrieve access entries.\n",
        "operationId": "HostAccessManager_RetrieveHostAccessControlEntries",
        "description": "Retrieve access entries.\n\nReturns a list of AccessEntry objects for each VIM user or group which\nhave explicitly assigned permissions on the host. This means that\n*accessNone* will not be present in the result.\n\n***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "a list of AccessEntry objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostAccessControlEntry"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostAccessManager/{moId}/UpdateLockdownExceptions": {
      "post": {
        "tags": [
          "HostAccessManager"
        ],
        "summary": "Update the list of users which are exceptions for lockdown mode.\n",
        "operationId": "HostAccessManager_UpdateLockdownExceptions",
        "description": "Update the list of users which are exceptions for lockdown mode.\n\nUsually these are user accounts used by third party solutions and\nexternal applications which need to continue to function in lockdown\nmode. It is not advised to add user accounts used by human operators,\nbecause this will compromise the purpose of lockdown mode.\n\nBoth local and domain users are supported. The format for domain accounts\nis \"DOMAIN\\\\login\".\n\nWhen this API is called when the host is in lockdown mode,\nthe behaviour is as follows:\n- if a user is removed from the exceptions list,\n  then the permissions of that user are removed.\n- if a user is added to the exceptions list,\n  then the permissions of that user are restored.\n  \n***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLockdownExceptionsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AuthMinimumAdminPermission***: if the user invoking the operation\nis not present in the new list of exceptions.\n\n***UserNotFound***: if one of the specified users is not found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostAccessManager/{moId}/UpdateSystemUsers": {
      "post": {
        "tags": [
          "HostAccessManager"
        ],
        "summary": "Update the list of local system users.\n",
        "operationId": "HostAccessManager_UpdateSystemUsers",
        "description": "Update the list of local system users.\n\nThe special users 'dcui' and 'vpxuser' need not be specified.\nThey are always reported in the list of system users.\n\n***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSystemUsersRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: If one of the specified user names is not valid,\nor is in Active Directory domain format.\n\n***UserNotFound***: If one of the specified users is not found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserNotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HostAccessManager/{moId}/lockdownMode": {
      "get": {
        "tags": [
          "HostAccessManager"
        ],
        "summary": "Current lockdown state of the host.\n",
        "operationId": "HostAccessManager_getLockdownMode",
        "description": "Current lockdown state of the host.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostLockdownMode_enum"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/DisableSmartCardAuthentication": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Disables console authentication using a local smart card and reader.\n",
        "operationId": "HostActiveDirectoryAuthentication_DisableSmartCardAuthentication",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nDisables console authentication using a local smart card and reader.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ActiveDirectoryFault***: if the active directory client could not\nbe reconfigured.\n\n***HostConfigFault***: if the host configuration prevents smart card\nauthentication from being disabled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/EnableSmartCardAuthentication": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Enables console authentication using a local smart card and reader.\n",
        "operationId": "HostActiveDirectoryAuthentication_EnableSmartCardAuthentication",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nEnables console authentication using a local smart card and reader.\n\nTo take effect this feature requires an active domain membership to a\ndomain with users configured to authenticate using smart cards.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ActiveDirectoryFault***: if the active directory client could not\nbe reconfigured.\n\n***HostConfigFault***: if the host configuration prevents smart card\nauthentication from being enabled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/ImportCertificateForCAM_Task": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Import the CAM server's certificate to the local store of vmwauth.\n",
        "operationId": "HostActiveDirectoryAuthentication_ImportCertificateForCAM_Task",
        "description": "Import the CAM server's certificate to the local store of vmwauth.\n\nThe certificate should have already been uploaded to ESXi file system.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportCertificateForCAMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileNotFound***: if the certificate file does not exist\n\n***InvalidCAMServer***: if camServer is not a valid IP address\n\n***ActiveDirectoryFault***: for any problem that is not handled with a more specific fault.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/InstallSmartCardTrustAnchor": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Install a trust anchor certificate for smart card authentication.\n",
        "operationId": "HostActiveDirectoryAuthentication_InstallSmartCardTrustAnchor",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nInstall a trust anchor certificate for smart card authentication.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallSmartCardTrustAnchorRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if the host configuration prevents the\ncertificate from being installed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/JoinDomain_Task": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Adds the host to an Active Directory domain.\n",
        "operationId": "HostActiveDirectoryAuthentication_JoinDomain_Task",
        "description": "Adds the host to an Active Directory domain.\n\nIf the *HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled*\nproperty is <code>True</code> (accessed through the <code>info</code> property),\nthe host has joined a domain.\nThe vSphere API will throw the <code>InvalidState</code> fault if you try\nto add a host to a domain when the host has already joined a domain.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JoinDomainRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the host has already joined a domain.\n\n***BlockedByFirewall***: if ports needed by the join operation are\nblocked by the firewall.\n\n***HostConfigFault***: if the host configuration prevents the join operation\nfrom succeeding.\n\n***InvalidLogin***: if <code>userName</code> and <code>password</code>\nare not valid user credentials.\n\n***DomainNotFound***: if the domain controller for <code>domainName</code>\ncannot be reached.\n\n***NoPermissionOnAD***: if <code>userName</code> has no right to add hosts to the domain.\n\n***InvalidHostName***: if the domain part of the host's FQDN doesn't match\nthe domain being joined.\n\n***ClockSkew***: if the clocks of the host and the domain controller\ndiffer by more than the allowed amount of time.\n\n***ActiveDirectoryFault***: for any problem that is not handled with a more specific fault.\n\n***TaskInProgress***: if the *HostActiveDirectoryAuthentication* object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/JoinDomainWithCAM_Task": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Adds the host to an Active Directory domain through CAM service.\n",
        "operationId": "HostActiveDirectoryAuthentication_JoinDomainWithCAM_Task",
        "description": "Adds the host to an Active Directory domain through CAM service.\n\nIf the *HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled*\nproperty is <code>True</code> (accessed through the <code>info</code> property),\nthe host has joined a domain.\nThe vSphere API will throw the <code>InvalidState</code> fault if you try\nto add a host to a domain when the host has already joined a domain.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JoinDomainWithCAMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the host has already joined a domain.\n\n***BlockedByFirewall***: if ports needed by the join operation are\nblocked by the firewall.\n\n***HostConfigFault***: if the host configuration prevents the join operation\nfrom succeeding.\n\n***DomainNotFound***: if the domain controller for <code>domainName</code>\ncannot be reached.\n\n***InvalidHostName***: if the domain part of the host's FQDN doesn't match\nthe domain being joined.\n\n***ClockSkew***: if the clocks of the host and the domain controller\ndiffer by more than the allowed amount of time.\n\n***InvalidCAMServer***: if camServer is not a valid IP address, or\nif camServer is not accessible.\n\n***InvalidCAMCertificate***: if the certificate of the given CAM server\ncannot be verified.\n\n***CAMServerRefusedConnection***: if the specified CAM server is not\nreachable, or\nif the server denied access.\n\n***ActiveDirectoryFault***: for any problem that is not handled with a more specific fault.\n\n***TaskInProgress***: if the *HostActiveDirectoryAuthentication* object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/LeaveCurrentDomain_Task": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Removes the host from the Active Directory domain to which it belongs.\n",
        "operationId": "HostActiveDirectoryAuthentication_LeaveCurrentDomain_Task",
        "description": "Removes the host from the Active Directory domain to which it belongs.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeaveCurrentDomainRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the host is not in a domain or there are active\npermissions for Active Directory users.\n\n***NonADUserRequired***: only non Active Directory users can initiate\nthe leave domain operation.\n\n***AuthMinimumAdminPermission***: if this change would leave the system with\nno Administrator permission on the root node.\n\n***ActiveDirectoryFault***: for any problem that is not handled with a specific fault.\n\n***TaskInProgress***: if the ActiveDirectoryAuthentication object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/ListSmartCardTrustAnchors": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Lists installed trust anchor certificates for smart card authentication.\n",
        "operationId": "HostActiveDirectoryAuthentication_ListSmartCardTrustAnchors",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nLists installed trust anchor certificates for smart card authentication.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "SSL certificates of trusted CAs in PEM format.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if the host configuration prevents the\ncertificates from being listed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/RemoveSmartCardTrustAnchor": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Remove a smart card trust anchor certificate from the system.\n",
        "operationId": "HostActiveDirectoryAuthentication_RemoveSmartCardTrustAnchor",
        "deprecated": true,
        "description": "Deprecated please remove by fingerprint/digest instead.\n\nRemove a smart card trust anchor certificate from the system.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveSmartCardTrustAnchorRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if the host configuration prevents the\ncertificate from being removed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/RemoveSmartCardTrustAnchorByFingerprint": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Remove a smart card trust anchor certificate from the system by\nfingerprint.\n",
        "operationId": "HostActiveDirectoryAuthentication_RemoveSmartCardTrustAnchorByFingerprint",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nRemove a smart card trust anchor certificate from the system by\nfingerprint.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveSmartCardTrustAnchorByFingerprintRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if the host configuration prevents the\ncertificate from being removed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/ReplaceSmartCardTrustAnchors": {
      "post": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Replace the trust anchor certificates for smart card authentication.\n",
        "operationId": "HostActiveDirectoryAuthentication_ReplaceSmartCardTrustAnchors",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nReplace the trust anchor certificates for smart card authentication.\n\n***Required privileges:*** Host.Config.AuthenticationStore\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceSmartCardTrustAnchorsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostActiveDirectoryAuthentication/{moId}/info": {
      "get": {
        "tags": [
          "HostActiveDirectoryAuthentication"
        ],
        "summary": "Information about the authentication store.\n",
        "operationId": "HostActiveDirectoryAuthentication_getInfo",
        "description": "Information about the authentication store.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostAuthenticationStoreInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostAssignableHardwareManager/{moId}/DownloadDescriptionTree": {
      "post": {
        "tags": [
          "HostAssignableHardwareManager"
        ],
        "summary": "Download Assignable Hardware description tree.\n",
        "operationId": "HostAssignableHardwareManager_DownloadDescriptionTree",
        "description": "Download Assignable Hardware description tree.\n\nThe size of the downloaded description tree is dependent on the\ntype and number of assignable devices found on the host. As a\nrough estimate, each device might require approximate 256 bytes\nto represent.\nThe number of assignable devices on a host may vary from none to\n60 or more. A host with 3 SRIOV type devices consisting\nof a PF and 16 VFs would have a total of 51 devices and the\ndescription tree would be approximately 51 \\* 256 bytes = 13,056 bytes.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          }
        }
      }
    },
    "/HostAssignableHardwareManager/{moId}/RetrieveDynamicPassthroughInfo": {
      "post": {
        "tags": [
          "HostAssignableHardwareManager"
        ],
        "summary": "Retrieve PCI Dynamic Passthrough info.\n",
        "operationId": "HostAssignableHardwareManager_RetrieveDynamicPassthroughInfo",
        "description": "Retrieve PCI Dynamic Passthrough info.\n\nReturns the list of PCI devices that may be used as a Dynamic\nDirectPath IO device.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualMachineDynamicPassthroughInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostAssignableHardwareManager/{moId}/RetrieveVendorDeviceGroupInfo": {
      "post": {
        "tags": [
          "HostAssignableHardwareManager"
        ],
        "summary": "Retrieve VendorDeviceGroup info.\n",
        "operationId": "HostAssignableHardwareManager_RetrieveVendorDeviceGroupInfo",
        "description": "Retrieve VendorDeviceGroup info.\n\nReturns the list of Vendor Device Group deviceTypes present.\n\n***Since:*** vSphere API Release 8.0.0.1\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualMachineVendorDeviceGroupInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostAssignableHardwareManager/{moId}/UpdateAssignableHardwareConfig": {
      "post": {
        "tags": [
          "HostAssignableHardwareManager"
        ],
        "summary": "Update Assignable Hardware configuration.\n",
        "operationId": "HostAssignableHardwareManager_UpdateAssignableHardwareConfig",
        "description": "Update Assignable Hardware configuration.\n\nEntries are updated as described in *HostAssignableHardwareConfig*.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAssignableHardwareConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostAssignableHardwareManager/{moId}/binding": {
      "get": {
        "tags": [
          "HostAssignableHardwareManager"
        ],
        "summary": "Assignable Hardware bindings\n",
        "operationId": "HostAssignableHardwareManager_getBinding",
        "description": "Assignable Hardware bindings\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostAssignableHardwareBinding"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostAssignableHardwareManager/{moId}/config": {
      "get": {
        "tags": [
          "HostAssignableHardwareManager"
        ],
        "summary": "Assignable Hardware configuration\n",
        "operationId": "HostAssignableHardwareManager_getConfig",
        "description": "Assignable Hardware configuration\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostAssignableHardwareConfig"
                }
              }
            }
          }
        }
      }
    },
    "/HostAuthenticationManager/{moId}/info": {
      "get": {
        "tags": [
          "HostAuthenticationManager"
        ],
        "summary": "Information about Active Directory membership.\n",
        "operationId": "HostAuthenticationManager_getInfo",
        "description": "Information about Active Directory membership.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostAuthenticationManagerInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostAuthenticationManager/{moId}/supportedStore": {
      "get": {
        "tags": [
          "HostAuthenticationManager"
        ],
        "summary": "An array that can contain managed object references to local and\nActive Directory authentication managed objects.\n",
        "operationId": "HostAuthenticationManager_getSupportedStore",
        "description": "An array that can contain managed object references to local and\nActive Directory authentication managed objects.\n\n<code>supportedStore</code> data implies a connection to a system\nthat stores information about accounts.\nThe <code>supportedStore</code> array can include the following objects:\n- *HostLocalAuthentication* - Local authentication refers\n  to user accounts on the ESX host. Local authentication is always enabled.\n- *HostActiveDirectoryAuthentication* - Active Directory authentication\n  refers to computer accounts and user accounts on the domain controller.\n  This object indicates the domain membership status for the host\n  and defines the join and leave methods for Active Directory\n  membership.\n  \n  If <code>supportedStore</code> references\n  a *HostActiveDirectoryAuthentication* object, the host\n  is capable of joining a domain.\n  However, if you try to add a host to a domain when the\n  *HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled*\n  property is <code>True</code> (accessed through the <code>info</code>\n  property), the join method will throw a fault.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *HostAuthenticationStore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostAuthenticationStore/{moId}/info": {
      "get": {
        "tags": [
          "HostAuthenticationStore"
        ],
        "summary": "Information about the authentication store.\n",
        "operationId": "HostAuthenticationStore_getInfo",
        "description": "Information about the authentication store.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostAuthenticationStoreInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostAutoStartManager/{moId}/AutoStartPowerOff": {
      "post": {
        "tags": [
          "HostAutoStartManager"
        ],
        "summary": "Powers-off virtual machines according to the current AutoStart configuration.\n",
        "operationId": "HostAutoStartManager_AutoStartPowerOff",
        "description": "Powers-off virtual machines according to the current AutoStart configuration.\n\nSee the description of the (@link vim.host.AutoStartManager.AutoPowerInfo)\ndata object type for more information on Auto power-off behavior.\n\n***Required privileges:*** Host.Config.AutoStart\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostAutoStartManager/{moId}/AutoStartPowerOn": {
      "post": {
        "tags": [
          "HostAutoStartManager"
        ],
        "summary": "Powers-on virtual machines according to the current AutoStart configuration.\n",
        "operationId": "HostAutoStartManager_AutoStartPowerOn",
        "description": "Powers-on virtual machines according to the current AutoStart configuration.\n\nSee the description of the (@link vim.host.AutoStartManager.AutoPowerInfo)\ndata object type for more information on Auto power-on behavior.\n\n***Required privileges:*** Host.Config.AutoStart\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostAutoStartManager/{moId}/ReconfigureAutostart": {
      "post": {
        "tags": [
          "HostAutoStartManager"
        ],
        "summary": "Changes the power-on or power-off sequence and system defaults.\n",
        "operationId": "HostAutoStartManager_ReconfigureAutostart",
        "description": "Changes the power-on or power-off sequence and system defaults.\n\nThe specification\nis an incremental change to the current configuration.\n\nIf systemDefaults are included, only values that are specified in the\nspecification are changed.\n\nFor the spec.powerInfo array, each element is interpreted as an incremental\nchange and the changes are processed sequentially. It is not an error to remove a\nnon-existing virtual machine. If both startAction and stopAction are set to\nnone, then the virtual machine is removed from the configuration.\n\nA virtual machine's position in the order can be changed either by assigning the\nvirtual machine a different position in the order or removing the machine from\nthe order. When a virtual machine's position changes, all other virtual machines'\npositions may be affected as they move to new positions relative to each other.\n\n***Required privileges:*** Host.Config.AutoStart\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureAutostartRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostAutoStartManager/{moId}/config": {
      "get": {
        "tags": [
          "HostAutoStartManager"
        ],
        "operationId": "HostAutoStartManager_getConfig",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostAutoStartManagerConfig"
                }
              }
            }
          }
        }
      }
    },
    "/HostBootDeviceSystem/{moId}/QueryBootDevices": {
      "post": {
        "tags": [
          "HostBootDeviceSystem"
        ],
        "summary": "Retrieves a list of the available boot devices for the host system.\n",
        "operationId": "HostBootDeviceSystem_QueryBootDevices",
        "description": "Retrieves a list of the available boot devices for the host system.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The boot device information for the host. The returned object has a\nlist of *HostBootDevice* data objects; each boot\ndevice object defines a description and a key to identify the device.\nThe order of devices in the list is unpredictable.\nThe returned *HostBootDeviceInfo* data object also contains\nthe key of the current boot device.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostBootDeviceInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostBootDeviceSystem/{moId}/UpdateBootDevice": {
      "post": {
        "tags": [
          "HostBootDeviceSystem"
        ],
        "summary": "Sets the current boot device for the host system.\n",
        "operationId": "HostBootDeviceSystem_UpdateBootDevice",
        "description": "Sets the current boot device for the host system.\n\n***Required privileges:*** Host.Config.Maintenance\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBootDeviceRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostCacheConfigurationManager/{moId}/ConfigureHostCache_Task": {
      "post": {
        "tags": [
          "HostCacheConfigurationManager"
        ],
        "summary": "Configure host cache/swap performance enhancement.\n",
        "operationId": "HostCacheConfigurationManager_ConfigureHostCache_Task",
        "description": "Configure host cache/swap performance enhancement.\n\n***Required privileges:*** Host.Config.AdvancedConfig\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigureHostCacheRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostCacheConfigurationManager/{moId}/cacheConfigurationInfo": {
      "get": {
        "tags": [
          "HostCacheConfigurationManager"
        ],
        "summary": "The swap performance configuration for the ESX host.\n",
        "operationId": "HostCacheConfigurationManager_getCacheConfigurationInfo",
        "description": "The swap performance configuration for the ESX host.\n\nThis includes\nconfiguration information for each datastore enabled for this purpose.\n\n***Required privileges:*** Host.Config.AdvancedConfig\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostCacheConfigurationInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/GenerateCertificateSigningRequest": {
      "post": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "Requests the server to generate a certificate-signing\nrequest (CSR) for itself.\n",
        "operationId": "HostCertificateManager_GenerateCertificateSigningRequest",
        "description": "Requests the server to generate a certificate-signing\nrequest (CSR) for itself.\n\nThe CSR is then typically\nprovided to a Certificate Authority to sign and issue\nthe SSL certificate for the server. Use *HostCertificateManager.InstallServerCertificate*\nto install this certificate.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateCertificateSigningRequestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CSR in PEM format\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if there's a problem generating the CSR.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/GenerateCertificateSigningRequestByDn": {
      "post": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "Requests the server to generate a certificate-signing\nrequest (CSR) for itself.\n",
        "operationId": "HostCertificateManager_GenerateCertificateSigningRequestByDn",
        "description": "Requests the server to generate a certificate-signing\nrequest (CSR) for itself.\n\nAlternative version similar to *HostCertificateManager.GenerateCertificateSigningRequest*\nbut takes a Distinguished Name (DN) as a parameter.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateCertificateSigningRequestByDnRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CSR in PEM format\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if there's a problem generating the CSR.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/InstallServerCertificate": {
      "post": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "Installs a given SSL certificate on the server.\n",
        "operationId": "HostCertificateManager_InstallServerCertificate",
        "description": "Installs a given SSL certificate on the server.\n\nThe private key must have been previously generated by *HostCertificateManager.GenerateCertificateSigningRequest* or provided\nby *HostCertificateManager.ProvisionServerPrivateKey*.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallServerCertificateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if there's a problem with the input certificate,\nor the certificate and key don't match.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/ListCACertificateRevocationLists": {
      "post": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "Fetches the SSL CRLs of Certificate Authorities that are trusted.\n",
        "operationId": "HostCertificateManager_ListCACertificateRevocationLists",
        "description": "Fetches the SSL CRLs of Certificate Authorities that are trusted.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "SSL CRLs of trusted CAs in PEM format\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if there's a problem with the certificate store.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/ListCACertificates": {
      "post": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "Fetches the SSL certificates of Certificate Authorities\nthat are trusted.\n",
        "operationId": "HostCertificateManager_ListCACertificates",
        "description": "Fetches the SSL certificates of Certificate Authorities\nthat are trusted.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "SSL certificates of trusted CAs in PEM format\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if there's a problem with the certificate store.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/NotifyAffectedServices": {
      "post": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "Instructs the host services affected by SSL credential changes\nby *HostCertificateManager.InstallServerCertificate*\nor *HostCertificateManager.ReplaceCACertificatesAndCRLs*\nto take into account said changes now.\n",
        "operationId": "HostCertificateManager_NotifyAffectedServices",
        "description": "Instructs the host services affected by SSL credential changes\nby *HostCertificateManager.InstallServerCertificate*\nor *HostCertificateManager.ReplaceCACertificatesAndCRLs*\nto take into account said changes now.\n\nPlease note, that\nold SSL connections typically survive the transition and continue using\nold SSL credentials. New SSL connections will use the new SSL credentials.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotifyAffectedServicesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/ProvisionServerPrivateKey": {
      "post": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "Provisions a given SSL private key on the server for use with a subsequent\nSSL certificate installation.\n",
        "operationId": "HostCertificateManager_ProvisionServerPrivateKey",
        "description": "Provisions a given SSL private key on the server for use with a subsequent\nSSL certificate installation.\n\nThe recommended way to update the server private key is via *HostCertificateManager.GenerateCertificateSigningRequest*, which\nensures that the key never leaves the host.\n\nThe current method is intended for use only in environments that\nhave special requirements on how their private keys are generated.\n\n***Since:*** vSphere API Release 8.0.3.0\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProvisionServerPrivateKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if there's a problem with the input key.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/ReplaceCACertificatesAndCRLs": {
      "post": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "Replaces the trusted Certificate Authority (CA)\ncertificates and Certification Revocation List (CRL)\nused by the server with the provided values.\n",
        "operationId": "HostCertificateManager_ReplaceCACertificatesAndCRLs",
        "description": "Replaces the trusted Certificate Authority (CA)\ncertificates and Certification Revocation List (CRL)\nused by the server with the provided values.\n\nThese determine whether the server can verify\nthe identity of an external entity.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceCACertificatesAndCRLsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if there's a problem with the input certificates\nor CRLs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/RetrieveCertificateInfoList": {
      "post": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "the CertificateInfos of all known Certificates on\nthe host\n",
        "operationId": "HostCertificateManager_RetrieveCertificateInfoList",
        "description": "the CertificateInfos of all known Certificates on\nthe host\n\n***Since:*** vSphere API Release 8.0.1.0\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostCertificateManagerCertificateInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostCertificateManager/{moId}/certificateInfo": {
      "get": {
        "tags": [
          "HostCertificateManager"
        ],
        "summary": "the CertificateInfo of the Host Certificate.\n",
        "operationId": "HostCertificateManager_getCertificateInfo",
        "description": "the CertificateInfo of the Host Certificate.\n\n***Required privileges:*** Certificate.Manage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostCertificateManagerCertificateInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostCpuSchedulerSystem/{moId}/DisableHyperThreading": {
      "post": {
        "tags": [
          "HostCpuSchedulerSystem"
        ],
        "summary": "Don't treat hyperthreads as schedulable resources the next time the CPU\nscheduler starts.\n",
        "operationId": "HostCpuSchedulerSystem_DisableHyperThreading",
        "description": "Don't treat hyperthreads as schedulable resources the next time the CPU\nscheduler starts.\n\nIf successful, this operation will change the\nconfigured setting.\n\n***Required privileges:*** Host.Config.HyperThreading\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostCpuSchedulerSystem/{moId}/EnableHyperThreading": {
      "post": {
        "tags": [
          "HostCpuSchedulerSystem"
        ],
        "summary": "Treat hyperthreads as schedulable resources the next time the CPU\nscheduler starts.\n",
        "operationId": "HostCpuSchedulerSystem_EnableHyperThreading",
        "description": "Treat hyperthreads as schedulable resources the next time the CPU\nscheduler starts.\n\nIf successful, this operation will set the\n*config*\nproperty to \"true\".\n\n***Required privileges:*** Host.Config.HyperThreading\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostCpuSchedulerSystem/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostCpuSchedulerSystem"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostCpuSchedulerSystem_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostCpuSchedulerSystem/{moId}/availableField": {
      "get": {
        "tags": [
          "HostCpuSchedulerSystem"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostCpuSchedulerSystem_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostCpuSchedulerSystem/{moId}/cpuSchedulerInfo": {
      "get": {
        "tags": [
          "HostCpuSchedulerSystem"
        ],
        "summary": "Information about the current CPU scheduler of the host.\n",
        "operationId": "HostCpuSchedulerSystem_getCpuSchedulerInfo",
        "description": "Information about the current CPU scheduler of the host.\n\nPopulates *HostCpuSchedulerInfo.policy* with the active *CPU Scheduling Policy*.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostCpuSchedulerInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostCpuSchedulerSystem/{moId}/hyperthreadInfo": {
      "get": {
        "tags": [
          "HostCpuSchedulerSystem"
        ],
        "summary": "The hyperthread configuration for the CpuSchedulerSystem.\n",
        "operationId": "HostCpuSchedulerSystem_getHyperthreadInfo",
        "description": "The hyperthread configuration for the CpuSchedulerSystem.\n\nThe\nexistence of this data object type indicates if the CPU scheduler\nis capable of scheduling hyperthreads as resources.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostHyperThreadScheduleInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostCpuSchedulerSystem/{moId}/value": {
      "get": {
        "tags": [
          "HostCpuSchedulerSystem"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostCpuSchedulerSystem_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreBrowser/{moId}/DeleteFile": {
      "post": {
        "tags": [
          "HostDatastoreBrowser"
        ],
        "summary": "Deletes the specified files from the datastore.\n",
        "operationId": "HostDatastoreBrowser_DeleteFile",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *FileManager.DeleteDatastoreFile_Task*.\n\nDeletes the specified files from the datastore.\n\nIf a valid virtual disk file is\nspecified, then all the components of the virtual disk are deleted.\n\n***Required privileges:*** Datastore.DeleteFile\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteFileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: if the operation cannot be performed on the target\ndatastores. Typically, a specific subclass of this exception is thrown.\n\n***FileNotFound***: if the file or folder specified by datastorePath is not\nfound.\n\n***CannotDeleteFile***: if the delete operation on the file fails.\n\n***InvalidArgument***: if fileInfo is not a valid FileInfo type.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreBrowser/{moId}/SearchDatastore_Task": {
      "post": {
        "tags": [
          "HostDatastoreBrowser"
        ],
        "summary": "Returns the information for the files that match the given search criteria as a\nSearchResults object.\n",
        "operationId": "HostDatastoreBrowser_SearchDatastore_Task",
        "description": "Returns the information for the files that match the given search criteria as a\nSearchResults object.\n\nSearches only the folder specified by the datastore path.\nThe Datastore.Browse privilege must be held on the datastore identified\nby the datastore path.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the\n*HostDatastoreBrowserSearchResults* upon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: if the operation cannot be performed on the target\ndatastores. The server can throw InvalidDatastorePath to indicate a malformed\ndatastorePath, or InaccessibleDatastore to indicate inaccessibility of the\ndatastore.\n\n***InvalidArgument***: if the SearchSpec contains duplicate file types.\n\n***FileNotFound***: if the file or folder specified by datastorePath is not\nfound.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreBrowser/{moId}/SearchDatastoreSubFolders_Task": {
      "post": {
        "tags": [
          "HostDatastoreBrowser"
        ],
        "summary": "Returns the information for the files that match the given search criteria as a\nSearchResults\\[\\] object.\n",
        "operationId": "HostDatastoreBrowser_SearchDatastoreSubFolders_Task",
        "description": "Returns the information for the files that match the given search criteria as a\nSearchResults\\[\\] object.\n\nSearches the folder specified by the datastore path and\nall subfolders. The Datastore.Browse privilege must be held on the\ndatastore identified by the datastore path.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchDatastoreSubFoldersRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the\n*HostDatastoreBrowserSearchResults* upon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: if the operation cannot be performed on the target\ndatastores. Typically, a specific subclass of this exception is thrown.\n\n***InvalidArgument***: if the SearchSpec contains duplicate file types.\n\n***FileNotFound***: if the file or folder specified by datastorePath is not\nfound.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreBrowser/{moId}/datastore": {
      "get": {
        "tags": [
          "HostDatastoreBrowser"
        ],
        "summary": "Set of datastores that can be searched on this DatastoreBrowser.\n",
        "operationId": "HostDatastoreBrowser_getDatastore",
        "description": "Set of datastores that can be searched on this DatastoreBrowser.\n\nThe list of datastores available to browse on this DatastoreBrowser is contextual\ninformation that depends on the object being browsed. If the host is being\nbrowsed, the host's datastores are used. If the Datacenter is being browsed, the\nDatacenter's list of datastores is used.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreBrowser/{moId}/supportedType": {
      "get": {
        "tags": [
          "HostDatastoreBrowser"
        ],
        "summary": "The list of supported file types.\n",
        "operationId": "HostDatastoreBrowser_getSupportedType",
        "description": "The list of supported file types.\n\nThe supported file types are represented as\nitems in this list. For each supported file type, there is an object in the list\nwhose dynamic type is one of the types derived from the\n*FileQuery* data object\ntype. In general, the properties in this query type are not set.\n\nUse the Query of the desired file type in the SearchSpec.query to indicate the\ndesired file types.\n\nThis property is used by clients to determine what kinds of file types are\nsupported. Clients should consult this list to avoid querying for types of virtual\nmachine components that are not supported.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileQuery"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/ConfigureDatastorePrincipal": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Configures datastore principal user for the host.\n",
        "operationId": "HostDatastoreSystem_ConfigureDatastorePrincipal",
        "description": "Configures datastore principal user for the host.\n\nAll virtual machine-related file I/O is performed under\nthis user. Configuring datastore principal user\nwill result in all virtual machine files (configuration, disk,\nand so on) being checked for proper access. If necessary, ownership\nand permissions are modified. Note that in some environments,\nfile ownership and permissions modification may not be possible.\nFor example, virtual machine files stored on NFS cannot be\nmodified for ownership and permissions if root squashing is\nenabled. Ownership and permissions for these files must be\nmanually changed by a system administrator. In general, if\nserver process does not have rights to change ownership\nand file permissions of virtual machine files, they must\nbe modified manually. If a virtual machine files are not\nread/writeable by this user, virtual machine related operations such as\npower on/off, configuration, and so on will fail. This operation\nmust be performed while in maintenance mode and requires host\nreboot.\n\n***Required privileges:*** Host.Config.Maintenance\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigureDatastorePrincipalRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is not in maintenance mode.\n\n***InvalidArgument***: if userName or password is not valid.\n\n***NotSupported***: if this feature is not supported on the host.\n\n***HostConfigFault***: if unable to configure the datastore principal.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/CreateLocalDatastore": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Creates a new local datastore.\n",
        "operationId": "HostDatastoreSystem_CreateLocalDatastore",
        "description": "Creates a new local datastore.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLocalDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if a datastore with the same name already exists.\n\n***HostConfigFault***: if unable to create the datastore on host.\n\n***InvalidName***: if name is not valid datastore name\n\n***FileNotFound***: if path doesn't exist\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/CreateNasDatastore": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Creates a new network-attached storage datastore.\n",
        "operationId": "HostDatastoreSystem_CreateNasDatastore",
        "description": "Creates a new network-attached storage datastore.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNasDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The newly created datastore.\n\nRefers instance of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if a datastore with the same name already exists.\n\n***InvalidArgument***: if the datastore name is invalid, or the spec\nis invalid.\n\n***NoVirtualNic***: if VMkernel TCPIP stack is not configured.\n\n***NoGateway***: if VMkernel gateway is not configured.\n\n***AlreadyExists***: if the local path already exists on the host, or\nthe remote path is already mounted on the host.\n\n***HostConfigFault***: if unable to mount the NAS volume.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/CreateVmfsDatastore": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Creates a new VMFS datastore.\n",
        "operationId": "HostDatastoreSystem_CreateVmfsDatastore",
        "description": "Creates a new VMFS datastore.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVmfsDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The newly created datastore.\n\nRefers instance of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if a datastore with the same name already exists.\n\n***InvalidArgument***: if the datastore name is invalid, or the spec\nis invalid.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***HostConfigFault***: if unable to format the VMFS volume or\ngather information about the created volume.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/CreateVvolDatastore": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Create a Virtual-Volume based datastore\n",
        "operationId": "HostDatastoreSystem_CreateVvolDatastore",
        "description": "Create a Virtual-Volume based datastore\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVvolDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The newly created datastore.\n\nRefers instance of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the storage container could not be found.\n\n***DuplicateName***: if a datastore with the same name already exists.\n\n***HostConfigFault***: if unable to create the datastore on host.\n\n***InvalidName***: if name is not valid datastore name\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/DisableClusteredVmdkSupport": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Disable the clustered vmdk support on specified datastore.\n",
        "operationId": "HostDatastoreSystem_DisableClusteredVmdkSupport",
        "description": "Disable the clustered vmdk support on specified datastore.\n\nThis API will fail if there are running VMs on the datastore\nwhich are configured to use clustered VMDK feature.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisableClusteredVmdkSupportRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if a datastore with the name could not be found.\n\n***HostConfigFault***: if unable to disable clustered vmdk support.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/EnableClusteredVmdkSupport": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Enable the clustered vmdk support on specified datastore.\n",
        "operationId": "HostDatastoreSystem_EnableClusteredVmdkSupport",
        "description": "Enable the clustered vmdk support on specified datastore.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableClusteredVmdkSupportRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if a datastore with the name could not be found.\n\n***HostConfigFault***: if unable to enable clustered vmdk support.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/ExpandVmfsDatastore": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Increases the capacity of an existing VMFS datastore by expanding\n(increasing the size of) an existing extent of the datastore.\n",
        "operationId": "HostDatastoreSystem_ExpandVmfsDatastore",
        "description": "Increases the capacity of an existing VMFS datastore by expanding\n(increasing the size of) an existing extent of the datastore.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpandVmfsDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The expanded datastore.\n\nRefers instance of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if a datastore with the name could not be found.\n\n***NotSupported***: if the host is not an ESX Server.\n\n***HostConfigFault***: if unable to expand the VMFS volume.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/ExtendVmfsDatastore": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Increases the capacity of an existing VMFS datastore by adding new\nextents to the datastore.\n",
        "operationId": "HostDatastoreSystem_ExtendVmfsDatastore",
        "description": "Increases the capacity of an existing VMFS datastore by adding new\nextents to the datastore.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendVmfsDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The extended datastore.\n\nRefers instance of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if a datastore with the name could not be found.\n\n***NotSupported***: if the host is not an ESX Server.\n\n***HostConfigFault***: if unable to extend the VMFS volume.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/QueryAvailableDisksForVmfs": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Query to list disks that can be used to contain VMFS datastore extents.\n",
        "operationId": "HostDatastoreSystem_QueryAvailableDisksForVmfs",
        "description": "Query to list disks that can be used to contain VMFS datastore extents.\n\nIf the optional parameter name is supplied, queries for disks that can be\nused to contain extents for a VMFS datastore identified by the supplied\nname. Otherwise, the method retrieves disks that can be used to contain\nnew VMFS datastores.\n\nThis operation will filter out disks that are currently in use by an\nexisting VMFS unless the VMFS using the disk is one being extended.\nIt will also filter out management LUNs and disks that are referenced by\nRDMs. These disk LUNs are also unsuited for use by a VMFS.\n\nDisk LUNs referenced by RDMs are found by examining all virtual machines\nknown to the system and visiting their virtual disk backends. If a\nvirtual disk backend uses an RDM that is referencing a disk LUN, the disk\nLUN becomes ineligible for use by a VMFS datastore.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryAvailableDisksForVmfsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of data objects describing SCSI disks.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostScsiDisk"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the host is not an ESX Server.\n\n***NotFound***: if the named VMFS datastore is not found.\n\n***InvalidArgument***: if named VMFS datastore is not a VMFS datastore.\n\n***HostConfigFault***: if unable to query disk information.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/QueryMaxQueueDepth": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Query max queue depth for a specified NFS datastore.\n",
        "operationId": "HostDatastoreSystem_QueryMaxQueueDepth",
        "description": "Query max queue depth for a specified NFS datastore.\n\n***Since:*** vSphere API Release 8.0.0.1\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryMaxQueueDepthRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the datastore could not be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/QueryUnresolvedVmfsVolumes": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Get the list of unbound VMFS volumes.\n",
        "operationId": "HostDatastoreSystem_QueryUnresolvedVmfsVolumes",
        "description": "Get the list of unbound VMFS volumes.\n\nFor sharing a volume across hosts, a VMFS volume is bound to its\nunderlying block device storage. When a low level block copy is\nperformed to copy or move the VMFS volume, the copied volume will\nbe unbound.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "An array of unbound VMFS datastore\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostUnresolvedVmfsVolume"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/QueryVmfsDatastoreCreateOptions": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Queries options for creating a new VMFS datastore for a disk.\n",
        "operationId": "HostDatastoreSystem_QueryVmfsDatastoreCreateOptions",
        "description": "Queries options for creating a new VMFS datastore for a disk.\n\nSee also *HostScsiDisk.devicePath*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVmfsDatastoreCreateOptionsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of VMFS datastore provisioning options that can be\napplied on a disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VmfsDatastoreOption"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the host is not an ESX Server.\n\n***NotFound***: if the device is not found.\n\n***HostConfigFault***: if unable to get the current partition information for\nthe device.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/QueryVmfsDatastoreExpandOptions": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Queries for options for increasing the capacity of an existing VMFS\ndatastore by expanding (increasing the size of) an existing extent of\nthe datastore.\n",
        "operationId": "HostDatastoreSystem_QueryVmfsDatastoreExpandOptions",
        "description": "Queries for options for increasing the capacity of an existing VMFS\ndatastore by expanding (increasing the size of) an existing extent of\nthe datastore.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVmfsDatastoreExpandOptionsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of VMFS datastore expansion options that can be applied.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VmfsDatastoreOption"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified datastore could not be found or is unmounted.\n\n***HostConfigFault***: if unable to get partition information for the\ndevices on which the extents reside\n\n***NotSupported***: if the host is not an ESX Server.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/QueryVmfsDatastoreExtendOptions": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Queries for options for increasing the capacity of an existing VMFS\ndatastore by adding new extents using space from the specified disk.\n",
        "operationId": "HostDatastoreSystem_QueryVmfsDatastoreExtendOptions",
        "description": "Queries for options for increasing the capacity of an existing VMFS\ndatastore by adding new extents using space from the specified disk.\n\nSee also *HostScsiDisk.devicePath*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVmfsDatastoreExtendOptionsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of VMFS datastore provisioning options that can be applied\non a disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VmfsDatastoreOption"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if a datastore or device with the given name could not be found\nor if the datastore is unmounted.\n\n***HostConfigFault***: if unable to get the current partition information for\nthe device.\n\n***NotSupported***: if the host is not an ESX Server.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/RemoveDatastore": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Removes a datastore from a host.\n",
        "operationId": "HostDatastoreSystem_RemoveDatastore",
        "description": "Removes a datastore from a host.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the datastore could not be found.\n\n***HostConfigFault***: if unable to umount the NAS volume for NAS\ndatastore, or gather the existing volume information.\n\n***ResourceInUse***: for a VMFS volume if there is any VM registered\non any host attached to this datastore.\n\n***ResourceInUse***: for a NFS volume if there is any VM residing on\nthis datastore and registered on this host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/RemoveDatastoreEx_Task": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Remove one or more datastores.\n",
        "operationId": "HostDatastoreSystem_RemoveDatastoreEx_Task",
        "description": "Remove one or more datastores.\n\nThis is an asynchronous, batch operation of\nremoveDatastore. Please see *HostDatastoreSystem.RemoveDatastore*\nfor operational details.\nNote: This API currently supports removal of only NFS datastores.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveDatastoreExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for host configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/ResignatureUnresolvedVmfsVolume_Task": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Resignature an unbound VMFS volume.\n",
        "operationId": "HostDatastoreSystem_ResignatureUnresolvedVmfsVolume_Task",
        "description": "Resignature an unbound VMFS volume.\n\nTo safely enable sharing of the volume across hosts, a VMFS volume\nis bound to its underlying block device storage. When a low level\nblock copy is performed to copy or move the VMFS volume, the copied\nvolume will be unbound. In order for the VMFS volume to be usable,\na resolution operation is needed to determine whether the VMFS volume\nshould be treated as a new volume or not and what extents compose\nthat volume in the event there is more than one unbound volume.\n\nWith 'Resignature' operation, a new Vmfs Uuid is assigned to the\nvolume but its contents are kept intact. Resignature results in a\nnew Vmfs volume on the host. Users can specify a list of hosts on which\nthe volume will be auto-mounted.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResignatureUnresolvedVmfsVolumeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. The task result\n(*Task.info*.*TaskInfo.result*) contains a\n*HostResignatureRescanResult* object that identifies\nthe newly created VMFS datastore.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmfsAmbiguousMount***: when ESX is unable to resolve the extents\nof a VMFS volume unambiguously. This is thrown only when\na VMFS volume has multiple extents and multiple copies of\nnon-head extents are detected, and the user has not\nspecified one copy of every extent. Please note that some\nversions of ESX may not support resolving the situation\nwhere multiple copies of non-head extents are detected,\neven if one copy of every extent is specified in the\nmethod parameter. To resolve such a situation, the user\nis expected to change the configuration (for example,\nusing array management tools) so that only one copy of\neach non-head extent is presented to ESX.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VmfsAmbiguousMount"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/SetMaxQueueDepth": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Set max queue depth for a specified NFS datastore.\n",
        "operationId": "HostDatastoreSystem_SetMaxQueueDepth",
        "description": "Set max queue depth for a specified NFS datastore.\n\n***Since:*** vSphere API Release 8.0.0.1\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetMaxQueueDepthRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the datastore could not be found.\n\n***InvalidArgument***: if max queue depth is not within range.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/UpdateLocalSwapDatastore": {
      "post": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Choose the\n*localSwapDatastore*\nfor this host.\n",
        "operationId": "HostDatastoreSystem_UpdateLocalSwapDatastore",
        "description": "Choose the\n*localSwapDatastore*\nfor this host.\n\nAny change to this setting will affect virtual machines\nthat subsequently power on or resume from a suspended state at this host,\nor that migrate to this host while powered on; virtual machines that are\ncurrently powered on at this host will not yet be affected.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLocalSwapDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: if the datastore argument is set and the\n*localSwapDatastoreSupported*\ncapability is not true for the host.\n\n***InaccessibleDatastore***: if the datastore argument is set and\nthe host cannot access the indicated datastore.\n\n***DatastoreNotWritableOnHost***: if the datastore argument is set and\nthe host cannot write to the indicated datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidDatastore"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/capabilities": {
      "get": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "Capability vector indicating the available product features.\n",
        "operationId": "HostDatastoreSystem_getCapabilities",
        "description": "Capability vector indicating the available product features.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostDatastoreSystemCapabilities"
                }
              }
            }
          }
        }
      }
    },
    "/HostDatastoreSystem/{moId}/datastore": {
      "get": {
        "tags": [
          "HostDatastoreSystem"
        ],
        "summary": "List of datastores on this host.\n",
        "operationId": "HostDatastoreSystem_getDatastore",
        "description": "List of datastores on this host.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostDateTimeSystem/{moId}/QueryAvailableTimeZones": {
      "post": {
        "tags": [
          "HostDateTimeSystem"
        ],
        "summary": "Retrieves the list of available timezones on the host.\n",
        "operationId": "HostDateTimeSystem_QueryAvailableTimeZones",
        "description": "Retrieves the list of available timezones on the host.\n\nThe API works off the public domain 'tz' timezone database.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "List of available timezones on the host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostDateTimeSystemTimeZone"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostDateTimeSystem/{moId}/QueryDateTime": {
      "post": {
        "tags": [
          "HostDateTimeSystem"
        ],
        "summary": "Get the current DateTime on the host.\n",
        "operationId": "HostDateTimeSystem_QueryDateTime",
        "description": "Get the current DateTime on the host.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current DateTime on the host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/HostDateTimeSystem/{moId}/RefreshDateTimeSystem": {
      "post": {
        "tags": [
          "HostDateTimeSystem"
        ],
        "summary": "Refresh the DateTime related settings to pick up any changes that might\nhave occurred.\n",
        "operationId": "HostDateTimeSystem_RefreshDateTimeSystem",
        "description": "Refresh the DateTime related settings to pick up any changes that might\nhave occurred.\n\n***Required privileges:*** Host.Config.DateTime\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostDateTimeSystem/{moId}/TestTimeService": {
      "post": {
        "tags": [
          "HostDateTimeSystem"
        ],
        "summary": "Run a test to validate current time service configuration is functioning\nnormally.\n",
        "operationId": "HostDateTimeSystem_TestTimeService",
        "description": "Run a test to validate current time service configuration is functioning\nnormally.\n\nThe report will provide a localized diagnostic of any issues.\nOnly one diagnostic test may be running at a time.\n\n***Since:*** vSphere API Release 7.0.3.0\n\n***Required privileges:*** Host.Config.DateTime\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The status of the time service on this host based on present time\nservice configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostDateTimeSystemServiceTestResult"
                }
              }
            }
          }
        }
      }
    },
    "/HostDateTimeSystem/{moId}/UpdateDateTimeConfig": {
      "post": {
        "tags": [
          "HostDateTimeSystem"
        ],
        "summary": "Update the DateTime configuration of the host.\n",
        "operationId": "HostDateTimeSystem_UpdateDateTimeConfig",
        "description": "Update the DateTime configuration of the host.\n\n***Required privileges:*** Host.Config.DateTime\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDateTimeConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if an error occurs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDateTimeSystem/{moId}/UpdateDateTime": {
      "post": {
        "tags": [
          "HostDateTimeSystem"
        ],
        "summary": "Update the date/time on the host.\n",
        "operationId": "HostDateTimeSystem_UpdateDateTime",
        "description": "Update the date/time on the host.\n\nThis method should be used with caution since network delays, execution\ndelays can result in time skews.\n\n***Required privileges:*** Host.Config.DateTime\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDateTimeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if an error occurs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDateTimeSystem/{moId}/dateTimeInfo": {
      "get": {
        "tags": [
          "HostDateTimeSystem"
        ],
        "summary": "The DateTime configuration of the host.\n",
        "operationId": "HostDateTimeSystem_getDateTimeInfo",
        "description": "The DateTime configuration of the host.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "DateTime configuration of the host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostDateTimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostDiagnosticSystem/{moId}/CreateDiagnosticPartition": {
      "post": {
        "tags": [
          "HostDiagnosticSystem"
        ],
        "summary": "Creates a diagnostic partition according to the provided create\nspecification.\n",
        "operationId": "HostDiagnosticSystem_CreateDiagnosticPartition",
        "description": "Creates a diagnostic partition according to the provided create\nspecification.\n\nOn success, this method will create the partition\nand make the partition the active diagnostic partition if specified.\nOn failure, the diagnostic partition may exist but may not be active\nif the partition was supposed to be made active.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDiagnosticPartitionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: if the host is not an ESX Server.\n\n***NotFound***: if the specified disk cannot be found.\n\n***InvalidArgument***: if an invalid storage type is specified or the\nspecified disk is unable to accommodate a new diagnostic\npartition.\n\n***HostConfigFault***: on some internal failure while trying to\ncreate the diagnostic partition or to activate the diagnostic\npartition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDiagnosticSystem/{moId}/QueryAvailablePartition": {
      "post": {
        "tags": [
          "HostDiagnosticSystem"
        ],
        "summary": "Retrieves a list of available diagnostic partitions.\n",
        "operationId": "HostDiagnosticSystem_QueryAvailablePartition",
        "description": "Retrieves a list of available diagnostic partitions.\n\nThe server will\nprovide the list in order of preference. In general, local diagnostic\npartitions are better than shared diagnostic partitions because of\nthe impossibility of multiple servers sharing the same partition. The\nmost preferred diagnostic partition will be first in the array.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostDiagnosticPartition"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the host is not an ESX Server.\n\n***HostConfigFault***: on some internal failure while setting the\nactive partition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDiagnosticSystem/{moId}/QueryPartitionCreateDesc": {
      "post": {
        "tags": [
          "HostDiagnosticSystem"
        ],
        "summary": "For a disk, query for the diagnostic partition creation description.\n",
        "operationId": "HostDiagnosticSystem_QueryPartitionCreateDesc",
        "description": "For a disk, query for the diagnostic partition creation description.\n\nThe description details how the diagnostic partition will be created\non the disk and provides a creation specification that is needed to\ninvoke the create operation.\n\nSee also *HostScsiDisk*, *ScsiLun.uuid*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPartitionCreateDescRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostDiagnosticPartitionCreateDescription"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the host is not an ESX Server.\n\n***NotFound***: if the specified disk cannot be found.\n\n***InvalidArgument***: if an invalid storage type is specified or the\nspecified disk is unable to accommodate a new diagnostic\npartition.\n\n***HostConfigFault***: on some internal failure while trying to\nquery information about the disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDiagnosticSystem/{moId}/QueryPartitionCreateOptions": {
      "post": {
        "tags": [
          "HostDiagnosticSystem"
        ],
        "summary": "Retrieves a list of disks that can be used to contain a diagnostic\npartition.\n",
        "operationId": "HostDiagnosticSystem_QueryPartitionCreateOptions",
        "description": "Retrieves a list of disks that can be used to contain a diagnostic\npartition.\n\nThis list will contain disks that have sufficient space\nto contain a diagnostic partition of the specific type.\n\nThe choices will be returned in the order that is most preferable\nas determined by the system.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPartitionCreateOptionsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostDiagnosticPartitionCreateOption"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the host is not an ESX Server.\n\n***InvalidArgument***: if an invalid storage type is specified.\n\n***HostConfigFault***: on some internal failure while querying the\ncreate options.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDiagnosticSystem/{moId}/SelectActivePartition": {
      "post": {
        "tags": [
          "HostDiagnosticSystem"
        ],
        "summary": "Changes the active diagnostic partition to a different partition.\n",
        "operationId": "HostDiagnosticSystem_SelectActivePartition",
        "description": "Changes the active diagnostic partition to a different partition.\n\nSetting a NULL partition will result in unsetting the diagnostic\npartition.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectActivePartitionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: if the host is not an ESX Server.\n\n***NotFound***: if the diagnostic partition does not exist.\n\n***InvalidArgument***: if the partition is not a diagnostic partition.\n\n***HostConfigFault***: on some internal failure while selecting the\nactive partition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostDiagnosticSystem/{moId}/activePartition": {
      "get": {
        "tags": [
          "HostDiagnosticSystem"
        ],
        "summary": "The currently active diagnostic partition.\n",
        "operationId": "HostDiagnosticSystem_getActivePartition",
        "description": "The currently active diagnostic partition.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostDiagnosticPartition"
                }
              }
            }
          }
        }
      }
    },
    "/HostDirectoryStore/{moId}/info": {
      "get": {
        "tags": [
          "HostDirectoryStore"
        ],
        "summary": "Information about the authentication store.\n",
        "operationId": "HostDirectoryStore_getInfo",
        "description": "Information about the authentication store.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostAuthenticationStoreInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostEsxAgentHostManager/{moId}/EsxAgentHostManagerUpdateConfig": {
      "post": {
        "tags": [
          "HostEsxAgentHostManager"
        ],
        "summary": "Update the host's ESX agent configuration.\n",
        "operationId": "HostEsxAgentHostManager_EsxAgentHostManagerUpdateConfig",
        "description": "Update the host's ESX agent configuration.\n\nThe entire configuration must be set each time since all values are\noverwritten. E.g. a field set to null clears the value on the host.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EsxAgentHostManagerUpdateConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if an error occurs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostEsxAgentHostManager/{moId}/configInfo": {
      "get": {
        "tags": [
          "HostEsxAgentHostManager"
        ],
        "summary": "Configuration of agent virtual machine resources\n",
        "operationId": "HostEsxAgentHostManager_getConfigInfo",
        "description": "Configuration of agent virtual machine resources\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostEsxAgentHostManagerConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostFirewallSystem/{moId}/DisableRuleset": {
      "post": {
        "tags": [
          "HostFirewallSystem"
        ],
        "summary": "Blocks the firewall ports belonging to the specified ruleset.\n",
        "operationId": "HostFirewallSystem_DisableRuleset",
        "description": "Blocks the firewall ports belonging to the specified ruleset.\n\nIf the ruleset has a managed service with a policy of 'auto'\nand all other rulesets used by the service are blocked, stops\nthe service.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisableRulesetRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the ruleset ID is unknown.\n\n***HostConfigFault***: if an internal error happened when reconfigure the\nruleset.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostFirewallSystem/{moId}/EnableRuleset": {
      "post": {
        "tags": [
          "HostFirewallSystem"
        ],
        "summary": "Opens the firewall ports belonging to the specified ruleset.\n",
        "operationId": "HostFirewallSystem_EnableRuleset",
        "description": "Opens the firewall ports belonging to the specified ruleset.\n\nIf the ruleset has a managed service with a policy of 'auto'\nthat is not running, starts the service.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableRulesetRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the ruleset ID is unknown.\n\n***HostConfigFault***: if an internal error happened when reconfigure the\nruleset.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostFirewallSystem/{moId}/RefreshFirewall": {
      "post": {
        "tags": [
          "HostFirewallSystem"
        ],
        "summary": "Refresh the firewall information and settings to pick up any changes\nmade directly on the host.\n",
        "operationId": "HostFirewallSystem_RefreshFirewall",
        "description": "Refresh the firewall information and settings to pick up any changes\nmade directly on the host.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostFirewallSystem/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostFirewallSystem"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostFirewallSystem_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostFirewallSystem/{moId}/UpdateDefaultPolicy": {
      "post": {
        "tags": [
          "HostFirewallSystem"
        ],
        "summary": "Updates the default firewall policy; unset fields are left unchanged.\n",
        "operationId": "HostFirewallSystem_UpdateDefaultPolicy",
        "description": "Updates the default firewall policy; unset fields are left unchanged.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDefaultPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostFirewallSystem/{moId}/UpdateRuleset": {
      "post": {
        "tags": [
          "HostFirewallSystem"
        ],
        "summary": "Update the firewall ruleset specification.\n",
        "operationId": "HostFirewallSystem_UpdateRuleset",
        "description": "Update the firewall ruleset specification.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRulesetRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the ruleset ID is unknown\n\n***HostConfigFault***: if the update of the ruleset failed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostFirewallSystem/{moId}/availableField": {
      "get": {
        "tags": [
          "HostFirewallSystem"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostFirewallSystem_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostFirewallSystem/{moId}/firewallInfo": {
      "get": {
        "tags": [
          "HostFirewallSystem"
        ],
        "summary": "Firewall configuration.\n",
        "operationId": "HostFirewallSystem_getFirewallInfo",
        "description": "Firewall configuration.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostFirewallInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostFirewallSystem/{moId}/value": {
      "get": {
        "tags": [
          "HostFirewallSystem"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostFirewallSystem_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostFirmwareSystem/{moId}/BackupFirmwareConfiguration": {
      "post": {
        "tags": [
          "HostFirmwareSystem"
        ],
        "summary": "Backup the configuration of the host.\n",
        "operationId": "HostFirmwareSystem_BackupFirmwareConfiguration",
        "description": "Backup the configuration of the host.\n\nThe method generates a bundle containing the host configuration.\nYou can use an HTTP GET operation to download the bundle from the returned URL.\n\n***Required privileges:*** Host.Config.Firmware\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "URL that identifies the location of the backup bundle.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostFirmwareSystem/{moId}/QueryFirmwareConfigUploadURL": {
      "post": {
        "tags": [
          "HostFirmwareSystem"
        ],
        "summary": "Return the URL on the host to which the configuration bundle must be\nuploaded for a restore operation.\n",
        "operationId": "HostFirmwareSystem_QueryFirmwareConfigUploadURL",
        "description": "Return the URL on the host to which the configuration bundle must be\nuploaded for a restore operation.\n\nSee *HostFirmwareSystem.RestoreFirmwareConfiguration*.\n\n***Required privileges:*** Host.Config.Firmware\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "URL that identifies the location for the restore operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostFirmwareSystem/{moId}/ResetFirmwareToFactoryDefaults": {
      "post": {
        "tags": [
          "HostFirmwareSystem"
        ],
        "summary": "Reset the configuration to factory defaults.\n",
        "operationId": "HostFirmwareSystem_ResetFirmwareToFactoryDefaults",
        "description": "Reset the configuration to factory defaults.\n\nThis method will reset all configuration options, including the \"admin\"\npassword, to the factory defaults. The host will be rebooted immediately.\nThe host needs to be in maintenance mode before this operation can be\nperformed.\n\n***Required privileges:*** Host.Config.Firmware\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is not in maintenance mode.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/HostFirmwareSystem/{moId}/RestoreFirmwareConfiguration": {
      "post": {
        "tags": [
          "HostFirmwareSystem"
        ],
        "summary": "Restore the configuration of the host to that specified in the bundle.\n",
        "operationId": "HostFirmwareSystem_RestoreFirmwareConfiguration",
        "description": "Restore the configuration of the host to that specified in the bundle.\n\nUpload the bundle to the URL returned by the\n*HostFirmwareSystem.QueryFirmwareConfigUploadURL* method.\nThe *HostFirmwareSystem.RestoreFirmwareConfiguration* method\nwill restore all configuration options,\nincluding the \"admin\" password, to the values in the bundle.\nThe host will be rebooted immediately.\nThe host must be in maintenance mode before this operation can be\nperformed.\n\n***Required privileges:*** Host.Config.Firmware\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RestoreFirmwareConfigurationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is not in maintenance mode.\n\n***FileFault***: if the file was not accessible.\n\n***MismatchedBundle***: if the uuid / build number in the bundle\ndoes not match the uuid / build number of the host and\nparameter 'force' is set to false.\n\n***InvalidBundle***: if the bundle does not have the expected contents.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/IsSharedGraphicsActive": {
      "post": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "Indicate if shared graphics device is active on the host.\n",
        "operationId": "HostGraphicsManager_IsSharedGraphicsActive",
        "description": "Indicate if shared graphics device is active on the host.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/RefreshGraphicsManager": {
      "post": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "Refresh the available graphics information.\n",
        "operationId": "HostGraphicsManager_RefreshGraphicsManager",
        "description": "Refresh the available graphics information.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/RetrieveVgpuDeviceInfo": {
      "post": {
        "tags": [
          "HostGraphicsManager"
        ],
        "operationId": "HostGraphicsManager_RetrieveVgpuDeviceInfo",
        "description": "***Since:*** vSphere API Release 7.0.3.0\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualMachineVgpuDeviceInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/RetrieveVgpuProfileInfo": {
      "post": {
        "tags": [
          "HostGraphicsManager"
        ],
        "operationId": "HostGraphicsManager_RetrieveVgpuProfileInfo",
        "description": "***Since:*** vSphere API Release 7.0.3.0\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualMachineVgpuProfileInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostGraphicsManager_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/UpdateGraphicsConfig": {
      "post": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "Update graphics configuration\n",
        "operationId": "HostGraphicsManager_UpdateGraphicsConfig",
        "description": "Update graphics configuration\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGraphicsConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/availableField": {
      "get": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostGraphicsManager_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/graphicsConfig": {
      "get": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "Graphics Configuration\n",
        "operationId": "HostGraphicsManager_getGraphicsConfig",
        "description": "Graphics Configuration\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostGraphicsConfig"
                }
              }
            }
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/graphicsInfo": {
      "get": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "Array of graphics information\n",
        "operationId": "HostGraphicsManager_getGraphicsInfo",
        "description": "Array of graphics information\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostGraphicsInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/sharedGpuCapabilities": {
      "get": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "Array of shared passthru GPU capablities.\n",
        "operationId": "HostGraphicsManager_getSharedGpuCapabilities",
        "description": "Array of shared passthru GPU capablities.\n\nSee also *HostSharedGpuCapabilities*.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostSharedGpuCapabilities"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/sharedPassthruGpuTypes": {
      "get": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "Array of shared passthru GPU types.\n",
        "operationId": "HostGraphicsManager_getSharedPassthruGpuTypes",
        "description": "Array of shared passthru GPU types.\n\nThese GPU types may be enabled\nwhen specific host hardware is present. Example values are \"grid\\_k120q\"\nand \"grid\\_k240q\".\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostGraphicsManager/{moId}/value": {
      "get": {
        "tags": [
          "HostGraphicsManager"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostGraphicsManager_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostHealthStatusSystem/{moId}/FetchSystemEventLog": {
      "post": {
        "tags": [
          "HostHealthStatusSystem"
        ],
        "summary": "Hardware System Event Log (SEL) information\n",
        "operationId": "HostHealthStatusSystem_FetchSystemEventLog",
        "description": "Hardware System Event Log (SEL) information\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SystemEventInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostHealthStatusSystem/{moId}/ClearSystemEventLog": {
      "post": {
        "tags": [
          "HostHealthStatusSystem"
        ],
        "summary": "Clear the the IPMI System Event Log.\n",
        "operationId": "HostHealthStatusSystem_ClearSystemEventLog",
        "description": "Clear the the IPMI System Event Log.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostHealthStatusSystem/{moId}/RefreshHealthStatusSystem": {
      "post": {
        "tags": [
          "HostHealthStatusSystem"
        ],
        "summary": "Refresh the available runtime hardware health information.\n",
        "operationId": "HostHealthStatusSystem_RefreshHealthStatusSystem",
        "description": "Refresh the available runtime hardware health information.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostHealthStatusSystem/{moId}/ResetSystemHealthInfo": {
      "post": {
        "tags": [
          "HostHealthStatusSystem"
        ],
        "summary": "Resets the state of the sensors of the IPMI subsystem.\n",
        "operationId": "HostHealthStatusSystem_ResetSystemHealthInfo",
        "description": "Resets the state of the sensors of the IPMI subsystem.\n\nOn certain types\nof hardware IPMI sensor states latch onto unhealthy states and will stay\nin an unhealth state until the sensor state is reset. This method will\nexplicitly reset the sensors state.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostHealthStatusSystem/{moId}/runtime": {
      "get": {
        "tags": [
          "HostHealthStatusSystem"
        ],
        "operationId": "HostHealthStatusSystem_getRuntime",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthSystemRuntime"
                }
              }
            }
          }
        }
      }
    },
    "/HostImageConfigManager/{moId}/fetchSoftwarePackages": {
      "post": {
        "tags": [
          "HostImageConfigManager"
        ],
        "summary": "Reports the set of software packages installed.\n",
        "operationId": "HostImageConfigManager_fetchSoftwarePackages",
        "description": "Reports the set of software packages installed.\n\nThe\nCLI command is: esxcli software vib get\n\n***Required privileges:*** Host.Config.Image\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SoftwarePackage"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostImageConfigManager/{moId}/installDate": {
      "post": {
        "tags": [
          "HostImageConfigManager"
        ],
        "summary": "Reports the UTC time stamp when this system was first installed.\n",
        "operationId": "HostImageConfigManager_installDate",
        "description": "Reports the UTC time stamp when this system was first installed.\n\nThe\nCLI command is: esxcli system stats installtime get\n\n***Required privileges:*** Host.Config.Image\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/HostImageConfigManager/{moId}/HostImageConfigGetAcceptance": {
      "post": {
        "tags": [
          "HostImageConfigManager"
        ],
        "summary": "Queries the current host acceptance level setting.\n",
        "operationId": "HostImageConfigManager_HostImageConfigGetAcceptance",
        "description": "Queries the current host acceptance level setting.\n\nSee also *HostImageAcceptanceLevel_enum*If this has not been configured yet, then a default value will be\nreturned..\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if the host acceptance setting is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostImageConfigManager/{moId}/HostImageConfigGetProfile": {
      "post": {
        "tags": [
          "HostImageConfigManager"
        ],
        "summary": "Queries the current host image profile information.\n",
        "operationId": "HostImageConfigManager_HostImageConfigGetProfile",
        "description": "Queries the current host image profile information.\n\nSee also *HostImageProfileSummary*If there is no host image profile, then the value \"&lt;Unknown&gt;\" will\npopulate both name and vendor..\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostImageProfileSummary"
                }
              }
            }
          }
        }
      }
    },
    "/HostImageConfigManager/{moId}/UpdateHostImageAcceptanceLevel": {
      "post": {
        "tags": [
          "HostImageConfigManager"
        ],
        "summary": "Sets the acceptance level of the host image profile.\n",
        "operationId": "HostImageConfigManager_UpdateHostImageAcceptanceLevel",
        "description": "Sets the acceptance level of the host image profile.\n\nSee also *HostImageAcceptanceLevel_enum*.\n\n***Required privileges:*** Host.Config.Image\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateHostImageAcceptanceLevelRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if the acceptance level is raised and there are\nVIB packages that are not permitted by the\nhigher acceptance level.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostKernelModuleSystem/{moId}/QueryConfiguredModuleOptionString": {
      "post": {
        "tags": [
          "HostKernelModuleSystem"
        ],
        "summary": "Query the options configured to be passed to the kernel module when loaded.\n",
        "operationId": "HostKernelModuleSystem_QueryConfiguredModuleOptionString",
        "description": "Query the options configured to be passed to the kernel module when loaded.\n\nNote that this is not necessarily the option string currently in use by\nthe kernel module.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryConfiguredModuleOptionStringRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Option string to be passed to the kernel module at load time.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the kernel module does not exist on the host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HostKernelModuleSystem/{moId}/QueryModules": {
      "post": {
        "tags": [
          "HostKernelModuleSystem"
        ],
        "summary": "Query the set of modules on the host.\n",
        "operationId": "HostKernelModuleSystem_QueryModules",
        "description": "Query the set of modules on the host.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KernelModuleInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostKernelModuleSystem/{moId}/UpdateModuleOptionString": {
      "post": {
        "tags": [
          "HostKernelModuleSystem"
        ],
        "summary": "Specifies the options to be passed to the kernel module when loaded.\n",
        "operationId": "HostKernelModuleSystem_UpdateModuleOptionString",
        "description": "Specifies the options to be passed to the kernel module when loaded.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateModuleOptionStringRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the kernel module does not exist on the host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HostLocalAccountManager/{moId}/AssignUserToGroup": {
      "post": {
        "tags": [
          "HostLocalAccountManager"
        ],
        "summary": "Assigns a user to a group.\n",
        "operationId": "HostLocalAccountManager_AssignUserToGroup",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1, local user groups are not supported\nand group specific methods will throw NotSupported.\n\nAssigns a user to a group.\n\n***Required privileges:*** Host.Local.ManageUserGroups\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignUserToGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***UserNotFound***: if the specified user or group does not exist.\n\n***AlreadyExists***: if the user is already a member of the target group.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostLocalAccountManager/{moId}/ChangePassword": {
      "post": {
        "tags": [
          "HostLocalAccountManager"
        ],
        "summary": "Updates the password of a local user account.\n",
        "operationId": "HostLocalAccountManager_ChangePassword",
        "description": "Updates the password of a local user account.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if newPassword has an invalid format.\n\n***InvalidLogin***: if the user and oldPassword combination is not valid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidLogin"
                }
              }
            }
          }
        }
      }
    },
    "/HostLocalAccountManager/{moId}/CreateGroup": {
      "post": {
        "tags": [
          "HostLocalAccountManager"
        ],
        "summary": "Creates a local group account using the parameters defined in the\n*HostLocalAccountManagerAccountSpecification*\ndata object type.\n",
        "operationId": "HostLocalAccountManager_CreateGroup",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1, local user groups are not supported\nand group specific methods will throw NotSupported.\n\nCreates a local group account using the parameters defined in the\n*HostLocalAccountManagerAccountSpecification*\ndata object type.\n\nFor POSIX hosts, passing the\n*HostLocalAccountManagerPosixAccountSpecification* data object\ntype allows you to control\nthe group ID format of the group account being created.\n\n***Required privileges:*** Host.Local.ManageUserGroups\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: if specified local group already exists.\n\n***InvalidArgument***: if group name is in invalid format.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlreadyExists"
                }
              }
            }
          }
        }
      }
    },
    "/HostLocalAccountManager/{moId}/CreateUser": {
      "post": {
        "tags": [
          "HostLocalAccountManager"
        ],
        "summary": "Creates a local user account using the parameters defined in the\n*HostLocalAccountManagerAccountSpecification*\ndata object type.\n",
        "operationId": "HostLocalAccountManager_CreateUser",
        "description": "Creates a local user account using the parameters defined in the\n*HostLocalAccountManagerAccountSpecification*\ndata object type.\n\nFor POSIX hosts,\npassing *HostLocalAccountManagerPosixAccountSpecification* data object\ntype allows you to control the\nformat of the user ID of the user account being created.\n\n***Required privileges:*** Host.Local.ManageUserGroups\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: if the specified local user account\nalready exists.\n\n***InvalidArgument***: if the user name or password has an\ninvalid format.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlreadyExists"
                }
              }
            }
          }
        }
      }
    },
    "/HostLocalAccountManager/{moId}/RemoveGroup": {
      "post": {
        "tags": [
          "HostLocalAccountManager"
        ],
        "summary": "Removes a local group account.\n",
        "operationId": "HostLocalAccountManager_RemoveGroup",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1, local user groups are not supported\nand group specific methods will throw NotSupported.\n\nRemoves a local group account.\n\n***Required privileges:*** Host.Local.ManageUserGroups\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***UserNotFound***: if the specified groupName does not exist.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserNotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HostLocalAccountManager/{moId}/RemoveUser": {
      "post": {
        "tags": [
          "HostLocalAccountManager"
        ],
        "summary": "Removes a local user account.\n",
        "operationId": "HostLocalAccountManager_RemoveUser",
        "description": "Removes a local user account.\n\nAs of vSphere API 5.1, this operation will first try to remove all\npermissions associated with the specified account. The permissions of\nthe user are removed one by one, not atomically, and the operation\nis not rolled back if the removal of some permission fails.\n\n***Required privileges:*** Host.Local.ManageUserGroups\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveUserRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***SecurityError***: if trying to remove the last local user with\nDCUI access,\nor if trying to remove the last local\nuser with full administrative privileges,\nor if the system has encountered an error while\ntrying to remove user's permissions.\nor if the account cannot be removed due to\npermission issues.\n\n***UserNotFound***: if the specified userName does not exist.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserNotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HostLocalAccountManager/{moId}/UnassignUserFromGroup": {
      "post": {
        "tags": [
          "HostLocalAccountManager"
        ],
        "summary": "Unassigns a user from a group.\n",
        "operationId": "HostLocalAccountManager_UnassignUserFromGroup",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1, local user groups are not supported\nand group specific methods will throw NotSupported.\n\nUnassigns a user from a group.\n\n***Required privileges:*** Host.Local.ManageUserGroups\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnassignUserFromGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***UserNotFound***: if the specified user or group does not exist.\n\n***NoPermission***: if the group is the only group to which the\nuser belongs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserNotFound"
                }
              }
            }
          }
        }
      }
    },
    "/HostLocalAccountManager/{moId}/UpdateUser": {
      "post": {
        "tags": [
          "HostLocalAccountManager"
        ],
        "summary": "Updates a local user account using the parameters defined in the\n*HostLocalAccountManagerAccountSpecification*\ndata object type.\n",
        "operationId": "HostLocalAccountManager_UpdateUser",
        "description": "Updates a local user account using the parameters defined in the\n*HostLocalAccountManagerAccountSpecification*\ndata object type.\n\n***Required privileges:*** Host.Local.ManageUserGroups\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***UserNotFound***: if user is not found.\n\n***AlreadyExists***: if new account specification specifies an existing\nuser's ID.\n\n***InvalidArgument***: if new password or description has an invalid format.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostLocalAuthentication/{moId}/info": {
      "get": {
        "tags": [
          "HostLocalAuthentication"
        ],
        "summary": "Information about the authentication store.\n",
        "operationId": "HostLocalAuthentication_getInfo",
        "description": "Information about the authentication store.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostAuthenticationStoreInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostMemorySystem/{moId}/ReconfigureServiceConsoleReservation": {
      "post": {
        "tags": [
          "HostMemorySystem"
        ],
        "summary": "Sets the configured service console memory reservation.\n",
        "operationId": "HostMemorySystem_ReconfigureServiceConsoleReservation",
        "description": "Sets the configured service console memory reservation.\n\nThis change\naffects only the serviceConsoleReservedCfg property. The\nconfiguration change\npropagates to the other properties after the next boot.\n\n***Required privileges:*** Host.Config.Memory\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureServiceConsoleReservationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostMemorySystem/{moId}/ReconfigureVirtualMachineReservation": {
      "post": {
        "tags": [
          "HostMemorySystem"
        ],
        "summary": "Updates the virtual machine reservation information.\n",
        "operationId": "HostMemorySystem_ReconfigureVirtualMachineReservation",
        "description": "Updates the virtual machine reservation information.\n\n***Required privileges:*** Host.Config.Memory\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureVirtualMachineReservationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostMemorySystem/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostMemorySystem"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostMemorySystem_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostMemorySystem/{moId}/availableField": {
      "get": {
        "tags": [
          "HostMemorySystem"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostMemorySystem_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostMemorySystem/{moId}/consoleReservationInfo": {
      "get": {
        "tags": [
          "HostMemorySystem"
        ],
        "summary": "Service console reservation information for the memory manager.\n",
        "operationId": "HostMemorySystem_getConsoleReservationInfo",
        "description": "Service console reservation information for the memory manager.\n\nThe\nexistence of this data object indicates if the service console memory\nreservation must be configured for this host.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ServiceConsoleReservationInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostMemorySystem/{moId}/value": {
      "get": {
        "tags": [
          "HostMemorySystem"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostMemorySystem_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostMemorySystem/{moId}/virtualMachineReservationInfo": {
      "get": {
        "tags": [
          "HostMemorySystem"
        ],
        "summary": "Virtual machine reservation information for the memory manager.\n",
        "operationId": "HostMemorySystem_getVirtualMachineReservationInfo",
        "description": "Virtual machine reservation information for the memory manager.\n\nThe\nexistence of this data object indicates if the virtual machine memory\nreservation must be configured for this host.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VirtualMachineMemoryReservationInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/AddPortGroup": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Adds a port group to the virtual switch.\n",
        "operationId": "HostNetworkSystem_AddPortGroup",
        "description": "Adds a port group to the virtual switch.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddPortGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: if the port group already exists.\n\n***NotFound***: if the virtual switch does not exist.\n\n***InvalidArgument***: if the PortGroup vlanId is invalid. Valid vlanIds\nrange from \\[0,4095\\], where 0 means no vlan tagging. Exception is\nalso thrown if network policy is invalid.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/AddServiceConsoleVirtualNic": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Adds a virtual service console network adapter.\n",
        "operationId": "HostNetworkSystem_AddServiceConsoleVirtualNic",
        "description": "Adds a virtual service console network adapter.\n\nReturns the device of the\nVirtualNic.\n\nIP configuration is required although it does not have to be enabled\nif the host is an ESX Server system.\nThe dynamic privilege check will ensure that users have Host.Config.Network\nprivilege on the host, and Network.Assign privilege on the connecting\nDVPortGroup, or DVS if connecting to a standalone DVPort.\nNetwork.Assign privilege is not required for operations on standard network\nor for operations performed directly on the host\n\nSee also *HostNetCapabilities.usesServiceConsoleNic*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddServiceConsoleVirtualNicRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the IP address or subnet mask in the IP\nconfiguration are invalid or the named PortGroup does not exist.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/AddVirtualNic": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Adds a virtual host/VMkernel network adapter.\n",
        "operationId": "HostNetworkSystem_AddVirtualNic",
        "description": "Adds a virtual host/VMkernel network adapter.\n\nReturns the device of the virtual\nnetwork adapter.\n\nIP configuration is required although it does not have to be enabled\nif the host is an ESX Server system.\nThe dynamic privilege check will ensure that users have Host.Config.Network\nprivilege on the host, and Network.Assign privilege on the connecting\nDVPortGroup, or DVS if connecting to a standalone DVPort.\nNetwork.Assign privilege is not required for operations on standard network\nor for operations performed directly on the host.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddVirtualNicRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***AlreadyExists***: if the portgroup already has a virtual network\nadapter.\n\n***InvalidArgument***: if the IP address or subnet mask in the IP\nconfiguration are invalid. In the case of an ESX Server system, DHCP is\nnot supported and this exception will be thrown if DHCP is\nspecified. Exception may also be thrown if the named PortGroup\ndoes not exist.\n\n***InvalidState***: if the an ipv6 address is specified in an ipv4 only\nsystem\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/AddVirtualSwitch": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Adds a new virtual switch to the system with the given name.\n",
        "operationId": "HostNetworkSystem_AddVirtualSwitch",
        "description": "Adds a new virtual switch to the system with the given name.\n\nThe\nname must be unique with respect to other virtual switches on the\nhost and is limited to 32 characters.\n\nSee also *HostNetworkSystem.UpdateVirtualSwitch*.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddVirtualSwitchRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: if the virtual switch already exists.\n\n***InvalidArgument***: if network vswitchName exceeds the maximum allowed\nlength, or the number of ports specified falls out of valid range,\nor the network policy is invalid, or beacon configuration is invalid.\n\n***ResourceInUse***: if the physical network adapter being bridged\nis already in use.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/QueryNetworkHint": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Requests network hint information for a physical network adapter.\n",
        "operationId": "HostNetworkSystem_QueryNetworkHint",
        "description": "Requests network hint information for a physical network adapter.\n\nA network hint is\nsome information about the network to which the physical network\nadapter is attached. The method receives in a list of physical\nnetwork adapter devices and returns an equal number of hints\nif some devices are provided. If the list of devices is empty,\nthen the method accesses hints for all physical\nnetwork adapters.\n\nSee also *HostNetCapabilities.supportsNetworkHints*, *PhysicalNic.device*.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryNetworkHintRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PhysicalNicHintInfo"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if a specified physical network adapter does not exist.\n\n***InvalidArgument***: if the speed and duplexity combination is not valid\nfor the current link driver.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/RefreshNetworkSystem": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Refresh the network information and settings to pick up any changes\nthat might have occurred.\n",
        "operationId": "HostNetworkSystem_RefreshNetworkSystem",
        "description": "Refresh the network information and settings to pick up any changes\nthat might have occurred.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/RemovePortGroup": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Removes port group from the virtual switch.\n",
        "operationId": "HostNetworkSystem_RemovePortGroup",
        "description": "Removes port group from the virtual switch.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemovePortGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the port group or virtual switch does not exist.\n\n***ResourceInUse***: if the port group can not be removed because there\nare virtual network adapters associated with it.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/RemoveServiceConsoleVirtualNic": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Removes a virtual service console network adapter.\n",
        "operationId": "HostNetworkSystem_RemoveServiceConsoleVirtualNic",
        "description": "Removes a virtual service console network adapter.\n\nSee also *HostNetCapabilities.usesServiceConsoleNic*.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveServiceConsoleVirtualNicRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the virtual network adapter cannot be found.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***ResourceInUse***: if the network adapter is currently used\nby DHCP DNS.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/RemoveVirtualNic": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Removes a virtual host/VMkernel network adapter.\n",
        "operationId": "HostNetworkSystem_RemoveVirtualNic",
        "description": "Removes a virtual host/VMkernel network adapter.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveVirtualNicRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the virtual network adapter cannot be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/RemoveVirtualSwitch": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Removes an existing virtual switch from the system.\n",
        "operationId": "HostNetworkSystem_RemoveVirtualSwitch",
        "description": "Removes an existing virtual switch from the system.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveVirtualSwitchRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the virtual switch does not exist.\n\n***ResourceInUse***: if there are virtual network adapters associated\nwith the virtual switch.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/RestartServiceConsoleVirtualNic": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Restart the service console virtual network adapter interface.\n",
        "operationId": "HostNetworkSystem_RestartServiceConsoleVirtualNic",
        "description": "Restart the service console virtual network adapter interface.\n\nIf the service console virtual network adapter uses DHCP, restarting\nthe interface may result it with a different IP configuration, or\neven fail to be brought up depending on the host system network\nconfiguration.\n\nSee also *HostNetCapabilities.usesServiceConsoleNic*.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RestartServiceConsoleVirtualNicRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the virtual network adapter cannot be found.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostNetworkSystem_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/startDpuFailover": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Launch DPU(Data Processing Unit) failover for a given distributed virtual switch.\n",
        "operationId": "HostNetworkSystem_startDpuFailover",
        "description": "Launch DPU(Data Processing Unit) failover for a given distributed virtual switch.\n\n***Since:*** vSphere API Release 8.0.3.0\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/startDpuFailoverRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if the given distributed virtual switch is not configured\nin network offloading mode or the standby DPU is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgument"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdateConsoleIpRouteConfig": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Applies the IP route configuration for the service console.\n",
        "operationId": "HostNetworkSystem_UpdateConsoleIpRouteConfig",
        "description": "Applies the IP route configuration for the service console.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateConsoleIpRouteConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if any of the IP addresses are invalid.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdateDnsConfig": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Applies the client-side DNS configuration.\n",
        "operationId": "HostNetworkSystem_UpdateDnsConfig",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5, which is moved to\neach NetStackInstance. This API only works on the default NetStackInstance.\n\nApplies the client-side DNS configuration.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDnsConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if any of the IP addresses are invalid, or\nfor a DHCP DNS, if the DHCP virtual network adapter is not specified\nor the virtual network adapter specified is not DHCP enabled.\n\n***NotFound***: when the DHCP virtual network adapter specified does\nnot exist.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***HostInDomain***: if an attempt is made to change the host or domain name\nwhile the host is part of a Windows domain.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdateIpRouteConfig": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Applies the IP route configuration.\n",
        "operationId": "HostNetworkSystem_UpdateIpRouteConfig",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5, which is moved to\neach NetStackInstance. This API only works on the default NetStackInstance.\n\nApplies the IP route configuration.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIpRouteConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if any of the IP addresses are invalid.\n\n***InvalidState***: if the an ipv6 address is specified in an ipv4 only\nsystem\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdateIpRouteTableConfig": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Applies the IP route table configuration.\n",
        "operationId": "HostNetworkSystem_UpdateIpRouteTableConfig",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5, which is moved to\neach NetStackInstance. This API only works on the default NetStackInstance.\n\nApplies the IP route table configuration.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIpRouteTableConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if any of the IP addresses are invalid.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdateNetworkConfig": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Applies the network configuration.\n",
        "operationId": "HostNetworkSystem_UpdateNetworkConfig",
        "description": "Applies the network configuration.\n\nThis method operates primarily\nin two modes: **replace** or **modify** mode.\n\n**replace**  \nWhen called in **replace** mode, this method applies the fully\nspecified networking configuration to the networking system.\n\nUpon successful completion of the call, the state of networking will\nmatch the configuration specified in **config**. In general, objects\nare created or destroyed to match the elements in the array of\nconfigurations. The identifier field in each element in an array of\nconfigurations is used to match an existing network entity.\nThe state of existing network entities is patched to match that\nof the configuration.\n\nAn exception to this approach applies to the array of PhysicalNic.Config\nobjects. The cardinality of physical network adapters cannot be\nchanged through this\noperation. Thus, the identifier of every element in the array must match an\nexisting PhysicalNic. If there are fewer elements in the array than\nthere are existing PhysicalNics, then no change is made on the\nunreferenced PhysicalNic objects.\n\nIf the call fails, the networking error is returned as an exception\nand the state of networking reverts to the state prior to the start\nof the call.\n\n**modify**\nWhen called in **modify** mode, only changes that are specified are\nmade. For singleton entities like DnsConfig, the state is\nchanged only if the data object is set. For array elements, there is\nan Operation field that indicates if the element should be added,\nremoved, or edited. In the case of editing or removal, the entity\nmust exist or an exception is thrown. In the case of adding, a\nspecification needs to be provided.\n\nIt returns device names of vmkernel and service console virtual network\nadapter added to the system.\n\nCurrently, the only mode that is implemented is incremental mode.\nOnly add operations are supported for instances. Singleton\nconfiguration is not supported.\nThe dynamic privilege check will ensure that users have Host.Config.Network\nprivilege on the host, and Network.Assign privilege on the connecting\nDVPortGroup, or DVS if connecting to a standalone DVPort.\nNetwork.Assign privilege is not required for operations on standard network\nor for operations performed directly on the host\n\nSee also *HostConfigChangeMode_enum*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNetworkConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostNetworkConfigResult"
                }
              }
            }
          },
          "500": {
            "description": "***AlreadyExists***: when a network entity specified in the configuration\nalready exists.\n\n***NotFound***: when a network entity specified in the configuration\nalready exists.\n\n***InvalidArgument***: if an invalid parameter is passed in for one\nof the networking objects.\n\n***NotSupported***: if modify mode is not used, a remove or set\noperation is specified for an instance, or a singleton entity\nis configured.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdatePhysicalNicLinkSpeed": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Configures link speed and duplexity.\n",
        "operationId": "HostNetworkSystem_UpdatePhysicalNicLinkSpeed",
        "description": "Configures link speed and duplexity.\n\nIf linkSpeed is not specified,\nphysical network adapter will be set to autonegotiate.\n\nSee also *HostNetCapabilities.canSetPhysicalNicLinkSpeed*.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePhysicalNicLinkSpeedRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the physical network adapter does not exist.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***InvalidArgument***: if the speed and duplexity is not one of the valid\nconfigurations.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdatePortGroup": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Reconfigures a port group on the virtual switch.\n",
        "operationId": "HostNetworkSystem_UpdatePortGroup",
        "description": "Reconfigures a port group on the virtual switch.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePortGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AlreadyExists***: if the update causes the port group to conflict\nwith an existing port group.\n\n***NotFound***: if the port group or virtual switch does not exist.\n\n***InvalidArgument***: if the PortGroup vlanId is invalid. Valid vlanIds\nrange from \\[0,4095\\], where 0 means no vlan tagging. Exception is\nalso thrown if network policy is invalid.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdateServiceConsoleVirtualNic": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Configures the IP configuration for a virtual service console network\nadapter.\n",
        "operationId": "HostNetworkSystem_UpdateServiceConsoleVirtualNic",
        "description": "Configures the IP configuration for a virtual service console network\nadapter.\n\nIP configuration is required although it does not have to be enabled\nif the host is an ESX Server system.\nThe dynamic privilege check will check that the users\nhave Network.Assign privilege on the DVPortGroup\nor the DVS if the port resides on a DVPortGroup or is a stand-alone DVS port.\n\nSee also *HostNetCapabilities.usesServiceConsoleNic*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateServiceConsoleVirtualNicRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the virtual network adapter cannot be found.\n\n***InvalidArgument***: if the IP address or subnet mask in the IP\nconfiguration are invalid or the named PortGroup does not exist.\n\n***NotSupported***: if the host is not an ESX Server system.\n\n***ResourceInUse***: if tries to turn of DHCP while the network\nadapter is currently used by DHCP DNS.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdateVirtualNic": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Configures virtual host/VMkernel network adapter.\n",
        "operationId": "HostNetworkSystem_UpdateVirtualNic",
        "description": "Configures virtual host/VMkernel network adapter.\n\nIP configuration is required although it does not have to be enabled\nif the host is an ESX Server system.\nThe dynamic privilege check will ensure that users have Host.Config.Network\nprivilege on the host, and Network.Assign privilege on the connecting\nDVPortGroup, or DVS if connecting to a standalone DVPort.\nNetwork.Assign privilege is not required for operations on standard network\nor for operations performed directly on the host.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVirtualNicRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the virtual network adapter cannot be found.\n\n***InvalidArgument***: if the IP address or subnet mask in the IP\nconfiguration are invalid. In the case of an ESX Server\nsystem, DHCP is\nnot supported and this exception is thrown if DHCP is\nspecified. Exception may also be thrown if the named PortGroup\ndoes not exist.\n\n***InvalidState***: if the an ipv6 address is specified in an ipv4 only\nsystem\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/UpdateVirtualSwitch": {
      "post": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Updates the properties of the virtual switch.\n",
        "operationId": "HostNetworkSystem_UpdateVirtualSwitch",
        "description": "Updates the properties of the virtual switch.\n\nIf the bridge is NULL, the configuration will be unset.\n\nIf a network adapter is listed in the active or standby list, then\nchanging the set of network adapters to which the physical network\nadapter is associated may have a side effect of changing the network\nadapter order policy. If a network adapter is removed from\nthe bridge configuration, then the network adapter is removed\nfrom the network\nadapter teaming order.\n\nThe BondBridge configuration is the only valid bridge configuration for\nan ESX Server system.\n\nSee also *HostNicOrderPolicy*.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVirtualSwitchRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ResourceInUse***: if the physical network adapter being bridged is\nalready in use.\n\n***NotFound***: if the virtual switch does not exist.\n\n***InvalidArgument***: if the bridge parameter is bad or the network policy\nis invalid or does not exist or the number of ports specified falls\nout of valid range, or the beacon configuration is invalid.\n\n***NotSupported***: if network adapter teaming policy is set but\nis not supported.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/availableField": {
      "get": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostNetworkSystem_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/capabilities": {
      "get": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Capability vector indicating the available product features.\n",
        "operationId": "HostNetworkSystem_getCapabilities",
        "description": "Capability vector indicating the available product features.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostNetCapabilities"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/consoleIpRouteConfig": {
      "get": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "IP route configuration for the service console.\n",
        "operationId": "HostNetworkSystem_getConsoleIpRouteConfig",
        "description": "IP route configuration for the service console.\n\nThe IP route\nconfiguration is global to the entire host. This property is\nset only if\nIP routing can be configured for the service console.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostIpRouteConfig"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/dnsConfig": {
      "get": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Client-side DNS configuration.\n",
        "operationId": "HostNetworkSystem_getDnsConfig",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5, which is moved to\neach NetStackInstance. This only works on the default NetStackInstance.\n\nClient-side DNS configuration.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostDnsConfig"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/ipRouteConfig": {
      "get": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "The IP route configuration.\n",
        "operationId": "HostNetworkSystem_getIpRouteConfig",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5, which is moved to\neach NetStackInstance. This only works on the default NetStackInstance.\n\nThe IP route configuration.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostIpRouteConfig"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/networkConfig": {
      "get": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "Network configuration information.\n",
        "operationId": "HostNetworkSystem_getNetworkConfig",
        "description": "Network configuration information.\n\nThis information can be applied\nusing the *updateNetworkConfig()* method. The\ninformation is a strict subset of the information available in NetworkInfo.\n\nSee also *HostNetworkInfo*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostNetworkConfig"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/networkInfo": {
      "get": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "The network configuration and runtime information.\n",
        "operationId": "HostNetworkSystem_getNetworkInfo",
        "description": "The network configuration and runtime information.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostNetworkInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/offloadCapabilities": {
      "get": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "The offload capabilities available on this server.\n",
        "operationId": "HostNetworkSystem_getOffloadCapabilities",
        "deprecated": true,
        "description": "Deprecated as of VI API 4.0, the system defaults will be used.\n\nThe offload capabilities available on this server.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostNetOffloadCapabilities"
                }
              }
            }
          }
        }
      }
    },
    "/HostNetworkSystem/{moId}/value": {
      "get": {
        "tags": [
          "HostNetworkSystem"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostNetworkSystem_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostNvdimmSystem/{moId}/CreateNvdimmNamespace_Task": {
      "post": {
        "tags": [
          "HostNvdimmSystem"
        ],
        "summary": "A new block or persistent namespace can be created on the NVDIMM(s)\nwhen the system is in maintenance mode.\n",
        "operationId": "HostNvdimmSystem_CreateNvdimmNamespace_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.7u1, use createPMemNamespace\nCreate nvd namespace from information passed in NamespaceCreationSpec.\n\nA new block or persistent namespace can be created on the NVDIMM(s)\nwhen the system is in maintenance mode.\n\nIf all the parameters passed\nare valid and system is in maintenance mode, then a DSM (Device\nSpecific Method) call is made to create the namespace. DSM calls are\nblockable and slow operations and hence the use of task.\n\nIf a new namespace is created, its UUID is returned.\n\n***Required privileges:*** Host.Config.Nvdimm\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNvdimmNamespaceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object which is used to\nmonitor this operation. The task result\n(*Task.info*.*TaskInfo.result*) contains a\n*NvdimmGuid* object that has the UUID of the\nnewly created namespace.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if an argument to create namespace is invalid.\n\n***NotSupported***: if no NVDIMMs are found, namespace type is\nnot supported or if operation does not have\nDSM method.\n\n***InvalidHostState***: if operation is not allowed as system is not in\nmaintenance mode.\n\n***AlreadyExists***: if the namespace of type already exists.\n\n***SystemError***: for other system errors along with localized\nreason for failure.\n\n***HostConfigFault***: for any other failure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNvdimmSystem/{moId}/CreateNvdimmPMemNamespace_Task": {
      "post": {
        "tags": [
          "HostNvdimmSystem"
        ],
        "summary": "Create persistent memory mode nvd namespace from information passed\nin PMemNamespaceCreationSpec.\n",
        "operationId": "HostNvdimmSystem_CreateNvdimmPMemNamespace_Task",
        "description": "Create persistent memory mode nvd namespace from information passed\nin PMemNamespaceCreationSpec.\n\nA new persistent namespace can be created on the NVDIMM(s)\nwhen the system is in maintenance mode. If all the parameters passed\nare valid and system is in maintenance mode, then a DSM (Device\nSpecific Method) call is made to create the namespace. DSM calls are\nblockable and slow operations and hence the use of task.\n\nIf a new namespace is created, its UUID is returned.\n\n***Required privileges:*** Host.Config.Nvdimm\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNvdimmPMemNamespaceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object which is used to\nmonitor this operation. The task result\n(*Task.info*.*TaskInfo.result*) contains a\n*NvdimmGuid* object that has the UUID of the\nnewly created namespace.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if an argument to create namespace is invalid.\n\n***NotSupported***: if no NVDIMMs are found or if operation does\nnot have the supporting DSM method.\n\n***InvalidHostState***: if operation is not allowed as system is not in\nmaintenance mode.\n\n***AlreadyExists***: if the namespace of type already exists.\n\n***SystemError***: for other system errors along with localized\nreason for failure.\n\n***HostConfigFault***: for any other failure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNvdimmSystem/{moId}/DeleteNvdimmBlockNamespaces_Task": {
      "post": {
        "tags": [
          "HostNvdimmSystem"
        ],
        "summary": "Delete all block mode namespaces in the system.\n",
        "operationId": "HostNvdimmSystem_DeleteNvdimmBlockNamespaces_Task",
        "description": "Delete all block mode namespaces in the system.\n\nExisting block namespace(s) can be deleted from all NVDIMMs, if the\nsystem is in maintenance mode. If paramters passed are valid and\nthe system is in maintenance mode, then DSM calls are made to\ndelete these namespaces. DSM calls are blockable, slow operations\nand hence the use of task.\n\nIf a particular block namespace is to be deleted, use\n*HostNvdimmSystem.DeleteNvdimmNamespace_Task* by passing it the UUID\nof the block namespace.\n\n***Required privileges:*** Host.Config.Nvdimm\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object which is used to\nmonitor this operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if UUID of namespace to be created is invalid.\n\n***NotFound***: if the namespace to be deleted is not found.\n\n***NotSupported***: if no NVDIMMs are found and if operation does\nnot have DSM method.\n\n***InvalidHostState***: if operation is not allowed as system is not\nin maintenance mode.\n\n***SystemError***: for any other system error along with localized\nreason for failure.\n\n***HostConfigFault***: for any other failure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNvdimmSystem/{moId}/DeleteNvdimmNamespace_Task": {
      "post": {
        "tags": [
          "HostNvdimmSystem"
        ],
        "summary": "Delete nvd namespace whose uuid matches passed parameter.\n",
        "operationId": "HostNvdimmSystem_DeleteNvdimmNamespace_Task",
        "description": "Delete nvd namespace whose uuid matches passed parameter.\n\nAn existing namespace of type block or persistent mode can be deleted\nfrom NVDIMM(s), if the system is in maintenance mode. If paramters\npassed are valid and the system is in maintenance mode, then a DSM call\nis made to delete this namespace. DSM calls are blockable, slow\noperations and hence the use of task.\n\n***Required privileges:*** Host.Config.Nvdimm\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteNvdimmNamespaceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object which is used to\nmonitor this operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if UUID of namespace to be created is invalid.\n\n***NotFound***: if the namespace to be deleted is not found.\n\n***NotSupported***: if no NVDIMMs are found or if operation does\nnot have DSM method.\n\n***InvalidHostState***: if operation is not allowed as system is not in\nmaintenance mode.\n\n***SystemError***: for any other system error along with\nlocalized reason for failure.\n\n***HostConfigFault***: for any other failure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostNvdimmSystem/{moId}/nvdimmSystemInfo": {
      "get": {
        "tags": [
          "HostNvdimmSystem"
        ],
        "summary": "Host NVDIMM information.\n",
        "operationId": "HostNvdimmSystem_getNvdimmSystemInfo",
        "description": "Host NVDIMM information.\n\n\\- Summary of all dimms on the host.\n\\- Array of all DIMMs on the host.\n\\- Array of DIMM information and health for all dimms on the host.\n\\- Array of interleave set for all sets on the host.\n\\- Array of interleave set information for all sets on the host.\n\\- Array of namespace IDs for all dimms on the host.\n\\- Array of namespace details of all dimms on the host.\n\n***Required privileges:*** Host.Config.Nvdimm\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Return set of all NVDIMM related information.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NvdimmSystemInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostPatchManager/{moId}/CheckHostPatch_Task": {
      "post": {
        "tags": [
          "HostPatchManager"
        ],
        "summary": "Check the list of metadata and returns the dependency, obsolete and conflict information\nThe operation is cancelable through the returned *Task* object.\n",
        "operationId": "HostPatchManager_CheckHostPatch_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 8.0u3, and there is no replacement available.\n\nCheck the list of metadata and returns the dependency, obsolete and conflict information\nThe operation is cancelable through the returned *Task* object.\n\nNo integrity checks\nare performed on the metadata.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckHostPatchRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the\n*HostPatchManagerStatus*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***RequestCanceled***: if the operation is canceled.\n\n***InvalidState***: if the feature cannot be supported on the platform,\npotentially because the hardware configuration does not support it.\n\n***TaskInProgress***: if there is already a patch installation in progress.\n\n***PlatformConfigFault***: if any error occurs during the operation.\nMore detailed information will be returned within the payload of the\nexception as xml string.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPatchManager/{moId}/InstallHostPatch_Task": {
      "post": {
        "tags": [
          "HostPatchManager"
        ],
        "summary": "Patch the host.\n",
        "operationId": "HostPatchManager_InstallHostPatch_Task",
        "deprecated": true,
        "description": "Deprecated method is deprecated, use *HostPatchManager.InstallHostPatchV2_Task* instead.\n\nPatch the host.\n\nThe operation is not cancelable. If the\npatch installation failed, an atomic rollback of the installation will\nbe attempted. Manual rollback is required if the atomic rollback\nfailed, see *PatchInstallFailed* for details.\n\n***Required privileges:*** Host.Config.Patch\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallHostPatchRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***PatchMetadataInvalid***: if the required metadata is invalid - for\nexample, it is not found in the repository, is corrupted and so\non. Typically a more specific subclass of PatchMetadataInvalid is\nthrown.\n\n***PatchBinariesNotFound***: if required update related binaries were not\navailable.\n\n***PatchNotApplicable***: if the patch is not applicable. Typically a\nmore specific subclass of PatchNotApplicable is thrown to indicate\na specific problem - for example, PatchSuperseded if the patch is\nsuperseded, MissingDependency if required patch or libraries are not\ninstalled, AlreadyInstalled if the patch is already installed.\n\n***NoDiskSpace***: if the update can not be installed because there is\ninsufficient disk space for the installation, including temporary\nspace used for rollback.\n\n***PatchInstallFailed***: if the installation failed,\n*PlatformConfigFault.text* has details of the\nfailure. Automatic rollback might have succeeded or failed.\n\n***RebootRequired***: if the update cannot be installed without\nrestarting the host. This might occur on account of a prior\nupdate installation which needed to be installed separately\nfrom other updates.\n\n***InvalidState***: if the host is not in maintenance mode but the\npatch install requires all virtual machines to be powered off.\n\n***TaskInProgress***: if there is already a patch installation in progress.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPatchManager/{moId}/InstallHostPatchV2_Task": {
      "post": {
        "tags": [
          "HostPatchManager"
        ],
        "summary": "Patch the host.\n",
        "operationId": "HostPatchManager_InstallHostPatchV2_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 8.0u3, and there is no replacement available.\n\nPatch the host.\n\nThe operation is not cancelable. If the\npatch installation failed, an atomic rollback of the installation will\nbe attempted. Manual rollback is required if the atomic rollback\nfailed, see *PatchInstallFailed* for details.\n\n***Required privileges:*** Host.Config.Patch\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallHostPatchV2RequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***RequestCanceled***: if the operation is canceled.\n\n***InvalidState***: if the feature cannot be supported on the platform,\npotentially because the hardware configuration does not support it.\n\n***TaskInProgress***: if there is already a patch installation in progress.\n\n***PlatformConfigFault***: if any error occurs during the operation.\nMore detailed information will be returned within the payload of the\nexception as xml string.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPatchManager/{moId}/QueryHostPatch_Task": {
      "post": {
        "tags": [
          "HostPatchManager"
        ],
        "summary": "Query the host for installed bulletins.\n",
        "operationId": "HostPatchManager_QueryHostPatch_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 8.0u3, and there is no replacement available.\n\nQuery the host for installed bulletins.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryHostPatchRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***RequestCanceled***: if the operation is canceled.\n\n***InvalidState***: if the bulletin ID did not exist.\n\n***TaskInProgress***: if there is already a patch installation in progress.\n\n***PlatformConfigFault***: if any error occurs during the operation.\nMore detailed information will be returned within the payload of the\nexception as xml string.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPatchManager/{moId}/ScanHostPatch_Task": {
      "post": {
        "tags": [
          "HostPatchManager"
        ],
        "summary": "Scan the host for the patch status.\n",
        "operationId": "HostPatchManager_ScanHostPatch_Task",
        "deprecated": true,
        "description": "Deprecated as of VI API 4.0, use *HostPatchManager.ScanHostPatchV2_Task*.\n\nScan the host for the patch status.\n\nThe operation is cancelable\nthrough the returned *Task* object. Integrity checks are\nperformed on the metadata only during the scan operation.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScanHostPatchRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the\n*HostPatchManagerStatus*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***RequestCanceled***: if the operation is canceled.\n\n***PatchMetadataInvalid***: if query required metadata is invalid - for\nexample, it is not found in the repository, is corrupted and\nso on. Typically a more specific subclass of PatchMetadataInvalid\nis thrown.\n\n***PlatformConfigFault***: if there is any error in the repository access,\nmetadata download, repository level integrity check, or reading the\nmetadata. See *PlatformConfigFault.text* for\nspecific details.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPatchManager/{moId}/ScanHostPatchV2_Task": {
      "post": {
        "tags": [
          "HostPatchManager"
        ],
        "summary": "Scan the host for the patch status.\n",
        "operationId": "HostPatchManager_ScanHostPatchV2_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 8.0u3, and there is no replacement available.\n\nScan the host for the patch status.\n\nThe operation is cancelable\nthrough the returned *Task* object. Integrity checks are\nperformed on the metadata only during the scan operation.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScanHostPatchV2RequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the\n*HostPatchManagerStatus*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***RequestCanceled***: if the operation is canceled.\n\n***InvalidState***: if the feature cannot be supported on the platform,\npotentially because the hardware configuration does not support it.\n\n***TaskInProgress***: if there is already a patch installation in progress.\n\n***PlatformConfigFault***: if there is any error in the repository access,\nmetadata download, repository level integrity check, or reading the\nmetadata. See *PlatformConfigFault.text* for\nspecific details.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPatchManager/{moId}/StageHostPatch_Task": {
      "post": {
        "tags": [
          "HostPatchManager"
        ],
        "summary": "Stage the vib files to esx local location and possibly do some run time check.\n",
        "operationId": "HostPatchManager_StageHostPatch_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 8.0u3, and there is no replacement available.\n\nStage the vib files to esx local location and possibly do some run time check.\n\n***Required privileges:*** Host.Config.Patch\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StageHostPatchRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the\n*HostPatchManagerStatus*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***RequestCanceled***: if the operation is canceled.\n\n***InvalidState***: if the feature cannot be supported on the platform,\npotentially because the hardware configuration does not support it.\n\n***TaskInProgress***: if there is already a patch installation in progress.\n\n***PlatformConfigFault***: if any error occurs during the operation.\nMore detailed information will be returned within the payload of the\nexception as xml string.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPatchManager/{moId}/UninstallHostPatch_Task": {
      "post": {
        "tags": [
          "HostPatchManager"
        ],
        "summary": "Uninstall patch from the host.\n",
        "operationId": "HostPatchManager_UninstallHostPatch_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 8.0u3, and there is no replacement available.\n\nUninstall patch from the host.\n\nThe operation is not cancelable.\n\n***Required privileges:*** Host.Config.Patch\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UninstallHostPatchRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the feature cannot be supported on the platform,\npotentially because the hardware configuration does not support it.\n\n***TaskInProgress***: if there is already a patch installation in progress.\n\n***PlatformConfigFault***: if any error occurs during the operation.\nMore detailed information will be returned within the payload of the\nexception as xml string.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPciPassthruSystem/{moId}/Refresh": {
      "post": {
        "tags": [
          "HostPciPassthruSystem"
        ],
        "summary": "Refresh the available PciPassthru information.\n",
        "operationId": "HostPciPassthruSystem_Refresh",
        "description": "Refresh the available PciPassthru information.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostPciPassthruSystem/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostPciPassthruSystem"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostPciPassthruSystem_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostPciPassthruSystem/{moId}/UpdatePassthruConfig": {
      "post": {
        "tags": [
          "HostPciPassthruSystem"
        ],
        "summary": "Updates the PciPassthru configuration, this will\nget called for the dependent device with the enabled\nbool set\n",
        "operationId": "HostPciPassthruSystem_UpdatePassthruConfig",
        "description": "Updates the PciPassthru configuration, this will\nget called for the dependent device with the enabled\nbool set\n\n***Required privileges:*** Host.Config.PciPassthru\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePassthruConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if an error occurs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPciPassthruSystem/{moId}/availableField": {
      "get": {
        "tags": [
          "HostPciPassthruSystem"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostPciPassthruSystem_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostPciPassthruSystem/{moId}/pciPassthruInfo": {
      "get": {
        "tags": [
          "HostPciPassthruSystem"
        ],
        "summary": "Array of PciPassthru information\n",
        "operationId": "HostPciPassthruSystem_getPciPassthruInfo",
        "description": "Array of PciPassthru information\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostPciPassthruInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostPciPassthruSystem/{moId}/sriovDevicePoolInfo": {
      "get": {
        "tags": [
          "HostPciPassthruSystem"
        ],
        "summary": "Array of Sriov Device Pool information\n",
        "operationId": "HostPciPassthruSystem_getSriovDevicePoolInfo",
        "description": "Array of Sriov Device Pool information\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostSriovDevicePoolInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostPciPassthruSystem/{moId}/value": {
      "get": {
        "tags": [
          "HostPciPassthruSystem"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostPciPassthruSystem_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostPowerSystem/{moId}/ConfigurePowerPolicy": {
      "post": {
        "tags": [
          "HostPowerSystem"
        ],
        "summary": "Configure host power policy.\n",
        "operationId": "HostPowerSystem_ConfigurePowerPolicy",
        "description": "Configure host power policy.\n\n***Required privileges:*** Host.Config.Power\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigurePowerPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if an invalid power policy key is provided.\n\n***HostConfigFault***: for any other failure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostPowerSystem/{moId}/capability": {
      "get": {
        "tags": [
          "HostPowerSystem"
        ],
        "summary": "Power system capabilities object.\n",
        "operationId": "HostPowerSystem_getCapability",
        "description": "Power system capabilities object.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PowerSystemCapability"
                }
              }
            }
          }
        }
      }
    },
    "/HostPowerSystem/{moId}/info": {
      "get": {
        "tags": [
          "HostPowerSystem"
        ],
        "summary": "Power system state info object.\n",
        "operationId": "HostPowerSystem_getInfo",
        "description": "Power system state info object.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PowerSystemInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/HostProfileResetValidationState": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "This API will update the validationState to Ready\nfrom Failed, invalidate the validationFailureInfo\nand reset the validationStateUpdateTime.\n",
        "operationId": "HostProfile_HostProfileResetValidationState",
        "description": "This API will update the validationState to Ready\nfrom Failed, invalidate the validationFailureInfo\nand reset the validationStateUpdateTime.\n\nThis API will return error if the validationState\nis Running.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostProfile/{moId}/AssociateProfile": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Associate a profile with a managed entity.\n",
        "operationId": "HostProfile_AssociateProfile",
        "description": "Associate a profile with a managed entity.\n\nYou can check the compliance of\nentities associated with a profile by calling the\n*Profile.CheckProfileCompliance_Task* method.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssociateProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostProfile/{moId}/CheckProfileCompliance_Task": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Check compliance of an entity against a Profile.\n",
        "operationId": "HostProfile_CheckProfileCompliance_Task",
        "description": "Check compliance of an entity against a Profile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckProfileComplianceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/DestroyProfile": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Destroy the profile.\n",
        "operationId": "HostProfile_DestroyProfile",
        "description": "Destroy the profile.\n\n***Required privileges:*** Profile.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostProfile/{moId}/DissociateProfile": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Remove the association between a profile and a managed entity.\n",
        "operationId": "HostProfile_DissociateProfile",
        "description": "Remove the association between a profile and a managed entity.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DissociateProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostProfile/{moId}/ExecuteHostProfile": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Run the Profile Engine to determine the list of configuration changes\nneeded for the specified host.\n",
        "operationId": "HostProfile_ExecuteHostProfile",
        "description": "Run the Profile Engine to determine the list of configuration changes\nneeded for the specified host.\n\nThe method generates configuration changes\nbased on the host profile.\n\nYou can also specify deferred parameters to verify additional host-specific data.\nThe Profile Engine uses the policy options\n(*HostProfile*.*Profile.config*.*HostProfileConfigInfo.applyProfile*.*ApplyProfile.policy*\\[\\])\nto determine the required parameters\n(*PolicyOption*.*PolicyOption.parameter*\\[\\])\nfor host configuration. If you do not provide all of the required parameters,\nyou must call the method again to provide the complete list to the Profile Engine.\nAfter successful profile execution, when you apply the profile,\nthe Profile Engine will save the host-specific data in an *AnswerFile*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecuteHostProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Result of the execution. If the operation is successful\n(*ProfileExecuteResult*.*ProfileExecuteResult.status*<code>=success</code>),\nthe result object includes a valid host configuration specification that you can pass to the\n*HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task*\nmethod.\n\nIf the operation is not successful, the object contains error information\nor information about additional data required for the host configuration.\nIf additional data is required, the required input list\n(*ProfileExecuteResult*.*ProfileExecuteResult.requireInput*\\[\\])\ncontains both the <code>deferredParam</code> data and paths to missing parameters.\nAfter you fill in the missing parameters, pass the complete required input\nlist via the <code>deferredParam</code> parameter in another call to the execute method\nto finish input verification. After successful profile execution, you can pass\nthe verified required input list to the *HostProfileManager.ApplyHostConfig_Task*\nmethod.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileExecuteResult"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/ExportProfile": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Export the profile in a serialized form.\n",
        "operationId": "HostProfile_ExportProfile",
        "description": "Export the profile in a serialized form.\n\nTo use the serialized string to create a profile,\nspecify a *ProfileSerializedCreateSpec* when you call the\n*HostProfileManager*.*ProfileManager.CreateProfile*\nmethod.\n\n***Required privileges:*** Profile.Export\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Serialized form of the profile.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/RetrieveDescription": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Returns the localizable description for the profile.\n",
        "operationId": "HostProfile_RetrieveDescription",
        "description": "Returns the localizable description for the profile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Profile divided into sections containing element descriptions and messages.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ProfileDescription"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/UpdateHostProfile": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Update the <code>HostProfile</code> with the specified configuration data.\n",
        "operationId": "HostProfile_UpdateHostProfile",
        "description": "Update the <code>HostProfile</code> with the specified configuration data.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateHostProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DuplicateName***: If the profile with the new name already exists.\n\n***ProfileUpdateFailed***: if errors were encountered when updating\nthe profile.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/UpdateReferenceHost": {
      "post": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Sets the *HostProfile*.*HostProfile.referenceHost* property.\n",
        "operationId": "HostProfile_UpdateReferenceHost",
        "description": "Sets the *HostProfile*.*HostProfile.referenceHost* property.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateReferenceHostRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostProfile/{moId}/complianceCheckTime": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "The latest compliance check time.\n",
        "operationId": "HostProfile_getComplianceCheckTime",
        "description": "The latest compliance check time.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/complianceStatus": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Overall compliance of entities associated with this profile.\n",
        "operationId": "HostProfile_getComplianceStatus",
        "description": "Overall compliance of entities associated with this profile.\n\nIf one of the entities is out of compliance, the profile is <code>nonCompliant</code>.\nIf all entities are in compliance, the profile is <code>compliant</code>.\nIf the compliance status of one of the entities is not known, compliance status\nof the profile is <code>unknown</code>.\nSee *ComplianceResultStatus_enum*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/config": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Configuration data for the profile.\n",
        "operationId": "HostProfile_getConfig",
        "description": "Configuration data for the profile.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/createdTime": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Time at which the profile was created.\n",
        "operationId": "HostProfile_getCreatedTime",
        "description": "Time at which the profile was created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/description": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Localizable description of the profile\n",
        "operationId": "HostProfile_getDescription",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0. use *Profile.RetrieveDescription* instead.\n\nLocalizable description of the profile\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ProfileDescription"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/entity": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "List of managed entities associated with the profile.\n",
        "operationId": "HostProfile_getEntity",
        "description": "List of managed entities associated with the profile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/modifiedTime": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Time at which the profile was last modified.\n",
        "operationId": "HostProfile_getModifiedTime",
        "description": "Time at which the profile was last modified.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/name": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Name of the profile.\n",
        "operationId": "HostProfile_getName",
        "description": "Name of the profile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/referenceHost": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Reference host in use for this host profile.\n",
        "operationId": "HostProfile_getReferenceHost",
        "description": "Reference host in use for this host profile.\n\nTo set this property,\nuse the *HostProfile.UpdateReferenceHost*\nmethod. If you do not specify a host for validation\n(*HostProfileCompleteConfigSpec*.*HostProfileCompleteConfigSpec.validatorHost*),\nthe Profile Engine uses the reference host to validate the profile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/validationFailureInfo": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "This object is created or updated if the *HostProfileValidationState_enum*\nis Failed.\n",
        "operationId": "HostProfile_getValidationFailureInfo",
        "description": "This object is created or updated if the *HostProfileValidationState_enum*\nis Failed.\n\nThis object captures the most recent validation\nresult for the host profile object in case of failure.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostProfileValidationFailureInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/validationState": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "State of the host profile validation operation.\n",
        "operationId": "HostProfile_getValidationState",
        "description": "State of the host profile validation operation.\n\nThe values\nof the state will be one of *HostProfileValidationState_enum* enumerations.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfile/{moId}/validationStateUpdateTime": {
      "get": {
        "tags": [
          "HostProfile"
        ],
        "summary": "Update time of the validation operation.\n",
        "operationId": "HostProfile_getValidationStateUpdateTime",
        "description": "Update time of the validation operation.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/ApplyEntitiesConfig_Task": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "The task for applying host configuration on a list of hosts.\n",
        "operationId": "HostProfileManager_ApplyEntitiesConfig_Task",
        "description": "The task for applying host configuration on a list of hosts.\n\nThis is the\nbatch version of <code>applyHostConfiguration</code>. The implementation\nof this method will:\nWhen a host is in a DRS cluster but doesn't satisfy the state requirement\nsuch as that the host is not in the required maintenance mode, this\nmethod uses DRS feature to put the host into maintenance mode.\nThis method will apply a host profile to a stateful host or stateless\nhost; or apply a host profile to a stateless host by reboot.\nAfter a host is reboot, a check compliance is done to update the latest\ncompliance status.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyEntitiesConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. If the task is successful, the\n*Task*.*Task.info*.*TaskInfo.result*\nproperty is an array of\n*ApplyHostProfileConfigurationResult*\nobjects. Each\n*ApplyHostProfileConfigurationResult*\nis for each host in the provided host list.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/ApplyHostConfig_Task": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Apply the configuration to the host.\n",
        "operationId": "HostProfileManager_ApplyHostConfig_Task",
        "description": "Apply the configuration to the host.\n\nIf you specify any user input,\nthe configuration will be saved in the *AnswerFile*\nassociated with the host. If there is no answer file, the Profile Engine\nwill create one.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyHostConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the host is not in maintenance mode and the\nconfiguration specification requires it.\n\n***HostConfigFailed***: if the ESX Server cannot apply the configuration changes.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/CheckAnswerFileStatus_Task": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Check the validity of the answer files for the specified hosts.\n",
        "operationId": "HostProfileManager_CheckAnswerFileStatus_Task",
        "description": "Check the validity of the answer files for the specified hosts.\n\nThe Profile Engine uses the profile associated with a host to check\nthe answer file.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckAnswerFileStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. If the task is successful, the\n*Task*.*Task.info*.*TaskInfo.result*\nproperty contains a list of *AnswerFileStatusResult* objects.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/CompositeHostProfile_Task": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Composes (merge, replace, delete, disable)\nthe selected configurations into the target host profiles.\n",
        "operationId": "HostProfileManager_CompositeHostProfile_Task",
        "description": "Composes (merge, replace, delete, disable)\nthe selected configurations into the target host profiles.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompositeHostProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method will returns a *Task* object with which to\nmonitor the operation. The\n*Task*.*Task.info*.*TaskInfo.result*\nwill contain a\n*HostProfileManagerCompositionResult*\nobject containing the status of the operation, and details about\nany composition errors.\nThe definitions of all the parameters are same as those in\n*HostProfileManager.ValidateHostProfileComposition_Task*.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/CreateDefaultProfile": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Create a default subprofile of a given type (for example, a\n*VirtualSwitchProfile*).\n",
        "operationId": "HostProfileManager_CreateDefaultProfile",
        "description": "Create a default subprofile of a given type (for example, a\n*VirtualSwitchProfile*).\n\nAfter you create\nthe subprofile, you can add it to a configuration specification\nand update the host profile:\n- Call the <code>CreateDefaultProfile</code> method.\n- Create a *HostProfileCompleteConfigSpec* object.\n- Copy the existing profile from the host configuration information\n  (*HostProfile*.*Profile.config*.*HostProfileConfigInfo.applyProfile*) to the configuration specification.\n- Add the new subprofile to the configuration specification. For example,\n  if you create a <code>VirtualSwitchProfile</code>, you would add it to the list\n  of virtual switches in the network profile for the configuration specification\n  (*NetworkProfile*.*NetworkProfile.vswitch*\\[\\]).\n- Call *HostProfile*.*HostProfile.UpdateHostProfile*\n  to save the new subprofile.  \n  \n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDefaultProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Derived subprofile of type <code>profileType</code>.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyProfile"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/CreateProfile": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Create a profile from the specified CreateSpec.\n",
        "operationId": "HostProfileManager_CreateProfile",
        "description": "Create a profile from the specified CreateSpec.\n\n***Required privileges:*** Profile.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Profile created from the specified createSpec.\n\nRefers instance of *Profile*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If a profile with the specified name already\nexists.\n\n***InvalidProfileReferenceHost***: if the specified reference host is\nincompatible or no reference host has been specified.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DuplicateName"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/ExportAnswerFile_Task": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Export a host's answer file into a serialized form.\n",
        "operationId": "HostProfileManager_ExportAnswerFile_Task",
        "description": "Export a host's answer file into a serialized form.\n\nThe method returns a string\nthat contains only the list of user input options.\nSee *AnswerFile*.*AnswerFile.userInput*.\n\n***Required privileges:*** Profile.Export\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportAnswerFileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. If the task is successful, the\n*Task*.*Task.info*.*TaskInfo.result*\nproperty is a string that contains a serialized form of the answer file.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/FindAssociatedProfile": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Get the profile(s) to which this entity is associated.\n",
        "operationId": "HostProfileManager_FindAssociatedProfile",
        "description": "Get the profile(s) to which this entity is associated.\n\nThe list of profiles will only include profiles known to this\nprofileManager.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindAssociatedProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instances of *Profile*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/GenerateConfigTaskList": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Generate a list of configuration tasks that will be performed on the\nhost during HostProfile application.\n",
        "operationId": "HostProfileManager_GenerateConfigTaskList",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0 use\n*HostProfileManager.GenerateHostProfileTaskList_Task*.\n\nGenerate a list of configuration tasks that will be performed on the\nhost during HostProfile application.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateConfigTaskListRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of Configuration tasks.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostProfileManagerConfigTaskList"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/GenerateHostConfigTaskSpec_Task": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "This method generates *ApplyHostProfileConfigurationSpec* data object\nfor each host which can be passed as input to\n*HostProfileManager.ApplyEntitiesConfig_Task*\nto configure that host.\n",
        "operationId": "HostProfileManager_GenerateHostConfigTaskSpec_Task",
        "description": "This method generates *ApplyHostProfileConfigurationSpec* data object\nfor each host which can be passed as input to\n*HostProfileManager.ApplyEntitiesConfig_Task*\nto configure that host.\n\nFor each host, this method goes through two stages,\n*HostProfile.ExecuteHostProfile* stage\n*HostProfileManager.GenerateHostProfileTaskList_Task* stage. If the\n*HostProfile.ExecuteHostProfile* stage completes\nsuccessfully then the method invokes the\n*HostProfileManager.GenerateHostProfileTaskList_Task*\nstage to generate the list of configuration tasks that are needed\nto configure the host.\nThis method will return a task to monitor the progress of the operation.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateHostConfigTaskSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. If the task is successful, the\n*Task*.*Task.info*.*TaskInfo.result*\nproperty is a\n*ApplyHostProfileConfigurationSpec* object.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/GenerateHostProfileTaskList_Task": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Generate a list of configuration tasks that will be performed on the\nhost during HostProfile application.\n",
        "operationId": "HostProfileManager_GenerateHostProfileTaskList_Task",
        "description": "Generate a list of configuration tasks that will be performed on the\nhost during HostProfile application.\n\nThis differs from the\n*HostProfileManager.GenerateConfigTaskList* method in\nthat it returns a task to monitor the progress of the operation.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateHostProfileTaskListRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. If the task is successful, the\n*Task*.*Task.info*.*TaskInfo.result*\nproperty is a *HostProfileManagerConfigTaskList*\nobject.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/QueryAnswerFileStatus": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Returns the status of the answer files associated with specified hosts.\n",
        "operationId": "HostProfileManager_QueryAnswerFileStatus",
        "description": "Returns the status of the answer files associated with specified hosts.\n\nThis method returns the most recent status determined by\n*HostProfileManager.CheckAnswerFileStatus_Task*.\nSee *HostProfileManagerAnswerFileStatus_enum* for valid values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryAnswerFileStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of answer file status objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AnswerFileStatusResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/QueryPolicyMetadata": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Get the Metadata information for the policyNames.\n",
        "operationId": "HostProfileManager_QueryPolicyMetadata",
        "description": "Get the Metadata information for the policyNames.\n\nPolicyNames are available with the defaultProfile obtained by invoking the\nmethod createDefaultProfile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPolicyMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The metadata information for the policy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProfilePolicyMetadata"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/QueryHostProfileMetadata": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Retrieve the metadata for a set of profiles.\n",
        "operationId": "HostProfileManager_QueryHostProfileMetadata",
        "description": "Retrieve the metadata for a set of profiles.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryHostProfileMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of profile metadata objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProfileMetadata"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/QueryProfileStructure": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Get information about the structure of the profile.\n",
        "operationId": "HostProfileManager_QueryProfileStructure",
        "description": "Get information about the structure of the profile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryProfileStructureRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The profile structure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileProfileStructure"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/RetrieveAnswerFile": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Returns the answer file associated with a particular host.\n",
        "operationId": "HostProfileManager_RetrieveAnswerFile",
        "description": "Returns the answer file associated with a particular host.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveAnswerFileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Answer file object will be returned if it exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/AnswerFile"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/RetrieveAnswerFileForProfile": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Returns the answer file associated with a particular host, augmented\nwith whatever answer file values are required for the supplied host\nprofile.\n",
        "operationId": "HostProfileManager_RetrieveAnswerFileForProfile",
        "description": "Returns the answer file associated with a particular host, augmented\nwith whatever answer file values are required for the supplied host\nprofile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveAnswerFileForProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Answer file object will be returned.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/AnswerFile"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/RetrieveHostCustomizations": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "This is the batch version of\nvim.profile.host.ProfileManager@retrieveAnswerFile.\n",
        "operationId": "HostProfileManager_RetrieveHostCustomizations",
        "description": "This is the batch version of\nvim.profile.host.ProfileManager@retrieveAnswerFile.\n\nReturns a map that contains the hosts and their answer file data\nobjects.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveHostCustomizationsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A map that contains the hosts and their answer files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StructuredCustomizations"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/RetrieveHostCustomizationsForProfile": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "This is the batch version of\nvim.profile.host.ProfileManager@retrieveAnswerFileForProfile.\n",
        "operationId": "HostProfileManager_RetrieveHostCustomizationsForProfile",
        "description": "This is the batch version of\nvim.profile.host.ProfileManager@retrieveAnswerFileForProfile.\n\nReturns a map that contains the hosts and their answer files associated\nwith these hosts, augmented with whatever answer file values are\nrequired for the supplied host profile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveHostCustomizationsForProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A map contains the hosts and their answer files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StructuredCustomizations"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/UpdateAnswerFile_Task": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Update the *AnswerFile* for the specified host.\n",
        "operationId": "HostProfileManager_UpdateAnswerFile_Task",
        "description": "Update the *AnswerFile* for the specified host.\n\nIf there is no answer file associated with the host, the Profile Engine\nuses the answer file configuration specification to create a new one.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAnswerFileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***AnswerFileUpdateFailed***: If the answer file could not be updated.\n\n***InvalidArgument***: If the input parameters are incorrect.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnswerFileUpdateFailed"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/ValidateHostProfileComposition_Task": {
      "post": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "Validates the proposed host profile composition.\n",
        "operationId": "HostProfileManager_ValidateHostProfileComposition_Task",
        "description": "Validates the proposed host profile composition.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateHostProfileCompositionRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method will returns a *Task* object with which to\nmonitor the operation. The\n*Task*.*Task.info*.*TaskInfo.result*\nwill contain a\n*HostProfileManagerCompositionValidationResult*\nobject containing the status of the operation, any validation errors\nand the validation results.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostProfileManager/{moId}/profile": {
      "get": {
        "tags": [
          "HostProfileManager"
        ],
        "summary": "A list of profiles known to this ProfileManager.\n",
        "operationId": "HostProfileManager_getProfile",
        "description": "A list of profiles known to this ProfileManager.\n\n***Required privileges:*** Profile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Profile*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/RefreshServices": {
      "post": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "Refresh the service information and settings to pick up any changes\nmade directly on the host.\n",
        "operationId": "HostServiceSystem_RefreshServices",
        "description": "Refresh the service information and settings to pick up any changes\nmade directly on the host.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/RestartService": {
      "post": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "Restarts the service.\n",
        "operationId": "HostServiceSystem_RestartService",
        "description": "Restarts the service.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RestartServiceRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the service ID is unknown.\n\n***InvalidState***: if the service is not running.\nOnly hosts with ESX/ESXi 4.1 or earlier software use this fault.\nHosts running later versions of ESXi do not throw a fault in this case.\n\n***HostConfigFault***: for all other failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostServiceSystem_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/StartService": {
      "post": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "Starts the service.\n",
        "operationId": "HostServiceSystem_StartService",
        "description": "Starts the service.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartServiceRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the service ID is unknown.\n\n***InvalidState***: if the service is already running.\nOnly hosts with ESX/ESXi 4.1 or earlier software use this fault.\nHosts running later versions of ESXi do not throw a fault in this case.\n\n***HostConfigFault***: for all other failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/StopService": {
      "post": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "Stops the service.\n",
        "operationId": "HostServiceSystem_StopService",
        "description": "Stops the service.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StopServiceRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the service ID is unknown.\n\n***InvalidState***: if the service is not running.\nOnly hosts with ESX/ESXi 4.1 or earlier software use this fault.\nHosts running later versions of ESXi do not throw a fault in this case.\n\n***HostConfigFault***: for all other failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/UninstallService": {
      "post": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "Uninstalls the service.\n",
        "operationId": "HostServiceSystem_UninstallService",
        "description": "Uninstalls the service.\n\nIf the service is running, it is\nstopped before being uninstalled.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UninstallServiceRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the service ID is unknown.\n\n***InvalidArgument***: if the service is a required service.\n\n***NotSupported***: if the service doesn't support uninstallation.\n\n***HostConfigFault***: for all other failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/UpdateServicePolicy": {
      "post": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "Updates the activation policy of the service.\n",
        "operationId": "HostServiceSystem_UpdateServicePolicy",
        "description": "Updates the activation policy of the service.\n\n***Required privileges:*** Host.Config.NetService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateServicePolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the service ID is unknown.\n\n***InvalidArgument***: if the service ID represents a required service,\nor if the specified policy is undefined.\n\n***HostConfigFault***: for all other failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/availableField": {
      "get": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostServiceSystem_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/serviceInfo": {
      "get": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "Service configuration.\n",
        "operationId": "HostServiceSystem_getServiceInfo",
        "description": "Service configuration.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostServiceInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostServiceSystem/{moId}/value": {
      "get": {
        "tags": [
          "HostServiceSystem"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostServiceSystem_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSnmpSystem/{moId}/ReconfigureSnmpAgent": {
      "post": {
        "tags": [
          "HostSnmpSystem"
        ],
        "operationId": "HostSnmpSystem_ReconfigureSnmpAgent",
        "description": "***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureSnmpAgentRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSnmpSystem/{moId}/SendTestNotification": {
      "post": {
        "tags": [
          "HostSnmpSystem"
        ],
        "operationId": "HostSnmpSystem_SendTestNotification",
        "description": "***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSnmpSystem/{moId}/configuration": {
      "get": {
        "tags": [
          "HostSnmpSystem"
        ],
        "operationId": "HostSnmpSystem_getConfiguration",
        "description": "***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostSnmpConfigSpec"
                }
              }
            }
          }
        }
      }
    },
    "/HostSnmpSystem/{moId}/limits": {
      "get": {
        "tags": [
          "HostSnmpSystem"
        ],
        "operationId": "HostSnmpSystem_getLimits",
        "description": "***Required privileges:*** Global.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostSnmpSystemAgentLimits"
                }
              }
            }
          }
        }
      }
    },
    "/HostSpecificationManager/{moId}/DeleteHostSpecification": {
      "post": {
        "tags": [
          "HostSpecificationManager"
        ],
        "summary": "Delete the host specification of the specified host.\n",
        "operationId": "HostSpecificationManager_DeleteHostSpecification",
        "description": "Delete the host specification of the specified host.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteHostSpecificationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostSpecificationOperationFailed***: If the method fails when delete\nthe spec.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostSpecificationOperationFailed"
                }
              }
            }
          }
        }
      }
    },
    "/HostSpecificationManager/{moId}/DeleteHostSubSpecification": {
      "post": {
        "tags": [
          "HostSpecificationManager"
        ],
        "summary": "Delete the host sub specification specified by the provided <code>\nsubSpecname</code> of the specified host.\n",
        "operationId": "HostSpecificationManager_DeleteHostSubSpecification",
        "description": "Delete the host sub specification specified by the provided <code>\nsubSpecname</code> of the specified host.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteHostSubSpecificationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostSpecificationOperationFailed***: If the method fails when delete\nthe sub spec.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostSpecificationOperationFailed"
                }
              }
            }
          }
        }
      }
    },
    "/HostSpecificationManager/{moId}/HostSpecGetUpdatedHosts": {
      "post": {
        "tags": [
          "HostSpecificationManager"
        ],
        "summary": "Query the hosts whose specification was updated in the specified\ntime period.\n",
        "operationId": "HostSpecificationManager_HostSpecGetUpdatedHosts",
        "description": "Query the hosts whose specification was updated in the specified\ntime period.\n\nWhen the <code>startChangeID</code> isn't provided, it will\nreturn all the host updated before the <code>endChangeID</code>. When the\n<code>endChangeID</code> isn't provided, it will return all the hosts\nupdated after <code>startChangeID</code>. If both aren't provided, all\nhosts having host spec will be returned.\nThe format of the change ID is defined at\n*HostSpecification.changeID*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostSpecGetUpdatedHostsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The queried host list.\n\nRefers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSpecificationManager/{moId}/RetrieveHostSpecification": {
      "post": {
        "tags": [
          "HostSpecificationManager"
        ],
        "summary": "Retrieve the host specification.\n",
        "operationId": "HostSpecificationManager_RetrieveHostSpecification",
        "description": "Retrieve the host specification.\n\nWhen the parameter <code>fromHost</code>\nis <code>true</code>, the host specification is retrieved from the host;\notherwise, it is from the host specification \"database\" for this manager.\nWhen retrieved from host, the copy in host specification \"database\" will\nbe updated. On success, it will fire a\n<code>HostSpecificationChangedEvent</code>.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveHostSpecificationRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The host specification of the specified host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostSpecification"
                }
              }
            }
          },
          "500": {
            "description": "***HostSpecificationOperationFailed***: If the method fails when retrieve\nfrom host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostSpecificationOperationFailed"
                }
              }
            }
          }
        }
      }
    },
    "/HostSpecificationManager/{moId}/UpdateHostSpecification": {
      "post": {
        "tags": [
          "HostSpecificationManager"
        ],
        "summary": "Update the host specification with the provided copy.\n",
        "operationId": "HostSpecificationManager_UpdateHostSpecification",
        "description": "Update the host specification with the provided copy.\n\nIf there is no host specification for the host, create the host\nspecification for this host in the host specification \"database\";\notherwise, update the host specification with the provided.\n*HostSpecification* object.\nOn success, it will fire a <code>HostSpecificationChangedEvent</code>.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateHostSpecificationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostSpecificationOperationFailed***: If the method fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostSpecificationOperationFailed"
                }
              }
            }
          }
        }
      }
    },
    "/HostSpecificationManager/{moId}/UpdateHostSubSpecification": {
      "post": {
        "tags": [
          "HostSpecificationManager"
        ],
        "summary": "Update the host specification with the provided host sub specification.\n",
        "operationId": "HostSpecificationManager_UpdateHostSubSpecification",
        "description": "Update the host specification with the provided host sub specification.\n\nIf there is no host specification for the host, create the host\nspecification, which contains only the provided host sub specification,\nfor this host; otherwise, add or update the host specification with the\nprovided *HostSubSpecification* object.\nThis method provides a way to incrementally build the host specification.\nOn success, it will fire a <code>HostSpecificationChangedEvent</code>.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateHostSubSpecificationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostSpecificationOperationFailed***: If the method fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostSpecificationOperationFailed"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/AddInternetScsiSendTargets": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Adds Send Target entries to the host bus adapter discovery list.\n",
        "operationId": "HostStorageSystem_AddInternetScsiSendTargets",
        "description": "Adds Send Target entries to the host bus adapter discovery list.\n\nThe DiscoveryProperties.sendTargetsDiscoveryEnabled flag\nmust be set to true.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddInternetScsiSendTargetsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: for all other configuration failures.\n\n***NotFound***: if the discovery list could not be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/AddInternetScsiStaticTargets": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Adds Static Target entries to the host bus adapter discovery list.\n",
        "operationId": "HostStorageSystem_AddInternetScsiStaticTargets",
        "description": "Adds Static Target entries to the host bus adapter discovery list.\n\nThe DiscoveryProperty.staticTargetDiscoveryEnabled must be set to true.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddInternetScsiStaticTargetsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the host bus adaptor discovery list was not found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/AttachScsiLun": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Allow I/O issue to the specified detached ScsiLun.\n",
        "operationId": "HostStorageSystem_AttachScsiLun",
        "description": "Allow I/O issue to the specified detached ScsiLun.\n\nThe ScsiLun is\nadministratively configured on, if the attach operation is successful.\nSee *HostStorageSystem.DetachScsiLun*.\n\nattachScsiLun is part of the Unmount, Detach workflow used\nwhen a device will be permanently removed.\nSee also *HostStorageSystem.UnmountVmfsVolume*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachScsiLunRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***InvalidState***: if\n- The device is already attached.\n  i.e. Device state is not 'off' in *ScsiLun.operationalState*.\n- The device is unreachable. See *ScsiLun.operationalState*.\n  \n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/AttachScsiLunEx_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Attach one or more SCSI LUNs.\n",
        "operationId": "HostStorageSystem_AttachScsiLunEx_Task",
        "description": "Attach one or more SCSI LUNs.\n\nThis is an asynchronous, batch operation of\nattachScisLun. Please see *HostStorageSystem.AttachScsiLun*\nfor operational details.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachScsiLunExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for host configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/AttachVmfsExtent": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Extends a VMFS by attaching a disk partition as an extent.\n",
        "operationId": "HostStorageSystem_AttachVmfsExtent",
        "description": "Extends a VMFS by attaching a disk partition as an extent.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachVmfsExtentRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the VMFS cannot be found or is unmounted.\n\n***InvalidArgument***: if the new extent is already used by another\nvmfs volume, does not exist, or is of an invalid partition\ntype.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ChangeNFSUserPassword": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Change password for existing NFS user.\n",
        "operationId": "HostStorageSystem_ChangeNFSUserPassword",
        "description": "Change password for existing NFS user.\n\nThis method shall be called after\nthe NFS user has been created on the host.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeNFSUserPasswordRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: NFS user is not set.\n\n***HostConfigFault***: Unable to set passwords due to host configuration\nproblem.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ClearNFSUser": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Clear the NFS user configured on the esx host\n",
        "operationId": "HostStorageSystem_ClearNFSUser",
        "description": "Clear the NFS user configured on the esx host\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: Unable to clear NFS user due to host configuration\nproblem.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ComputeDiskPartitionInfo": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Computes the disk partition information given the desired disk layout.\n",
        "operationId": "HostStorageSystem_ComputeDiskPartitionInfo",
        "description": "Computes the disk partition information given the desired disk layout.\n\nThe server computes a new partition information object for a specific\ndisk representing the desired layout.\n\nSee also *HostDiskPartitionInfoPartitionFormat_enum*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ComputeDiskPartitionInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A data object that contains information about\nthe partitions on a disk\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostDiskPartitionInfo"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***InvalidArgument***: if the layout is invalid.\n\n***HostConfigFault***: if unable to get the current partition information for\nthe device.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ComputeDiskPartitionInfoForResize": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Computes the disk partition information for the purpose of resizing\na given partition.\n",
        "operationId": "HostStorageSystem_ComputeDiskPartitionInfoForResize",
        "description": "Computes the disk partition information for the purpose of resizing\na given partition.\n\nSee also *HostDiskPartitionInfoPartitionFormat_enum*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ComputeDiskPartitionInfoForResizeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "resized disk partition information\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostDiskPartitionInfo"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***InvalidArgument***: if blockRange or partition is invalid.\n\n***HostConfigFault***: if unable to get the current partition\ninformation for the device.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ConnectNvmeController": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Establish a connection to an NVME controller.\n",
        "operationId": "HostStorageSystem_ConnectNvmeController",
        "description": "Establish a connection to an NVME controller.\n\nAs a result, all the namespaces attached to the controller\nwill be accessible through the adapter.\nFor more details, see:\n- \"NVM Express over Fabrics 1.0\", Section 3.3,\n  \"Connect command and response\"\n  \n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectNvmeControllerRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the given HBA or transport target could not be found.\n\n***InvalidArgument***: if the provided spec is not valid.\n\n***NotSupported***: if the adapter does not support the provided\ncombination of parameters.\n\n***HostConfigFault***: if the host is unable to establish\nthe connection.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ConnectNvmeControllerEx_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Establish a connection to one or more NVMe controllers.\n",
        "operationId": "HostStorageSystem_ConnectNvmeControllerEx_Task",
        "description": "Establish a connection to one or more NVMe controllers.\n\nThis is an asynchronous, batch version of the connectNvmeController API.\nSee *HostStorageSystem.ConnectNvmeController* for details. If supported\non the host in question, *HostCapability.nvmeBatchOperationsSupported*\nwill be set to true.\nAn attempt will be made to establish a connection using each of the provided\nspecifications. There are no transactional guarantees - some of the connections\nmay succeed and some may fail. In case of any failures, a fault containing\ninformation about the failed attempts to establish a connection will be thrown.\n\n***Since:*** vSphere API Release 7.0.3.0\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectNvmeControllerExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the batch API is not supported on the host in question.\n\n***HostConfigFault***: if any of the attempted connections failed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/CreateNvmeOverRdmaAdapter": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Creates a software NVME over RDMA adapter.\n",
        "operationId": "HostStorageSystem_CreateNvmeOverRdmaAdapter",
        "description": "Creates a software NVME over RDMA adapter.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNvmeOverRdmaAdapterRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ResourceInUse***: if the RDMA device is already in use\nby an NVME over RDMA adapter.\n\n***NotFound***: if the given RDMA device could not be found.\n\n***NotSupported***: if the current configuration of the RDMA\ndevice does not permit the creation of the adapter.\n\n***HostConfigFault***: if the host is unable to create the adapter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/CreateSoftwareAdapter": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Creates a software host bus adapter based on the provided spec.\n",
        "operationId": "HostStorageSystem_CreateSoftwareAdapter",
        "description": "Creates a software host bus adapter based on the provided spec.\n\n***Since:*** vSphere API Release 7.0.3.0\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSoftwareAdapterRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ResourceInUse***: if some of the resources specified in the spec\nand needed for adapter creation is in use\n\n***NotFound***: if any of the resources specified in the spec could\nnot be found.\n\n***NotSupported***: if the configuration requested by the spec\nis not supported.\n\n***HostConfigFault***: if the host is unable to create the adapter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DeleteScsiLunState": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "For previously detached SCSI Lun, remove the state information from\nhost.\n",
        "operationId": "HostStorageSystem_DeleteScsiLunState",
        "description": "For previously detached SCSI Lun, remove the state information from\nhost.\n\nDetach SCSI Lun marks the device where I/Os are not allowed.\nHost still maintains the entry of this device and its state.\nIf a LUN is detached using detachScsiLun, ESX will not automatically\nattach this LUN durng a rescan or after a reboot.\nSee *HostStorageSystem.DetachScsiLun*.\nPlease note: The API takes 'canonicalName' of the ScsiLun object\ninstead of the ScsiLun.uuid.\n\nSee also *ScsiLun.canonicalName*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteScsiLunStateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: for any configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DeleteVffsVolumeState": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "For previously unmounted VFFS volume, remove the state information from\nhost.\n",
        "operationId": "HostStorageSystem_DeleteVffsVolumeState",
        "description": "For previously unmounted VFFS volume, remove the state information from\nhost.\n\nVFFS volumes mount state is maintained by host.\n\ndeleteVffsVolumeState is part of the Unmount/Detach workflow used\nwhen the device will be permanently removed.\nSee also *HostStorageSystem.UnmountVffsVolume*.\nIf the VFFS volume is unmounted using unmountVffsVolume, ESX maintains\nthe state of VFFS volume. This API will remove the state from the host.\nIf the underlying storage device is going to be un-provisioned on the\narray side, please detach the storage device.\nSee also *HostStorageSystem.DetachScsiLun*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteVffsVolumeStateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: for any configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DeleteVmfsVolumeState": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "For previously unmounted VMFS volume, remove the state information from\nhost.\n",
        "operationId": "HostStorageSystem_DeleteVmfsVolumeState",
        "description": "For previously unmounted VMFS volume, remove the state information from\nhost.\n\nVMFS volumes mount state is maintained by host.\n\ndeleteVmfsVolumeState is part of the Unmount/Detach workflow used\nwhen the device will be permanently removed.\nSee also *HostStorageSystem.UnmountVmfsVolume*.\nIf the VMFS volume is unmounted using unmountVmfsVolume, ESX maintains\nthe state of VMFS volume. This API will remove the state from the host.\nIf the underlying storage device is going to be un-provisioned on the\narray side, please detach the storage device.\nSee also *HostStorageSystem.DetachScsiLun*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteVmfsVolumeStateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: for any configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DestroyVffs": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Destroy a VFFS volume.\n",
        "operationId": "HostStorageSystem_DestroyVffs",
        "description": "Destroy a VFFS volume.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DestroyVffsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the VFFS cannot be found or is unmounted.\n\n***HostConfigFault***: for all other configuration failures.\n\n***ResourceInUse***: VFFS volume is being used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DetachScsiLun": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Disallow I/O issue to the specified ScsiLun.\n",
        "operationId": "HostStorageSystem_DetachScsiLun",
        "description": "Disallow I/O issue to the specified ScsiLun.\n\nThe ScsiLun is\ndetached, i.e. administratively configured off until a subsequent\nattachScsiLun is performed, if the operation is successful.\nSee *HostStorageSystem.AttachScsiLun*.\n\ndetachScsiLun is part of the Unmount / Detach workflow used\nwhen a device will be permanently removed.\nSee also *HostStorageSystem.UnmountVmfsVolume*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DetachScsiLunRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***InvalidState***: if\n- The device is already detached(turned 'off').\n  See *ScsiLun.operationalState*.\n  \n***ResourceInUse***: if\n- This device is backing a Vm with a Raw Device Mapped Virtual\n  Disk.\n- 1 or more programs have I/O outstanding on this device.\n- 1 or more mounted vmfs volumes have extents residing on this\n  device.\n- The device is configured for use by the host e.g. diagnostic\n  partition is configured on this device.\n  \n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DetachScsiLunEx_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Detach one or more SCSI LUNs.\n",
        "operationId": "HostStorageSystem_DetachScsiLunEx_Task",
        "description": "Detach one or more SCSI LUNs.\n\nThis is an asynchronous, batch operation of\ndetachScisLun. Please see *HostStorageSystem.DetachScsiLun*\nfor operational details.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DetachScsiLunExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for host configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DisableMultipathPath": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Disables an enabled path for a Logical Unit.\n",
        "operationId": "HostStorageSystem_DisableMultipathPath",
        "description": "Disables an enabled path for a Logical Unit.\n\nUse the path name from *HostMultipathStateInfoPath*\nor *HostMultipathInfoPath*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisableMultipathPathRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the LUN could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DisconnectNvmeController": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Disconnect from an NVME controller.\n",
        "operationId": "HostStorageSystem_DisconnectNvmeController",
        "description": "Disconnect from an NVME controller.\n\nAs a result, all the namespaces attached to the controller\nwill no longer be accessible through the adapter.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisconnectNvmeControllerRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the given HBA or controller could not be found.\n\n***InvalidArgument***: if the provided spec is not valid.\n\n***NotSupported***: if the adapter does not support the provided\ncombination of parameters.\n\n***HostConfigFault***: if the host is unable to perform\nthe disconnect.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DisconnectNvmeControllerEx_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Disconnect from one or more NVMe controllers.\n",
        "operationId": "HostStorageSystem_DisconnectNvmeControllerEx_Task",
        "description": "Disconnect from one or more NVMe controllers.\n\nThis is an asynchronous, batch version of the disconnectNvmeController API.\nSee *HostStorageSystem.DisconnectNvmeController* for details. If supported\non the host in question, *HostCapability.nvmeBatchOperationsSupported*\nwill be set to true.\nAn attempt will be made to disconnect a controller using each of the provided\nspecifications. There are no transactional guarantees - some of the disconnections\nmay succeed and some may fail. In case of any failures, a fault containing\ninformation about the failed attempts to disconnect a controller will be thrown.\n\n***Since:*** vSphere API Release 7.0.3.0\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisconnectNvmeControllerExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the batch API is not supported on the host in question.\n\n***HostConfigFault***: if any of the attempts to disconnect a controller fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DiscoverFcoeHbas": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Initiates FCoE discovery using the given FcoeSpecification.\n",
        "operationId": "HostStorageSystem_DiscoverFcoeHbas",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0. Software FCoE not supported.\n\nInitiates FCoE discovery using the given FcoeSpecification.\n\nUpon success, discovered VNPorts will have registered with the\nsystem as FCoE HBAs.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoverFcoeHbasRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if any parameter in the given FcoeSpecification\nis invalid.\n\n***HostConfigFault***: if the host is unable to issue FCoE discovery.\n\n***NotFound***: if the given HBA could not be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/DiscoverNvmeControllers": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Connects to a Discovery Controller and retrieves the Discovery Log\nusing the provided NvmeDiscoverSpec.\n",
        "operationId": "HostStorageSystem_DiscoverNvmeControllers",
        "description": "Connects to a Discovery Controller and retrieves the Discovery Log\nusing the provided NvmeDiscoverSpec.\n\nFor more details, see:\n- \"NVM Express over Fabrics 1.0\", Section 5, \"Discovery service\"\n  \n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoverNvmeControllersRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "discoveryLog A data object that represents\nthe Discovery Log.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostNvmeDiscoveryLog"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the given HBA or transport target could not be found.\n\n***InvalidArgument***: if the provided spec is not valid.\n\n***NotSupported***: if the adapter does not support the provided\ncombination of parameters.\n\n***HostConfigFault***: if the host is unable to retrieve\nthe discovery log.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/EnableMultipathPath": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Enables a disabled path for a Logical Unit.\n",
        "operationId": "HostStorageSystem_EnableMultipathPath",
        "description": "Enables a disabled path for a Logical Unit.\n\nUse the path name from *HostMultipathStateInfoPath*\nor *HostMultipathInfoPath*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableMultipathPathRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the LUN could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ExpandVmfsExtent": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Expands a VMFS extent as specified by the Disk partition specification.\n",
        "operationId": "HostStorageSystem_ExpandVmfsExtent",
        "description": "Expands a VMFS extent as specified by the Disk partition specification.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpandVmfsExtentRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the VMFS cannot be found or is unmounted.\n\n***InvalidArgument***: if the extent is not part of the VMFS volume.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ExtendVffs": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Extends a VFFS by attaching a SSD.\n",
        "operationId": "HostStorageSystem_ExtendVffs",
        "description": "Extends a VFFS by attaching a SSD.\n\nSee also *HostScsiDisk.devicePath*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendVffsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the VFFS cannot be found or is unmounted.\n\n***InvalidArgument***: if the new SSD is already used by another\nVFFS volume, does not exist, or is of an invalid partition\ntype.\n\n***HostConfigFault***: for all other configuration failures.\n\n***ResourceInUse***: VFFS volume is being used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/FormatVffs": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Format a new VFFS on a SSD disk\n",
        "operationId": "HostStorageSystem_FormatVffs",
        "description": "Format a new VFFS on a SSD disk\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FormatVffsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A data object that represents the VFFS file system.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostVffsVolume"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if VFFS version is invalid, the SSD disk\ndoes not exist or is of an invalid type.\n\n***AlreadyExists***: if the volume name is already being used\nby another volume on the host.\n\n***HostConfigFault***: for all other configuration failures.\n\n***ResourceInUse***: VFFS volume is being used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/FormatVmfs": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Formats a new VMFS on a disk partition.\n",
        "operationId": "HostStorageSystem_FormatVmfs",
        "description": "Formats a new VMFS on a disk partition.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FormatVmfsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A data object that represents the VMFS file system.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostVmfsVolume"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if VMFS version specified is not 2 or 3,\nif blocksize, lock mode, or volume label are invalid,\nthe partition does not exist or is of an invalid type.\n\n***AlreadyExists***: if the volume name is already being used\nby another volume on the host.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/MarkAsLocal_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Mark a disk to local disk, due to the reason that local disks\nbehind some controllers might not be recongized as local correctly.\n",
        "operationId": "HostStorageSystem_MarkAsLocal_Task",
        "description": "Mark a disk to local disk, due to the reason that local disks\nbehind some controllers might not be recongized as local correctly.\n\nTask failure might lose existing claim rules on the disk.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkAsLocalRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/MarkAsNonLocal_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Mark a disk to remote disk, which is the opposite operation of\n*HostStorageSystem.MarkAsLocal_Task*\nTask failure might lose existing claim rules on the disk.\n",
        "operationId": "HostStorageSystem_MarkAsNonLocal_Task",
        "description": "Mark a disk to remote disk, which is the opposite operation of\n*HostStorageSystem.MarkAsLocal_Task*\nTask failure might lose existing claim rules on the disk.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkAsNonLocalRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/MarkAsNonSsd_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Mark a disk to Non-SSD, which is the opposite operation of\n*HostStorageSystem.MarkAsSsd_Task*\nTask failure might lose existing claim rules on the disk.\n",
        "operationId": "HostStorageSystem_MarkAsNonSsd_Task",
        "description": "Mark a disk to Non-SSD, which is the opposite operation of\n*HostStorageSystem.MarkAsSsd_Task*\nTask failure might lose existing claim rules on the disk.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkAsNonSsdRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/MarkAsSsd_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Mark a disk to SSD, due to the reason that SSDs behind some controllers\nmight not be recongized as SSD correctly.\n",
        "operationId": "HostStorageSystem_MarkAsSsd_Task",
        "description": "Mark a disk to SSD, due to the reason that SSDs behind some controllers\nmight not be recongized as SSD correctly.\n\nTask failure might lose existing claim rules on the disk.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkAsSsdRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/HostStorageSystem_MarkForRemoval": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Mark or unmark the given FCoE HBA for removal from the host system.\n",
        "operationId": "HostStorageSystem_HostStorageSystem_MarkForRemoval",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0. Software FCoE not supported.\n\nMark or unmark the given FCoE HBA for removal from the host system.\n\nMarking an FCoE HBA for removal will result in the HBA\nnot being discovered upon host reboot. Until reboot,\nthe HBA remains visible in the storage topology.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostStorageSystem_MarkForRemovalRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the given HBA could not be found.\n\n***InvalidArgument***: if the given HBA is not an FCoE HBA.\n\n***HostConfigFault***: if the host does not support removing the given\nHBA.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/MarkPerenniallyReserved": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Marks the specified LUN as perennially reserved.\n",
        "operationId": "HostStorageSystem_MarkPerenniallyReserved",
        "description": "Marks the specified LUN as perennially reserved.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkPerenniallyReservedRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if unable to change perennially reserved state.\n\n***NotFound***: if the device could not be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/MarkPerenniallyReservedEx_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Marks the specified one or more SCSI LUN's perennially reserved based\non the sate.\n",
        "operationId": "HostStorageSystem_MarkPerenniallyReservedEx_Task",
        "description": "Marks the specified one or more SCSI LUN's perennially reserved based\non the sate.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkPerenniallyReservedExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/MountVffsVolume": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Mount the unmounted VFFS volume.\n",
        "operationId": "HostStorageSystem_MountVffsVolume",
        "description": "Mount the unmounted VFFS volume.\n\nSee *HostStorageSystem.UnmountVffsVolume*.\n\nmountVffsVolume is part of the Unmount / Detach workflow used\nwhen a device will be permanently removed.\nSee also *HostStorageSystem.DetachScsiLun*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MountVffsVolumeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if VFFS uuid is not found on the host.\n\n***InvalidState***: if\n- The volume is already mounted.\n- The volume is inaccessible. \n  \n***HostConfigFault***: for all other configuration failures.\n\n***ResourceInUse***: VFFS volume is being used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/MountVmfsVolume": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Mount the unmounted Vmfs volume.\n",
        "operationId": "HostStorageSystem_MountVmfsVolume",
        "description": "Mount the unmounted Vmfs volume.\n\nA newly discovered vmfs volume will be\nmounted unless, it has been explicitly unmounted. The default mount\nbehavior of Vmfs volumes is auto-mount. See *HostStorageSystem.UnmountVmfsVolume*.\n\nmountVmfsVolume is part of the Unmount / Detach workflow used\nwhen a device will be permanently removed.\nSee also *HostStorageSystem.DetachScsiLun*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MountVmfsVolumeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if VMFS Uuid is not found on the host.\n\n***InvalidState***: if\n- The volume is already mounted.\n- The volume is inaccessible. \n  \n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/MountVmfsVolumeEx_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Mount one or more VMFS volumes.\n",
        "operationId": "HostStorageSystem_MountVmfsVolumeEx_Task",
        "description": "Mount one or more VMFS volumes.\n\nThis is an asynchronous, batch operation of\nmountVmfsVolume. Please see *HostStorageSystem.MountVmfsVolume*\nfor operational details.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MountVmfsVolumeExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for host configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/QueryAvailableSsds": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Query the list SSD disks that can be used to contain a VFFS volume.\n",
        "operationId": "HostStorageSystem_QueryAvailableSsds",
        "description": "Query the list SSD disks that can be used to contain a VFFS volume.\n\nIf the optional parameter name is supplied, queries for the SSD\ndisks that can be used to contain extents of the specified VFFS volume. Otherwise,\nthe method retrieves the SSD disks that can be used to contain the new VFFS volume.\n\nThis operation will filter out SSD disks that are currently in use by an existing VFFS volume.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryAvailableSsdsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of data objects descrbing SSD disks.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostScsiDisk"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the named VFFS volume is not found.\n\n***InvalidArgument***: if named VFFS volume is not a VFFS volume\n\n***HostConfigFault***: if unable to query disk information.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/QueryNFSUser": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Query the NFS user configured on the esx host\n",
        "operationId": "HostStorageSystem_QueryNFSUser",
        "description": "Query the NFS user configured on the esx host\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "UserInfo objects.\nSee *HostNasVolumeUserInfo*\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostNasVolumeUserInfo"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: Unable to get NFS user due to host configuration\nproblem.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/QueryPathSelectionPolicyOptions": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Queries the set of path selection policy options.\n",
        "operationId": "HostStorageSystem_QueryPathSelectionPolicyOptions",
        "description": "Queries the set of path selection policy options.\n\nThe set of policy\noptions indicates what path selection policies can be used by a\ndevice managed by native multipathing. Devices managed through native\nmultipathing are described in the *HostMultipathInfo* data\nobject.\n\nFiltering capabilities are not currently present but may be added in\nthe future.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The list of path selection policy descriptions that match the\nsearch criteria. Details about the policies will also be\nprovided in accordance to the query specification.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostPathSelectionPolicyOption"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for system configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/QueryStorageArrayTypePolicyOptions": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Queries the set of storage array type policy options.\n",
        "operationId": "HostStorageSystem_QueryStorageArrayTypePolicyOptions",
        "description": "Queries the set of storage array type policy options.\n\nThe set of policy\noptions indicates what storage array type policies can be used by a\ndevice managed by native multipathing. Devices managed through native\nmultipathing are described in the *HostMultipathInfo* data\nobject.\n\nFiltering capabilities are not currently present but may be added in\nthe future.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The list of storage array type policy descriptions.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostStorageArrayTypePolicyOption"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for system configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/QueryUnresolvedVmfsVolume": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Get the list of unbound VMFS volumes.\n",
        "operationId": "HostStorageSystem_QueryUnresolvedVmfsVolume",
        "description": "Get the list of unbound VMFS volumes.\n\nFor sharing a volume across hosts, a VMFS volume is bound to its\nunderlying block device storage. When a low level block copy is\nperformed to copy or move the VMFS volume, the copied volume will\nbe unbound.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "An array of unbound VMFS volumes.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostUnresolvedVmfsVolume"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/QueryVmfsConfigOption": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Get the VMFS configuration options, including block size,\nunmap granularity.\n",
        "operationId": "HostStorageSystem_QueryVmfsConfigOption",
        "description": "Get the VMFS configuration options, including block size,\nunmap granularity.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "VMFS configuration options.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VmfsConfigOption"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RefreshStorageSystem": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Obtains the latest host storage information related to storage devices, topology,\nand file systems.\n",
        "operationId": "HostStorageSystem_RefreshStorageSystem",
        "description": "Obtains the latest host storage information related to storage devices, topology,\nand file systems.\n\nThe ESX host updates its storage information asynchronously.\n\nThis method may update the following inventory elements:\n- Devices and storage topology\n  (*HostSystem*.*HostSystem.config*.*HostConfigInfo.storageDevice*).\n- VMFS and NFS datastores (*HostSystem*.*HostSystem.datastore*).\n- File system volumes\n  (*HostSystem*.*HostSystem.config*.*HostConfigInfo.fileSystemVolume*).\n  \nThe Server performs asynchronous updates to the inventory. Use the\n*PropertyCollector*.*PropertyCollector.WaitForUpdatesEx*\nmethod to obtain the property changes.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RemoveInternetScsiSendTargets": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Removes Send Target entries from the host bus adapter discovery list.\n",
        "operationId": "HostStorageSystem_RemoveInternetScsiSendTargets",
        "description": "Removes Send Target entries from the host bus adapter discovery list.\n\nThe DiscoveryProperty.sendTargetsDiscoveryEnabled must be set to true.\nIf any of the targets provided as parameters are not found in\nthe existing list, the other targets are removed and an exception\nis thrown.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveInternetScsiSendTargetsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if at least one target was not found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RemoveInternetScsiStaticTargets": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Removes static target entries from the host bus adapter discovery list.\n",
        "operationId": "HostStorageSystem_RemoveInternetScsiStaticTargets",
        "description": "Removes static target entries from the host bus adapter discovery list.\n\nThe DiscoveryProperty.staticTargetDiscoveryEnabled must be set to true.\nIf any of the targets provided as parameters are not found in\nthe existing list, the other targets are removed and an exception\nis thrown.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveInternetScsiStaticTargetsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if at least one target was not found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RemoveNvmeOverRdmaAdapter": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Removes a software NVME over RDMA adapter.\n",
        "operationId": "HostStorageSystem_RemoveNvmeOverRdmaAdapter",
        "description": "Removes a software NVME over RDMA adapter.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveNvmeOverRdmaAdapterRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the given HBA could not be found.\n\n***InvalidArgument***: if the given HBA is not an NVMe over RDMA HBA.\n\n***ResourceInUse***: if the given HBA is in use.\n\n***HostConfigFault***: if the host is unable to remove the given HBA.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RemoveSoftwareAdapter": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Removes a software host bus adapter, if the adapter type allows it.\n",
        "operationId": "HostStorageSystem_RemoveSoftwareAdapter",
        "description": "Removes a software host bus adapter, if the adapter type allows it.\n\n***Since:*** vSphere API Release 7.0.3.0\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveSoftwareAdapterRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the given HBA could not be found.\n\n***InvalidArgument***: if the given adapter type cannot be removed.\n\n***ResourceInUse***: if the given HBA is in use.\n\n***HostConfigFault***: if the host is unable to remove the given HBA.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RescanAllHba": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Scans all host bus adapters to obtain the current list of devices and device topology.\n",
        "operationId": "HostStorageSystem_RescanAllHba",
        "description": "Scans all host bus adapters to obtain the current list of devices and device topology.\n\nThe *HostStorageSystem.RescanAllHba* method looks for new devices,\nremoved devices, and path changes.\n\nThis method may update the following inventory elements:\n- Devices and storage topology\n  (*HostSystem*.*HostSystem.config*.*HostConfigInfo.storageDevice*).\n- VMFS and NFS datastores (*HostSystem*.*HostSystem.datastore*).\n- File system volumes (*HostSystem*.*HostSystem.config*.*HostConfigInfo.fileSystemVolume*).\n  \nThe Server performs asynchronous updates to the inventory. Use the\n*PropertyCollector*.*PropertyCollector.WaitForUpdatesEx*\nmethod to obtain the property changes.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if rescan failed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RescanHba": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Issues a request to rescan a specific host bus adapter\nfor new storage devices.\n",
        "operationId": "HostStorageSystem_RescanHba",
        "description": "Issues a request to rescan a specific host bus adapter\nfor new storage devices.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RescanHbaRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the host bus adapter cannot be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RescanVffs": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Rescans for new VFFS.\n",
        "operationId": "HostStorageSystem_RescanVffs",
        "description": "Rescans for new VFFS.\n\nThe *HostStorageSystem.RefreshStorageSystem* method also performs a VFFS rescan.\n\n*HostStorageSystem.RescanVffs* may update the\n*HostSystem*.*HostSystem.config*.*HostConfigInfo.fileSystemVolume* property.\nThe Server performs asynchronous updates to the inventory. Use the\n*PropertyCollector*.*PropertyCollector.WaitForUpdatesEx*\nmethod to obtain the property changes.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if configuration fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RescanVmfs": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Rescans for new Virtual Machine File Systems (VMFS).\n",
        "operationId": "HostStorageSystem_RescanVmfs",
        "description": "Rescans for new Virtual Machine File Systems (VMFS).\n\nThe *HostStorageSystem.RefreshStorageSystem* method also performs a VMFS rescan.\n\n*HostStorageSystem.RescanVmfs* may update the\n*HostSystem*.*HostSystem.config*.*HostConfigInfo.fileSystemVolume* property.\nThe Server performs asynchronous updates to the inventory. Use the\n*PropertyCollector*.*PropertyCollector.WaitForUpdatesEx*\nmethod to obtain the property changes.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: if configuration fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ResolveMultipleUnresolvedVmfsVolumes": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Resignature or 'Force Mount' list of unbound VMFS volumes.\n",
        "operationId": "HostStorageSystem_ResolveMultipleUnresolvedVmfsVolumes",
        "description": "Resignature or 'Force Mount' list of unbound VMFS volumes.\n\nTo safely enable sharing of the volume across hosts, a VMFS volume\nis bound to its underlying block device storage. When a low level\nblock copy is performed to copy or move the VMFS volume, the copied\nvolume will be unbound. In order for the VMFS volume to be usable,\na resolution operation is needed to determine whether the VMFS volume\nshould be treated as a new volume or not and what extents compose\nthat volume in the event there is more than one unbound volume.\n\nResignature results in a new VMFS volume on the host.\nOperations performed at the StorageSystem interface apply only to a\nspecific host. Hence, callers of this method are responsible for\nissuing rescan operations to detect the new VMFS volume on other hosts.\nAlternatively, callers that want VirtualCenter to handle rescanning\nthe necessary hosts should use the DatastoreSystem interface.\n\nWhen user wants to keep the original Vmfs Uuid and mount it\non the host, set the 'resolutionSpec.uuidResolution' to 'forceMounted'\nThis is per-host operation.\nIt will return an array of ResolutionResult describing success or failure\nassociated with each specification.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveMultipleUnresolvedVmfsVolumesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A data object that represents the VMFS file system and return status value.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostUnresolvedVmfsResolutionResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if batch operation fails on the host.\nBecause the returned array of ResolutionResult contains the new VMFS volume\nor fault for each operation, as of vSphere API 5.x, we won't throw fault when\nbatch operation fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/ResolveMultipleUnresolvedVmfsVolumesEx_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Resignature or 'Force Mount' list of unbound VMFS volumes.\n",
        "operationId": "HostStorageSystem_ResolveMultipleUnresolvedVmfsVolumesEx_Task",
        "description": "Resignature or 'Force Mount' list of unbound VMFS volumes.\n\nTo safely enable sharing of the volume across hosts, a VMFS volume\nis bound to its underlying block device storage. When a low level\nblock copy is performed to copy or move the VMFS volume, the copied\nvolume will be unbound. In order for the VMFS volume to be usable,\na resolution operation is needed to determine whether the VMFS volume\nshould be treated as a new volume or not and what extents compose\nthat volume in the event there is more than one unbound volume.\n\nResignature results in a new VMFS volume on the host.\nOperations performed at the *HostStorageSystem* interface apply only to a\nspecific host. Hence, callers of this method are responsible for\nissuing rescan operations to detect the new VMFS volume on other hosts.\nAlternatively, callers that want VirtualCenter to handle rescanning\nthe necessary hosts should use the *HostDatastoreSystem* interface.\n\nWhen user wants to keep the original VMFS UUID and mount it\non the host, set the resolutionSpec.uuidResolution\n(*HostUnresolvedVmfsResolutionSpec.uuidResolution*)\nto *forceMount*.\nThis is per-host operation.\n\nIt will return an array of *HostUnresolvedVmfsResolutionResult*\ndescribing success or failure associated with each specification.\n\nThis method behaves the same as *HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumes*\nexcept that it returns a task to support monitoring the operation.\nThis is important for operations with large number of\nunresolved volumes which may take potentially dozens of minutes to complete.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveMultipleUnresolvedVmfsVolumesExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains an array of *HostUnresolvedVmfsResolutionResult*\ndescribing success or failure associated with each specification.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if batch operation fails on the host.\nBecause the returned array of ResolutionResult contains the new VMFS volume\nor fault for each operation, as of vSphere API 5.x, we won't throw fault when\nbatch operation fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/RetrieveDiskPartitionInfo": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Gets the partition information for the disks named by the device names.\n",
        "operationId": "HostStorageSystem_RetrieveDiskPartitionInfo",
        "description": "Gets the partition information for the disks named by the device names.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveDiskPartitionInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of information about the partitions.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostDiskPartitionInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostStorageSystem_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/SetMultipathLunPolicy": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Updates the path selection policy for a Logical Unit.\n",
        "operationId": "HostStorageSystem_SetMultipathLunPolicy",
        "description": "Updates the path selection policy for a Logical Unit.\n\nUse the LUN uuid from *HostMultipathInfoLogicalUnit*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetMultipathLunPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the LUN could not be found.\n\n***InvalidArgument***: if the policy is invalid.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/SetNFSUser": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Set NFS username and password on the host.\n",
        "operationId": "HostStorageSystem_SetNFSUser",
        "description": "Set NFS username and password on the host.\n\nThe specified password is\nstored encrypted at the host and overwrites any previous password\nconfiguration. This information is only needed when the host has\nmounted NFS volumes with security types that require user\ncredentials for accessing data. The password is used to acquire\ncredentials that the NFS client needs to use in order to secure NFS\ntraffic using RPCSECGSS. The client will access files on all volumes\nmounted on this host (that are mounted with the relevant security\ntype) on behalf of specified user.\n\nAt present, this API supports only file system NFSv4.1.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetNFSUserRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: Unable to set user/passwords due to host configuration\nproblem.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/TurnDiskLocatorLedOff_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Turn off one or more disk locator LEDs.\n",
        "operationId": "HostStorageSystem_TurnDiskLocatorLedOff_Task",
        "description": "Turn off one or more disk locator LEDs.\n\nThis is a batch operation to turn off one or more disk locator LEDs,\nwhich is the opposite operation of *HostStorageSystem.TurnDiskLocatorLedOn_Task*\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TurnDiskLocatorLedOffRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for host configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/TurnDiskLocatorLedOn_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Turn on one or more disk locator LEDs, duration is the maximum that\nhardware can support.\n",
        "operationId": "HostStorageSystem_TurnDiskLocatorLedOn_Task",
        "description": "Turn on one or more disk locator LEDs, duration is the maximum that\nhardware can support.\n\nThis is a batch operation to turn on one or more disk locator LEDs,\nso that user can easily locate the ScsiDisk on physical infrastructure.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TurnDiskLocatorLedOnRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for host configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UnmapVmfsVolumeEx_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Unmap one or more VMFS volumes.\n",
        "operationId": "HostStorageSystem_UnmapVmfsVolumeEx_Task",
        "description": "Unmap one or more VMFS volumes.\n\nThis is an asynchronous, batch operation.\nThe operation unmaps free blocks in each VMFS volume.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnmapVmfsVolumeExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for host configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UnmountForceMountedVmfsVolume": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Unmount the 'forceMounted' Vmfs volume.\n",
        "operationId": "HostStorageSystem_UnmountForceMountedVmfsVolume",
        "description": "Unmount the 'forceMounted' Vmfs volume.\n\nWhen a low level block copy is performed to copy or move the\nVMFS volume, the copied volume is unresolved. For the VMFS\nvolume to be usable, a resolution operation is applied. As\npart of resolution operation, user may decide to keep the\noriginal VMFS Uuid. Once the resolution is applied, the VMFS\nvolume is mounted on the host for its use. User can unmount\nthe VMFS volume if it is not being used by any registered\nVMs.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnmountForceMountedVmfsVolumeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if VMFS Uuid is not found on the host.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UnmountVffsVolume": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Unmount the VFFS volume.\n",
        "operationId": "HostStorageSystem_UnmountVffsVolume",
        "description": "Unmount the VFFS volume.\n\nAn unmounted volume cannot be used for any\nfilesystem operation requiring I/O. In contrast to removal, this\noperation does not destroy or alter partitions on which VFFS volumes\nreside. The mountState will be persisted across filesystem rescans and\nhost reboots. See *HostStorageSystem.MountVffsVolume*.\n\nunmountVffsVolume is part of the Unmount / Detach workflow used\nwhen a device will be permanently removed.\nSee also *HostStorageSystem.DetachScsiLun*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnmountVffsVolumeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if VFFS uuid is not found on the host.\n\n***InvalidState***: if\n- The volume is already unmounted.\n- The volume is inaccessible.\n  \n***ResourceInUse***: if\n- 1 or more programs have I/O outstanding on this volume.\n  \n***HostConfigFault***: for all other configuration failures.\n\n***ResourceInUse***: VFFS volume is being used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UnmountVmfsVolume": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Unmount the Vmfs volume.\n",
        "operationId": "HostStorageSystem_UnmountVmfsVolume",
        "description": "Unmount the Vmfs volume.\n\nAn unmounted volume cannot be used for any\nfilesystem operation requiring I/O. In contrast to removal, this\noperation does not destroy or alter partitions on which vmfs volumes\nreside. The mountState will be persisted across filesystem rescans and\nhost reboots. See *HostStorageSystem.MountVmfsVolume*.\n\nunmountVmfsVolume is part of the Unmount / Detach workflow used\nwhen a device will be permanently removed.\n\n                         Mounted Vmfs Volume\n        unmountVmfsVolume  |  ^ mountVmfsVolume\n                           V  |\n                         Unmounted Vmfs Volume\n    \n             Attached Scsi Device (honors I/O)\n        detachScsiLun      |  ^ attachScsiLun\n                           V  |\n      Detached Scsi Device (does not honor I/O)\n\nIt is safe to unprovision a Lun from the Storage array \\*only\\*\nafter a Scsi device is detached.\n\nThe best practice for decommisioning a Lun would be to find\nout the set of subsystems that a Lun is being used for.\nMany of the systems are listed as exceptions in the\nfunction documentation.\n\nOne typical workflow could be:\n- Find out if the device is used as a Vmfs Extent. (See VmfsVolume.Extent API)\n- Unmount the Vmfs Volume.\n- Find out if device is used by the Diagnostic system (See Diagnostic System API).\n- Deactivate the diagnostic system, if it is being used.\n- Find out if this device is used to back a VM's RDM (See VirtualMachine API).\n- Remove this device from the VM.\n- Detach the Scsi device.\n- On success, it is safe to decommision the Lun at this point.\n  \nSee also *HostStorageSystem.DetachScsiLun*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnmountVmfsVolumeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if VMFS Uuid is not found on the host.\n\n***InvalidState***: if\n- The volume is already unmounted.\n- The volume is inaccessible.\n  \n***ResourceInUse***: if\n- There is any VM registered on this volume.\n- 1 or more programs have I/O outstanding on this volume.\n  \n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UnmountVmfsVolumeEx_Task": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Unmount one or more VMFS volumes.\n",
        "operationId": "HostStorageSystem_UnmountVmfsVolumeEx_Task",
        "description": "Unmount one or more VMFS volumes.\n\nThis is an asynchronous, batch operation of\nunmountVmfsVolume. Please see *HostStorageSystem.UnmountVmfsVolume*\nfor operational details.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnmountVmfsVolumeExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: for host configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateDiskPartitions": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Changes the partitions on the disk by supplying a partition specification\nand the device name.\n",
        "operationId": "HostStorageSystem_UpdateDiskPartitions",
        "description": "Changes the partitions on the disk by supplying a partition specification\nand the device name.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDiskPartitionsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***InvalidArgument***: if the spec is invalid.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateHppMultipathLunPolicy": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Updates the path selection policy for a HPP claimed Logical Unit.\n",
        "operationId": "HostStorageSystem_UpdateHppMultipathLunPolicy",
        "description": "Updates the path selection policy for a HPP claimed Logical Unit.\n\nUse the LUN uuid from *HostMultipathInfoLogicalUnit*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateHppMultipathLunPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the LUN could not be found.\n\n***InvalidArgument***: if the policy is invalid.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateInternetScsiAdvancedOptions": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Updates the advanced options the iSCSI host bus adapter or the\ndiscovery addresses and targets associated with it.\n",
        "operationId": "HostStorageSystem_UpdateInternetScsiAdvancedOptions",
        "description": "Updates the advanced options the iSCSI host bus adapter or the\ndiscovery addresses and targets associated with it.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateInternetScsiAdvancedOptionsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the host bus adapter could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateInternetScsiAlias": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Updates the alias of an iSCSI host bus adapter.\n",
        "operationId": "HostStorageSystem_UpdateInternetScsiAlias",
        "description": "Updates the alias of an iSCSI host bus adapter.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateInternetScsiAliasRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the host bus adapter could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateInternetScsiAuthenticationProperties": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Updates the authentication properties for one or more targets or\ndiscovery addresses associated with an iSCSI host bus adapter.\n",
        "operationId": "HostStorageSystem_UpdateInternetScsiAuthenticationProperties",
        "description": "Updates the authentication properties for one or more targets or\ndiscovery addresses associated with an iSCSI host bus adapter.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateInternetScsiAuthenticationPropertiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the host bus adapter could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateInternetScsiDigestProperties": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Updates the digest properties for the iSCSI host bus adapter or the\ndiscovery addresses and targets associated with it.\n",
        "operationId": "HostStorageSystem_UpdateInternetScsiDigestProperties",
        "description": "Updates the digest properties for the iSCSI host bus adapter or the\ndiscovery addresses and targets associated with it.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateInternetScsiDigestPropertiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the host bus adapter could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateInternetScsiDiscoveryProperties": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Updates the Discovery properties for an iSCSI host bus adapter.\n",
        "operationId": "HostStorageSystem_UpdateInternetScsiDiscoveryProperties",
        "description": "Updates the Discovery properties for an iSCSI host bus adapter.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateInternetScsiDiscoveryPropertiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the host bus adapter could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateInternetScsiIPProperties": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Updates the IP properties for an iSCSI host bus adapter.\n",
        "operationId": "HostStorageSystem_UpdateInternetScsiIPProperties",
        "description": "Updates the IP properties for an iSCSI host bus adapter.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateInternetScsiIPPropertiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the host bus adapter could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateInternetScsiName": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Updates the name of an iSCSI host bus adapter.\n",
        "operationId": "HostStorageSystem_UpdateInternetScsiName",
        "description": "Updates the name of an iSCSI host bus adapter.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateInternetScsiNameRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the host bus adapter could not be found.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateScsiLunDisplayName": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Update the mutable display name associated with a ScsiLun.\n",
        "operationId": "HostStorageSystem_UpdateScsiLunDisplayName",
        "description": "Update the mutable display name associated with a ScsiLun.\n\nThe ScsiLun\nto be updated is identified using the specified uuid.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateScsiLunDisplayNameRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the device could not be found.\n\n***InvalidName***: if the name does not meet name restrictions such\nas an 80 character limit.\n\n***DuplicateName***: if the name does not name uniqueness restrictions.\nName uniqueness restrictions will vary based on the context in\nwhich this method is invoked.\n\nWhen this method is invoked on a host directly, no uniqueness\nchecks will be performed on the name.\n\nWhen this method is invoked on a VC server, uniqueness checks\nwill be performed on the name. The uniqueness check will\nensure that the name is unique with respect to the entire\nVC instance.\n\n***HostConfigFault***: for all other configuration failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateSoftwareInternetScsiEnabled": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Enables or disables Software iSCSI.\n",
        "operationId": "HostStorageSystem_UpdateSoftwareInternetScsiEnabled",
        "description": "Enables or disables Software iSCSI.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSoftwareInternetScsiEnabledRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: for any configuration failure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateVmfsUnmapBandwidth": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Update VMFS unmap bandwidth.\n",
        "operationId": "HostStorageSystem_UpdateVmfsUnmapBandwidth",
        "description": "Update VMFS unmap bandwidth.\n\nThis API updates the value of\n*VmfsUnmapBandwidthSpec.policy*,\n*VmfsUnmapBandwidthSpec.fixedValue*,\n*VmfsUnmapBandwidthSpec.dynamicMin*,\n*VmfsUnmapBandwidthSpec.dynamicMax*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVmfsUnmapBandwidthRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpdateVmfsUnmapPriority": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Update VMFS unmap priority.\n",
        "operationId": "HostStorageSystem_UpdateVmfsUnmapPriority",
        "description": "Update VMFS unmap priority.\n\nThis API updates the value of *HostVmfsVolume.unmapPriority*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVmfsUnmapPriorityRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpgradeVmLayout": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Iterates over all registered virtual machines.\n",
        "operationId": "HostStorageSystem_UpgradeVmLayout",
        "description": "Iterates over all registered virtual machines.\n\nFor each VM which .vmx file\nis located on the service console and all disks are available on VMFS3 or NAS,\nit will relocate the disks into directories if stored in the ROOT, and\nrelocate the VMX file into the directory too. Events are logged for each\nvirtual machine that is relocated.\n\nOn ESXi systems, this operation has no effect.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/UpgradeVmfs": {
      "post": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Upgrades the VMFS to the *latest\nsupported VMFS version*.\n",
        "operationId": "HostStorageSystem_UpgradeVmfs",
        "description": "Upgrades the VMFS to the *latest\nsupported VMFS version*.\n\nPrerequisite:  \nAll hosts that have mounted the volume must support the VMFS\nversion to which the volume will be upgraded.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpgradeVmfsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if the VMFS cannot be found or is unmounted.\n\n***HostConfigFault***: if the prerequisite is not satisfied\nor for all other configuration\nfailures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/availableField": {
      "get": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostStorageSystem_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/fileSystemVolumeInfo": {
      "get": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "File system volume information for the host.\n",
        "operationId": "HostStorageSystem_getFileSystemVolumeInfo",
        "description": "File system volume information for the host.\n\nSee the\n*FileSystemVolumeInfo* data\nobject type for more information.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostFileSystemVolumeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/multipathStateInfo": {
      "get": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Runtime information about the state of a multipath path.\n",
        "operationId": "HostStorageSystem_getMultipathStateInfo",
        "description": "Runtime information about the state of a multipath path.\n\nA null value will be returned if path state information is not available\nfor this system.\n\nIn systems prior to the plug-store architecture, the state of a path\nmay be accessible on the *HostMultipathInfo* data object\nof the *HostStorageSystem.storageDeviceInfo* property.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostMultipathStateInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/storageDeviceInfo": {
      "get": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Host storage information up to the device level.\n",
        "operationId": "HostStorageSystem_getStorageDeviceInfo",
        "description": "Host storage information up to the device level.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostStorageDeviceInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/systemFile": {
      "get": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "Datastore paths of files used by the host system on\nmounted volumes, for instance, the COS vmdk file of the\nhost.\n",
        "operationId": "HostStorageSystem_getSystemFile",
        "description": "Datastore paths of files used by the host system on\nmounted volumes, for instance, the COS vmdk file of the\nhost.\n\nFor information on datastore paths, see *Datastore*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostStorageSystem/{moId}/value": {
      "get": {
        "tags": [
          "HostStorageSystem"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostStorageSystem_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/AcquireCimServicesTicket": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Creates and returns a credential used to establish a remote\nconnection to a Web Based Management (CIM) interface.\n",
        "operationId": "HostSystem_AcquireCimServicesTicket",
        "description": "Creates and returns a credential used to establish a remote\nconnection to a Web Based Management (CIM) interface.\n\nValid only\nwhen ESXi wbem authentication mode is set to password.\nThe ticket provides the port for the service and sslThumbprint should\nbe used by client to validate ssl connection. This ticket is valid for 2\nminutes then will expire and is non-renewable.\n\n***Required privileges:*** Host.Cim.CimInteraction\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostServiceTicket"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/ConfigureCryptoKey": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Sets/changes the key to be used for coredump encryption\nand puts the host in *safe* state.\n",
        "operationId": "HostSystem_ConfigureCryptoKey",
        "description": "Sets/changes the key to be used for coredump encryption\nand puts the host in *safe* state.\n\nThis function will make the host crypto safe and unlock all encrypted\nVMs on the host. When the encryption on the host is enabled for the\nfirst time after adding it to vCenter Server, this method will start\nsending asynchronously all the encryption keys for VMs on the host and\ncluster to unlock encrypted VMs.\nThis API behaves differently on the ESXi host vs. the vCenter server.\nBefore vSphere 7.0, it is not supported on host, and invoking directly\non a host will throw NotSupported fault. Since vSphere 7.0, calling the\nAPI on host will make the host crypto safe, but the parameter should not\nbe blank and should only be a key id from a trusted key provider.\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigureCryptoKeyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostSystem/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "HostSystem_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** Host.Inventory.RemoveHostFromCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/DisconnectHost_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Disconnects from a host and instructs the server to stop sending heartbeats.\n",
        "operationId": "HostSystem_DisconnectHost_Task",
        "description": "Disconnects from a host and instructs the server to stop sending heartbeats.\n\n***Required privileges:*** Host.Config.Connection\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/EnableCrypto": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Sets/changes the key to be used for coredump encryption\nand puts the host in *safe* state\nNote: *HostSystem.PrepareCrypto* must be called first\n",
        "operationId": "HostSystem_EnableCrypto",
        "description": "Sets/changes the key to be used for coredump encryption\nand puts the host in *safe* state\nNote: *HostSystem.PrepareCrypto* must be called first\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableCryptoRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is in\n*incapable* state\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/EnterLockdownMode": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Modifies the permissions on the host, so that it will only be accessible\nthrough local console or an authorized centralized management application.\n",
        "operationId": "HostSystem_EnterLockdownMode",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0, use\n*HostAccessManager.ChangeLockdownMode*.\n\nModifies the permissions on the host, so that it will only be accessible\nthrough local console or an authorized centralized management application.\n\nAny user defined permissions found on the host are lost.\n\nAccess via a VI client connected to the host is blocked.\nAccess though other services running on the host is also blocked.\n\nIf the operation is successful, *HostConfigInfo.adminDisabled*\nwill be set to true. This API is not supported on the host, If invoked\ndirectly on a host, a NotSupported fault will be thrown.\n\nSee also *AuthorizationManager*for more information on permissions..\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***AdminDisabled***: If the host's Administrator permission has been\ndisabled.\n\n***DisableAdminNotSupported***: If invoked directly on the host or the\nhost doesn't support this operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/EnterMaintenanceMode_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Puts the host in maintenance mode.\n",
        "operationId": "HostSystem_EnterMaintenanceMode_Task",
        "description": "Puts the host in maintenance mode.\n\nWhile this task is running and when the host is\nin maintenance mode, no virtual machines can be powered on and no provisioning\noperations can be performed on the host. Once the call completes, it is safe to\nturn off a host without disrupting any virtual machines.\n\nThe task completes once there are no powered-on virtual machines on the host and\nno provisioning operations in progress on the host. The operation does not\ndirectly initiate any operations to evacuate or power-down powered-on virtual machines.\nHowever, if the host is part of a cluster with VMware DRS enabled, DRS provides\nmigration recommendations to evacuate the powered-on virtual machines. If DRS is in\nfully-automatic mode, these are automatically scheduled.\n\nIf the host is part of a cluster and the task is issued through VirtualCenter with\nevacuatePoweredOffVms set to true, the task will not succeed unless all the\npowered-off virtual machines are reregistered to other hosts. If VMware DRS is\nenabled, vCenter Server will automatically evacuate powered-off virtual machines.\n\nIf this API is called directly on the ESXi host, then the user is responsible\nfor powering off, suspending or evacuating all powered-on virtual machines.\nThe task is cancellable.\n\n***Required privileges:*** Host.Config.Maintenance\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnterMaintenanceModeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the host is already in maintenance mode.\n\n***Timedout***: if the operation timed out.\n\n***RequestCanceled***: if the operation is canceled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/PowerDownHostToStandBy_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Puts the host in standby mode, a mode in which the host is in a\nstandby state from which it can be powered up remotely.\n",
        "operationId": "HostSystem_PowerDownHostToStandBy_Task",
        "description": "Puts the host in standby mode, a mode in which the host is in a\nstandby state from which it can be powered up remotely.\n\nWhile\nthis task is running, no virtual machines can be powered on and\nno provisioning operations can be performed on the host.\n\nThe task completes only if there are no powered-on virtual\nmachines on the host, no provisioning operations in progress on\nthe host, and the host stopped responding. The operation does\nnot directly initiate any operations to evacuate or power-down\npowered-on virtual machines. However, if a dynamic recommendation\ngeneration module is running, if possible, it will provide, and\ndepending on the automation level, it will execute migrations\nof powered-on virtual machine. Furthermore, VMware power\nmanagement module may evacute and put a host in standby mode to\nsave power.\nIf the host is part of a cluster and the task is issued through VirtualCenter with\nevacuatePoweredOffVms set to true, the task will not succeed unless all the\npowered-off virtual machines are reregistered to other hosts. If VMware DRS is\nenabled, vCenter Server will automatically evacuate powered-off virtual machines.\n\nThe task is cancellable.\n\nThis command is not supported on all hosts. Check the host capability\n*HostCapability.standbySupported*.\n\n***Required privileges:*** Host.Config.Maintenance\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PowerDownHostToStandByRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostPowerOpFailed***: if the standby operation fails.\n\n***InvalidState***: if the host is already in standby mode, or disconnected.\n\n***NotSupported***: if the host does not support standby mode.\n\n***Timedout***: if the host did not enter standby mode in the given time\n\n***RequestCanceled***: if the operation is canceled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/ExitLockdownMode": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Restores Administrator permission for the local administrative account\nfor the host that was removed by prior call to *HostSystem.EnterLockdownMode*.\n",
        "operationId": "HostSystem_ExitLockdownMode",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0, use\n*HostAccessManager.ChangeLockdownMode*.\n\nRestores Administrator permission for the local administrative account\nfor the host that was removed by prior call to *HostSystem.EnterLockdownMode*.\n\nIf the operation is successful,\n*HostConfigInfo.adminDisabled* will be set to false. This API\nis not supported on the host. If invoked directly on a host, a\nNotSupported fault will be thrown.\n\nSee also *AuthorizationManager*for more information on permissions..\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DisableAdminNotSupported***: If invoked directly on the host or the\nhost doesn't support this operation.\n\n***AdminNotDisabled***: If the host's Administrator permission\nis not disabled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/ExitMaintenanceMode_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Takes the host out of maintenance mode.\n",
        "operationId": "HostSystem_ExitMaintenanceMode_Task",
        "description": "Takes the host out of maintenance mode.\n\nThis blocks if any concurrent\nrunning maintenance-only host configurations operations are being performed.\nFor example, if VMFS volumes are being upgraded.\n\nThe task is cancellable.\n\n***Required privileges:*** Host.Config.Maintenance\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExitMaintenanceModeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the host is not in maintenance mode.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/PowerUpHostFromStandBy_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Takes the host out of standby mode.\n",
        "operationId": "HostSystem_PowerUpHostFromStandBy_Task",
        "description": "Takes the host out of standby mode.\n\nIf the command is\nsuccessful, the host wakes up and starts sending\nheartbeats. This method may be called automatically by a\ndynamic recommendation generation module to add capacity to a\ncluster, if the host is not in maintenance mode.\n\nNote that, depending on the implementation of the wakeup\nmethod, the client may never receive an indicator of success in\nthe returned task. In some cases, it is not even possible to\nensure that the wakeup request has made it to the host.\n\nThe task is cancellable.\n\n***Required privileges:*** Host.Config.Maintenance\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PowerUpHostFromStandByRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostPowerOpFailed***: if the standby operation fails.\n\n***InvalidState***: if the host is in a state from which it\ncannot be woken up (e.g., disconnected, poweredOff)\n\n***NotSupported***: if the host does not support standby mode.\n\n***Timedout***: if the host did not exit standby mode in the given time\n\n***RequestCanceled***: if the operation is canceled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/PrepareCrypto": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Prepare the host for receiving sensitive information\nand puts the host in *prepared* mode\nNote: Must be invoked before *HostSystem.EnableCrypto*\n",
        "operationId": "HostSystem_PrepareCrypto",
        "description": "Prepare the host for receiving sensitive information\nand puts the host in *prepared* mode\nNote: Must be invoked before *HostSystem.EnableCrypto*\n\n***Required privileges:*** Cryptographer.RegisterHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the host is not in\n*incapable* state\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/QueryHostConnectionInfo": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Connection-oriented information about a host.\n",
        "operationId": "HostSystem_QueryHostConnectionInfo",
        "description": "Connection-oriented information about a host.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConnectInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/QueryMemoryOverhead": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Determines the amount of memory overhead necessary to power on a virtual\nmachine with the specified characteristics.\n",
        "operationId": "HostSystem_QueryMemoryOverhead",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *HostSystem.QueryMemoryOverheadEx*.\n\nDetermines the amount of memory overhead necessary to power on a virtual\nmachine with the specified characteristics.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryMemoryOverheadRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The amount of overhead memory required to power on such a virtual machine,\nin bytes.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/QueryMemoryOverheadEx": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Determines the amount of memory overhead necessary to power on a virtual\nmachine with the specified characteristics.\n",
        "operationId": "HostSystem_QueryMemoryOverheadEx",
        "deprecated": true,
        "description": "Deprecated as of VI API 6.0, use\n*VirtualMachineConfigInfo.initialOverhead*.\n\nDetermines the amount of memory overhead necessary to power on a virtual\nmachine with the specified characteristics.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryMemoryOverheadExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The amount of overhead memory required to power on such a virtual machine,\nin bytes.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/QueryProductLockerLocation": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Query the path to VMware Tools repository configured on the host.\n",
        "operationId": "HostSystem_QueryProductLockerLocation",
        "description": "Query the path to VMware Tools repository configured on the host.\n\nThe host should be powered on.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The absolute path currently set for the VMware Tools\nrepository on the host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if the configuration could not be read.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/QueryTpmAttestationReport": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Basic information about TPM attestation state of the host.\n",
        "operationId": "HostSystem_QueryTpmAttestationReport",
        "description": "Basic information about TPM attestation state of the host.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostTpmAttestationReport"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/RebootHost_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Reboots a host.\n",
        "operationId": "HostSystem_RebootHost_Task",
        "description": "Reboots a host.\n\nIf the command is successful, then the host has been rebooted. If\nconnected directly to the host, the client never receives an indicator of success\nin the returned task but simply loses connection to the host, upon success.\n\nThis command is not supported on all hosts. Check the host capability\n*vim.host.Capability.rebootSupported*.\nIf QuickBoot is enabled on the host, additional setup steps are performed.\n\n***Required privileges:*** Host.Config.Maintenance\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RebootHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if \"force\" is false and the host is not in maintenance mode.\n\n***NotSupported***: if the host does not support the reboot operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/ReconfigureHostForDAS_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Reconfigures the host for vSphere HA.\n",
        "operationId": "HostSystem_ReconfigureHostForDAS_Task",
        "description": "Reconfigures the host for vSphere HA.\n\nIf the host is part of a HA cluster, this operation reconfigures the host for HA.\nFor example, this operation may be used if a host is added to a HA enabled cluster\nand the automatic HA configuration system task fails. Automatic HA configuration\nmay fail for a variety of reasons. For example, the host is configured\nincorrectly.\n\n***Required privileges:*** Host.Config.Connection\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if run directly on an ESX Server host.\n\n***DasConfigFault***: if there is a problem reconfiguring the host for HA.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DasConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/ReconnectHost_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Reconnects to a host.\n",
        "operationId": "HostSystem_ReconnectHost_Task",
        "description": "Reconnects to a host.\n\nThis process reinstalls agents and reconfigures the host, if\nit has gotten out of date with VirtualCenter. The reconnection process goes\nthrough many of the same steps as addHost: ensuring the correct set of licenses\nfor the number of CPUs on the host, ensuring the correct set of agents is\ninstalled, and ensuring that networks and datastores are discovered and registered\nwith VirtualCenter.\n\nThe client can change the IP address and port of the host when doing a reconnect\noperation. This can be useful if the client wants to preserve existing metadata,\neven though the host is changing its IP address. For example, clients could\npreserve existing statistics, alarms, and privileges.\n\nThis method can also be used to change the SSL thumbprint of a connected host\nwithout disconnecting it.\n\nAny changes made to the resource hierarchy on the host when the host\nwas disconnected are overriden by VirtualCenter settings on\nreconnect.\n\nThis method is only supported through VirtualCenter.\n\n***Required privileges:*** Host.Config.Connection\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconnectHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if no host can be added to this group. This is the case if\nthe ComputeResource is a standalone type.\n\n***InvalidLogin***: if the method fails to authenticate with the host.\n\n***AlreadyBeingManaged***: if host is already being managed by another\nVirtualCenter server\n\n***NotEnoughLicenses***: if there are not enough licenses to add this host.\n\n***NoHost***: if the method is unable to contact the server.\n\n***NotSupportedHost***: if the host is running a software version that is not\nsupported.\n\n***InvalidState***: if the host is not disconnected.\n\n***InvalidName***: if the host name is invalid.\n\n***HostConnectFault***: if an error occurred when attempting to reconnect\nto a host. Typically, a more specific subclass, such as\nAlreadyBeingManaged, is thrown.\n\n***SSLVerifyFault***: if the host certificate could not be authenticated.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/Reload": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "HostSystem_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostSystem/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "HostSystem_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/RetrieveFreeEpcMemory": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Return the amount of free EPC memory on the host in bytes.\n",
        "operationId": "HostSystem_RetrieveFreeEpcMemory",
        "description": "Return the amount of free EPC memory on the host in bytes.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/RetrieveHardwareUptime": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Return the hardware uptime of the host in seconds.\n",
        "operationId": "HostSystem_RetrieveHardwareUptime",
        "description": "Return the hardware uptime of the host in seconds.\n\nThe harware uptime of a host is not affected by NTP and changes to its\nwall clock time and can be used by clients to provide a common time\nreference for all hosts.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostSystem_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostSystem/{moId}/ShutdownHost_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Shuts down a host.\n",
        "operationId": "HostSystem_ShutdownHost_Task",
        "description": "Shuts down a host.\n\nIf the command is successful, then the host has been shut down.\nThus, the client never receives an indicator of success in the returned task if\nconnected directly to the host.\n\nThis command is not supported on all hosts. Check the host capability\n*HostCapability.shutdownSupported*.\n\n***Required privileges:*** Host.Config.Maintenance\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShutdownHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if \"force\" is false and the host is not in\nmaintenance mode.\n\n***NotSupported***: if the host does not support shutdown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/UpdateFlags": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Update flags that are part of the *HostFlagInfo* object.\n",
        "operationId": "HostSystem_UpdateFlags",
        "description": "Update flags that are part of the *HostFlagInfo* object.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFlagsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostSystem/{moId}/UpdateIpmi": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Update fields that are part of the *HostIpmiInfo* object.\n",
        "operationId": "HostSystem_UpdateIpmi",
        "description": "Update fields that are part of the *HostIpmiInfo* object.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIpmiRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidIpmiLoginInfo***: if the supplied user ID and/or password is invalid.\n\n***InvalidIpmiMacAddress***: if the supplied MAC address is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/UpdateProductLockerLocation_Task": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Change and reconfigure the VMware Tools repository on the host.\n",
        "operationId": "HostSystem_UpdateProductLockerLocation_Task",
        "description": "Change and reconfigure the VMware Tools repository on the host.\n\nIf the new path is the same as the path already configured on\nthe host, no changes will be made to the host.\nThe host should be powered on.\n\nThis task is not cancellable and cannot be reverted once started.\n\n***Required privileges:*** Host.Config.ProductLocker\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductLockerLocationRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation. The *info.result*\nproperty in the *Task* contains the stable vmfs path\nof the VMware Tools repository upon success. A stable vmfs\npath is of the form:\n/vmfs/volumes/\\[datastore-uuid\\]/\\[path/inside/datastore\\]\nor\nempty to indicate restoring to default value.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the path does not have \"/vmfs/volumes/\"\nprefix and is not empty.\n\n***FileNotFound***: if the path does not exist.\n\n***TaskInProgress***: if there is another task configuring the\nVMware Tools repository on the host.\n\n***HostConfigFault***: if the configuration could not be written.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/UpdateSystemResources": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Update the configuration of the system resource hierarchy.\n",
        "operationId": "HostSystem_UpdateSystemResources",
        "deprecated": true,
        "description": "Deprecated as of Vsphere API 6.0. Please, contact VMware Support to get\ninstructions on how to configure system ESX resource pools.\n\nUpdate the configuration of the system resource hierarchy.\n\n***Required privileges:*** Host.Config.Resources\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSystemResourcesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostSystem/{moId}/UpdateSystemSwapConfiguration": {
      "post": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Update the System Swap Configuration.\n",
        "operationId": "HostSystem_UpdateSystemSwapConfiguration",
        "description": "Update the System Swap Configuration.\n\nSee also *HostSystemSwapConfiguration*.\n\n***Required privileges:*** Host.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSystemSwapConfigurationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostSystem/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "HostSystem_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/answerFileValidationResult": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Host answer file validation result.\n",
        "operationId": "HostSystem_getAnswerFileValidationResult",
        "description": "Host answer file validation result.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/AnswerFileStatusResult"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/answerFileValidationState": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Host answer file validation state.\n",
        "operationId": "HostSystem_getAnswerFileValidationState",
        "description": "Host answer file validation state.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/AnswerFileStatusResult"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/availableField": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostSystem_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/capability": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Host capabilities.\n",
        "operationId": "HostSystem_getCapability",
        "description": "Host capabilities.\n\nThis might not be available for a\ndisconnected host.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostCapability"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/complianceCheckResult": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "The host profile compliance check result.\n",
        "operationId": "HostSystem_getComplianceCheckResult",
        "description": "The host profile compliance check result.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ComplianceResult"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/complianceCheckState": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "The host profile compliance check state.\n",
        "operationId": "HostSystem_getComplianceCheckState",
        "description": "The host profile compliance check state.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostSystemComplianceCheckState"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/config": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Host configuration information.\n",
        "operationId": "HostSystem_getConfig",
        "description": "Host configuration information.\n\nThis might not be available for a disconnected\nhost.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/configIssue": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "HostSystem_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/configManager": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Host configuration systems.\n",
        "operationId": "HostSystem_getConfigManager",
        "description": "Host configuration systems.\n\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigManager"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/configStatus": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "HostSystem_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/customValue": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Custom field values.\n",
        "operationId": "HostSystem_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/datastore": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "A collection of references to the subset of datastore objects in the datacenter\nthat are available in this HostSystem.\n",
        "operationId": "HostSystem_getDatastore",
        "description": "A collection of references to the subset of datastore objects in the datacenter\nthat are available in this HostSystem.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/datastoreBrowser": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "DatastoreBrowser to browse datastores for this host.\n",
        "operationId": "HostSystem_getDatastoreBrowser",
        "description": "DatastoreBrowser to browse datastores for this host.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *HostDatastoreBrowser*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "HostSystem_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "HostSystem_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "HostSystem_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/hardware": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Hardware configuration of the host.\n",
        "operationId": "HostSystem_getHardware",
        "description": "Hardware configuration of the host.\n\nThis might not be available for a\ndisconnected host.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostHardwareInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/licensableResource": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Information about all licensable resources, currently present on this host.\n",
        "operationId": "HostSystem_getLicensableResource",
        "description": "Information about all licensable resources, currently present on this host.\n\nThis information is used mostly by the modules, manipulating information\nin the *LicenseManager*. Developers of such modules\nshould use this property instead of *hardware*.\n\nNOTE:\nThe values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostLicensableResourceInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/name": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "HostSystem_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/network": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "A collection of references to the subset of network objects in the datacenter that\nare available in this HostSystem.\n",
        "operationId": "HostSystem_getNetwork",
        "description": "A collection of references to the subset of network objects in the datacenter that\nare available in this HostSystem.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Network*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/overallStatus": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "HostSystem_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/parent": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "HostSystem_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/permission": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "HostSystem_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/precheckRemediationResult": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "The host profile precheck-remediation result.\n",
        "operationId": "HostSystem_getPrecheckRemediationResult",
        "description": "The host profile precheck-remediation result.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ApplyHostProfileConfigurationSpec"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/recentTask": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "HostSystem_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/remediationResult": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "The host profile remediation result.\n",
        "operationId": "HostSystem_getRemediationResult",
        "description": "The host profile remediation result.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ApplyHostProfileConfigurationResult"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/remediationState": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "The host profile remediation state.\n",
        "operationId": "HostSystem_getRemediationState",
        "description": "The host profile remediation state.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostSystemRemediationState"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/runtime": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Runtime state information about the host such as connection state.\n",
        "operationId": "HostSystem_getRuntime",
        "description": "Runtime state information about the host such as connection state.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/summary": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Basic information about the host, including connection state.\n",
        "operationId": "HostSystem_getSummary",
        "description": "Basic information about the host, including connection state.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostListSummary"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/systemResources": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "Reference for the system resource hierarchy, used for configuring the set of\nresources reserved to the system and unavailable to virtual machines.\n",
        "operationId": "HostSystem_getSystemResources",
        "description": "Reference for the system resource hierarchy, used for configuring the set of\nresources reserved to the system and unavailable to virtual machines.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostSystemResourceInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/tag": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "HostSystem_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "HostSystem_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/value": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostSystem_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostSystem/{moId}/vm": {
      "get": {
        "tags": [
          "HostSystem"
        ],
        "summary": "List of virtual machines associated with this host.\n",
        "operationId": "HostSystem_getVm",
        "description": "List of virtual machines associated with this host.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *VirtualMachine*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostVFlashManager/{moId}/HostConfigVFlashCache": {
      "post": {
        "tags": [
          "HostVFlashManager"
        ],
        "summary": "Configure vFlash cache on the host.\n",
        "operationId": "HostVFlashManager_HostConfigVFlashCache",
        "description": "Configure vFlash cache on the host.\n\n***Required privileges:*** Host.Config.AdvancedConfig\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostConfigVFlashCacheRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: If the swap cache cannot be configured on the host.\n\n***InaccessibleVFlashSource***: vFlash resource is not accessible.\n\n***ResourceInUse***: The contained VFFS volume is being used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVFlashManager/{moId}/HostConfigureVFlashResource": {
      "post": {
        "tags": [
          "HostVFlashManager"
        ],
        "summary": "Configure vFlash resource on the host by attaching to a backend VFFS volume.\n",
        "operationId": "HostVFlashManager_HostConfigureVFlashResource",
        "description": "Configure vFlash resource on the host by attaching to a backend VFFS volume.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostConfigureVFlashResourceRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: If vFlash resource cannot be configured on the host\n\n***ResourceInUse***: The contained VFFS volume is being used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVFlashManager/{moId}/ConfigureVFlashResourceEx_Task": {
      "post": {
        "tags": [
          "HostVFlashManager"
        ],
        "summary": "Configure vFlash resource on a list of SSD disks.\n",
        "operationId": "HostVFlashManager_ConfigureVFlashResourceEx_Task",
        "description": "Configure vFlash resource on a list of SSD disks.\n\nIf the host does not have\na VFFS volume, host will format the volume first and then extend the volume\non the rest of the SSDs; otherwise host will extend the existing VFFS volume\non the passed SSDs. Finally host will configure the vFlash resource on the\nVFFS volume.\n\nIt will return *HostVFlashResourceConfigurationResult*\ndescribing success or failure associated with each device.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigureVFlashResourceExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains *HostVFlashResourceConfigurationResult*\ndescribing success or failure associated with each device.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***HostConfigFault***: if batch operation fails on the host.\nBecause the returned VFlashResourceConfigurationResult contains the configuration\nsuccess or fault for each device, as of vSphere API 5.x, we won't throw fault when\nbatch operation fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVFlashManager/{moId}/HostGetVFlashModuleDefaultConfig": {
      "post": {
        "tags": [
          "HostVFlashManager"
        ],
        "summary": "Retrieve the default supported configuration for a given vFlash module\n",
        "operationId": "HostVFlashManager_HostGetVFlashModuleDefaultConfig",
        "description": "Retrieve the default supported configuration for a given vFlash module\n\n***Required privileges:*** Host.Config.AdvancedConfig\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostGetVFlashModuleDefaultConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The supported default vFlash cache configuration\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualDiskVFlashCacheConfigInfo"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If vFlash resource is not configured or the contained VFFS volume\ncannot be found on the host.\n\n***HostConfigFault***: If the default vFlash module configuration option cannot be\nretrieved.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVFlashManager/{moId}/HostRemoveVFlashResource": {
      "post": {
        "tags": [
          "HostVFlashManager"
        ],
        "summary": "Remove vFlash resource on the host by destroying the contained VFFS volume.\n",
        "operationId": "HostVFlashManager_HostRemoveVFlashResource",
        "description": "Remove vFlash resource on the host by destroying the contained VFFS volume.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If vFlash resource is not configured or the contained VFFS volume\ncannot be found on the host.\n\n***HostConfigFault***: If vFlash resource or the contained VFFS volume cannot\nbe removed from the host.\n\n***ResourceInUse***: The contained VFFS volume is being used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVFlashManager/{moId}/vFlashConfigInfo": {
      "get": {
        "tags": [
          "HostVFlashManager"
        ],
        "summary": "Host vFlash configuration information.\n",
        "operationId": "HostVFlashManager_getVFlashConfigInfo",
        "description": "Host vFlash configuration information.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostVFlashManagerVFlashConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostVMotionSystem/{moId}/DeselectVnic": {
      "post": {
        "tags": [
          "HostVMotionSystem"
        ],
        "summary": "Indicate that no VirtualNic should be used for VMotion.\n",
        "operationId": "HostVMotionSystem_DeselectVnic",
        "description": "Indicate that no VirtualNic should be used for VMotion.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***HostConfigFault***: is a failure occurred\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVMotionSystem/{moId}/SelectVnic": {
      "post": {
        "tags": [
          "HostVMotionSystem"
        ],
        "summary": "Select the VirtualNic to be used for VMotion.\n",
        "operationId": "HostVMotionSystem_SelectVnic",
        "description": "Select the VirtualNic to be used for VMotion.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectVnicRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if key represents a nonexistent or invalid VirtualNic.\n\n***HostConfigFault***: for any other failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostConfigFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVMotionSystem/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostVMotionSystem"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostVMotionSystem_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostVMotionSystem/{moId}/UpdateIpConfig": {
      "post": {
        "tags": [
          "HostVMotionSystem"
        ],
        "summary": "Update the IP configuration of VMotion VirtualNic.\n",
        "operationId": "HostVMotionSystem_UpdateIpConfig",
        "description": "Update the IP configuration of VMotion VirtualNic.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIpConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if no VirtualNic is selected for VMotion.\n\n***InvalidArgument***: if the IpConfig is invalid or cannot be used.\n\n***HostConfigFault***: for any other failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVMotionSystem/{moId}/availableField": {
      "get": {
        "tags": [
          "HostVMotionSystem"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostVMotionSystem_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostVMotionSystem/{moId}/ipConfig": {
      "get": {
        "tags": [
          "HostVMotionSystem"
        ],
        "summary": "IP configuration of the VMotion VirtualNic.\n",
        "operationId": "HostVMotionSystem_getIpConfig",
        "description": "IP configuration of the VMotion VirtualNic.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostIpConfig"
                }
              }
            }
          }
        }
      }
    },
    "/HostVMotionSystem/{moId}/netConfig": {
      "get": {
        "tags": [
          "HostVMotionSystem"
        ],
        "summary": "VMotion network configuration.\n",
        "operationId": "HostVMotionSystem_getNetConfig",
        "description": "VMotion network configuration.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HostVMotionNetConfig"
                }
              }
            }
          }
        }
      }
    },
    "/HostVMotionSystem/{moId}/value": {
      "get": {
        "tags": [
          "HostVMotionSystem"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostVMotionSystem_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostVStorageObjectRevert_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Reverts to a given snapshot of a VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_HostVStorageObjectRevert_Task",
        "description": "Reverts to a given snapshot of a VStorageObject.\n\nThis operation is supported on detached VirtualDisks\nDuring revert all the snapshots which were taken after the specified\nsnapshot would get deleted.\n\nE.g. Consider Disk with 4 snapshots\n\nBaseDisk -&gt; Snap-2 -&gt; Snap-3 -&gt; Snap-4 -&gt; Running-Point\n\nIf user chooses to revert to snap-2 then snap-4 and snap-3 would also\nbe deleted. After revert operation disk would have below configuration:\n\nBaseDisk -&gt; Snap-2 -&gt; Running-Point\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostVStorageObjectRevertRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostClearVStorageObjectControlFlags": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Clear control flags on VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_HostClearVStorageObjectControlFlags",
        "description": "Clear control flags on VStorageObject.\n\nThe control flags are defined in\n*vslmVStorageObjectControlFlag_enum*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostClearVStorageObjectControlFlagsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed.\n\n***NotFound***: If specified virtual storage object cannot\nbe found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostCloneVStorageObject_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Clone a virtual storage object.\n",
        "operationId": "HostVStorageObjectManager_HostCloneVStorageObject_Task",
        "description": "Clone a virtual storage object.\n\nRequires Datastore.FileManagement privilege on both source and\ndestination datastore.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostCloneVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while cloning the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***NotFound***: If specified virtual storage object cannot be\nfound.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostCreateDisk_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Create a virtual disk, which is a storage object with\n*disk*\nas consumption type.\n",
        "operationId": "HostVStorageObjectManager_HostCreateDisk_Task",
        "description": "Create a virtual disk, which is a storage object with\n*disk*\nas consumption type.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk object is created.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostCreateDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation. The *info.result*\nproperty in the *Task* contains the newly created\n*VStorageObject* upon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when creating the virtual disk.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostVStorageObjectCreateDiskFromSnapshot_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Creates a new Disk from given snapshot of a VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_HostVStorageObjectCreateDiskFromSnapshot_Task",
        "description": "Creates a new Disk from given snapshot of a VStorageObject.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostVStorageObjectCreateDiskFromSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostVStorageObjectCreateSnapshot_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Creates a snapshot of a given VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_HostVStorageObjectCreateSnapshot_Task",
        "description": "Creates a snapshot of a given VStorageObject.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostVStorageObjectCreateSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/VStorageObjectCreateSnapshotEx_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Creates a snapshot of a given VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_VStorageObjectCreateSnapshotEx_Task",
        "description": "Creates a snapshot of a given VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectCreateSnapshotExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostVStorageObjectDeleteSnapshot_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Deletes a given snapshot of a VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_HostVStorageObjectDeleteSnapshot_Task",
        "description": "Deletes a given snapshot of a VStorageObject.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostVStorageObjectDeleteSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/VStorageObjectDeleteSnapshotEx_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Deletes a given snapshot of a VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_VStorageObjectDeleteSnapshotEx_Task",
        "description": "Deletes a given snapshot of a VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectDeleteSnapshotExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostDeleteVStorageObject_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Delete a virtual storage object and its assoicated backings.\n",
        "operationId": "HostVStorageObjectManager_HostDeleteVStorageObject_Task",
        "description": "Delete a virtual storage object and its assoicated backings.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostDeleteVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when deleting the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be deleted.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostDeleteVStorageObjectEx_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Delete a virtual storage object and its assoicated backings.\n",
        "operationId": "HostVStorageObjectManager_HostDeleteVStorageObjectEx_Task",
        "description": "Delete a virtual storage object and its assoicated backings.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Since:*** vSphere API Release 7.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostDeleteVStorageObjectExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when deleting the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be deleted.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostExtendDisk_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n",
        "operationId": "HostVStorageObjectManager_HostExtendDisk_Task",
        "description": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n\nIf new capacity is smaller than current disk capacity, then\noperation fails due to invalid capacity. If new capacity is greater\nthan current disk capacity, then operation proceeds. If new capacity\nis equal to current disk ccapcity, then operation succeeds without\nany actual extension.\nThe extended disk region will be the same as the original disk:\n\\- For a zerothick disk, the extended disk region will be zeroedthick.\n\\- For an eagerzerothick disk, the extended disk region will be\neagerzeroedthick\n\\- A thin-provisioned disk will always be extended as a thin-provisioned\ndisk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostExtendDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while extending the virtual disk.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be extended.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/VStorageObjectExtendDiskEx_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n",
        "operationId": "HostVStorageObjectManager_VStorageObjectExtendDiskEx_Task",
        "description": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n\nIf new capacity is smaller than current disk capacity, then\noperation fails due to invalid capacity. If new capacity is greater\nthan current disk capacity, then operation proceeds. If new capacity\nis equal to current disk ccapcity, then operation succeeds without\nany actual extension.\nThe extended disk region will be the same as the original disk:\n\\- For a zerothick disk, the extended disk region will be zeroedthick.\n\\- For an eagerzerothick disk, the extended disk region will be\neagerzeroedthick\n\\- A thin-provisioned disk will always be extended as a thin-provisioned\ndisk.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectExtendDiskExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while extending the virtual disk.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be extended.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostInflateDisk_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Inflate a sparse or thin-provisioned virtual disk up to the full size.\n",
        "operationId": "HostVStorageObjectManager_HostInflateDisk_Task",
        "description": "Inflate a sparse or thin-provisioned virtual disk up to the full size.\n\nAdditional space allocated to the disk as a result of this operation\nwill be filled with zeroes.\n\nCurrently inflateDisk API only supports the following combinations:\nValid provisioning type: THIN;\nValid Datastore: VMFS, NFS.\nInflating a disk is not applicable for VVol/VSAN datastore.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostInflateDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while inflating the virtual disk.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be extended.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostListVStorageObject": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "List all virtual storage objects located on a datastore.\n",
        "operationId": "HostVStorageObjectManager_HostListVStorageObject",
        "description": "List all virtual storage objects located on a datastore.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostListVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of IDs of the virtual storage objects located on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ID"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found\nor inaccessible.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidDatastore"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostQueryVirtualDiskUuid": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Get the virtual disk UUID.\n",
        "operationId": "HostVStorageObjectManager_HostQueryVirtualDiskUuid",
        "description": "Get the virtual disk UUID.\n\n***Since:*** vSphere API Release 8.0.3.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostQueryVirtualDiskUuidRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The hex representation of the unique ID for this virtual disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs reading the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostReconcileDatastoreInventory_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Reconcile the datastore inventory info of virtual storage objects.\n",
        "operationId": "HostVStorageObjectManager_HostReconcileDatastoreInventory_Task",
        "description": "Reconcile the datastore inventory info of virtual storage objects.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostReconcileDatastoreInventoryRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostRegisterDisk": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Promote a virtual disk to a First Class Disk.\n",
        "operationId": "HostVStorageObjectManager_HostRegisterDisk",
        "description": "Promote a virtual disk to a First Class Disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostRegisterDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The registered virtual storage object for the disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObject"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while registering the virtual disk.\n\n***InvalidDatastore***: If datastore cannot be found or the operation\ncannot be performed on the datastore.\n\n***AlreadyExists***: If disk is already registered as a\nvirtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostRelocateVStorageObject_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Relocate a virtual storage object.\n",
        "operationId": "HostVStorageObjectManager_HostRelocateVStorageObject_Task",
        "description": "Relocate a virtual storage object.\n\nRequires Datastore.FileManagement privilege on both source and\ndestination datastore.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostRelocateVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while relocating the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be relocated.\n\n***NotFound***: If specified virtual storage object cannot\nbe found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostRenameVStorageObject": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Rename a virtual storage object.\n",
        "operationId": "HostVStorageObjectManager_HostRenameVStorageObject",
        "description": "Rename a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostRenameVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***FileFault***: If an error occurs while renaming the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/RenameVStorageObjectEx": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Rename a virtual storage object.\n",
        "operationId": "HostVStorageObjectManager_RenameVStorageObjectEx",
        "description": "Rename a virtual storage object.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameVStorageObjectExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The vclock info of this operation\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vslmVClockInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while renaming the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostVStorageObjectRetrieveSnapshotInfo": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Retrieves snapshot information of a given VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_HostVStorageObjectRetrieveSnapshotInfo",
        "description": "Retrieves snapshot information of a given VStorageObject.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostVStorageObjectRetrieveSnapshotInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObjectSnapshotInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostRetrieveVStorageInfrastructureObjectPolicy": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Retrieve virtual storage infrastructure object SBPM policy on given\ndatastore.\n",
        "operationId": "HostVStorageObjectManager_HostRetrieveVStorageInfrastructureObjectPolicy",
        "description": "Retrieve virtual storage infrastructure object SBPM policy on given\ndatastore.\n\nOnly support VSAN datastore.\n\nRequires Datastore.FileManagement privilege on the datastore specified.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostRetrieveVStorageInfrastructureObjectPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The policy object of virtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/vslmInfrastructureObjectPolicy"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostRetrieveVStorageObject": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Retrieve a virtual storage object.\n",
        "operationId": "HostVStorageObjectManager_HostRetrieveVStorageObject",
        "description": "Retrieve a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostRetrieveVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The required virtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObject"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when retrieving the virtual object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostRetrieveVStorageObjectMetadata": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Retrieve metadata KV pairs from a virtual storage object.\n",
        "operationId": "HostVStorageObjectManager_HostRetrieveVStorageObjectMetadata",
        "description": "Retrieve metadata KV pairs from a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostRetrieveVStorageObjectMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "returns the array of key value pair\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KeyValue"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found\nor inaccessible.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostRetrieveVStorageObjectMetadataValue": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Retrieve the metadata value by key from a virtual storage object.\n",
        "operationId": "HostVStorageObjectManager_HostRetrieveVStorageObjectMetadataValue",
        "description": "Retrieve the metadata value by key from a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostRetrieveVStorageObjectMetadataValueRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "returns the value for the key\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found\nor inaccessible.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***KeyNotFound***: If specified key cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostRetrieveVStorageObjectState": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Retrieve a virtual storage object state.\n",
        "operationId": "HostVStorageObjectManager_HostRetrieveVStorageObjectState",
        "description": "Retrieve a virtual storage object state.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostRetrieveVStorageObjectStateRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The required virtual storage object state.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObjectStateInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when retrieving the virtual object\nstate.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/RevertVStorageObjectEx_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Reverts to a given snapshot of a VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_RevertVStorageObjectEx_Task",
        "description": "Reverts to a given snapshot of a VStorageObject.\n\nThis operation is supported on detached VirtualDisks\nDuring revert all the snapshots which were taken after the specified\nsnapshot would get deleted.\n\nE.g. Consider Disk with 4 snapshots\n\nBaseDisk -&gt; Snap-2 -&gt; Snap-3 -&gt; Snap-4 -&gt; Running-Point\n\nIf user chooses to revert to snap-2 then snap-4 and snap-3 would also\nbe deleted. After revert operation disk would have below configuration:\n\nBaseDisk -&gt; Snap-2 -&gt; Running-Point\n\nRequires Datastore.FileManagement privilege.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevertVStorageObjectExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostScheduleReconcileDatastoreInventory": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Schedules reconcile of the datastore inventory info of virtual storage\nobjects.\n",
        "operationId": "HostVStorageObjectManager_HostScheduleReconcileDatastoreInventory",
        "description": "Schedules reconcile of the datastore inventory info of virtual storage\nobjects.\n\nThis method just schedules the reconcile operation for the\nnearby future and returns. Note that since the reconcile operation will\nbe executed after this method already returns the success of this method\nshould not be considered as success of the actual reconcile operation.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostScheduleReconcileDatastoreInventoryRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostSetVStorageObjectControlFlags": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Set control flags on VStorageObject.\n",
        "operationId": "HostVStorageObjectManager_HostSetVStorageObjectControlFlags",
        "description": "Set control flags on VStorageObject.\n\nThe control flags are defined in\n*vslmVStorageObjectControlFlag_enum*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostSetVStorageObjectControlFlagsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed.\n\n***NotFound***: If specified virtual storage object cannot\nbe found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostSetVirtualDiskUuid_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Set the virtual disk Uuid.\n",
        "operationId": "HostVStorageObjectManager_HostSetVirtualDiskUuid_Task",
        "description": "Set the virtual disk Uuid.\n\n***Since:*** vSphere API Release 8.0.3.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostSetVirtualDiskUuidRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs updating the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostUpdateVStorageObjectMetadata_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Update metadata KV pairs to a virtual storage object.\n",
        "operationId": "HostVStorageObjectManager_HostUpdateVStorageObjectMetadata_Task",
        "description": "Update metadata KV pairs to a virtual storage object.\n\nAnd this API is by\ndesign supposed to be used for all of the addition, modification and\ndeletion operations of metadata KV pairs.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostUpdateVStorageObjectMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found\nor inaccessible.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVStorageObjectManager/{moId}/HostUpdateVStorageObjectMetadataEx_Task": {
      "post": {
        "tags": [
          "HostVStorageObjectManager"
        ],
        "summary": "Update metadata KV pairs to a virtual storage object.\n",
        "operationId": "HostVStorageObjectManager_HostUpdateVStorageObjectMetadataEx_Task",
        "description": "Update metadata KV pairs to a virtual storage object.\n\nAnd this API is by\ndesign supposed to be used for all of the addition, modification and\ndeletion operations of metadata KV pairs.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Since:*** vSphere API Release 7.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostUpdateVStorageObjectMetadataExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found\nor inaccessible.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVirtualNicManager/{moId}/DeselectVnicForNicType": {
      "post": {
        "tags": [
          "HostVirtualNicManager"
        ],
        "summary": "Deselect the VirtualNic to be a special type.\n",
        "operationId": "HostVirtualNicManager_DeselectVnicForNicType",
        "description": "Deselect the VirtualNic to be a special type.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeselectVnicForNicTypeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if nicType is invalid, device represents\na nonexistent or invalid VirtualNic, or the VirtualNic is\nnot selected\n\n***HostConfigFault***: for any other failure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVirtualNicManager/{moId}/QueryNetConfig": {
      "post": {
        "tags": [
          "HostVirtualNicManager"
        ],
        "summary": "Get the NetConfig for the specified nicType\n",
        "operationId": "HostVirtualNicManager_QueryNetConfig",
        "description": "Get the NetConfig for the specified nicType\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryNetConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VirtualNicManagerNetConfig"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if nicType is invalid\n\n***HostConfigFault***: for any other failure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVirtualNicManager/{moId}/SelectVnicForNicType": {
      "post": {
        "tags": [
          "HostVirtualNicManager"
        ],
        "summary": "Select the NicType of the VirtualNic.\n",
        "operationId": "HostVirtualNicManager_SelectVnicForNicType",
        "description": "Select the NicType of the VirtualNic.\n\nSelecting a device automatically\ndeselects the previous selection if *VirtualNicManagerNetConfig.multiSelectAllowed*\nis false for the specified nicType.\nElse, the device is added to the list of selected nics.\n\n***Required privileges:*** Host.Config.Network\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectVnicForNicTypeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if nicType is invalid, or device represents a\nnonexistent or invalid VirtualNic\n\n***HostConfigFault***: for any other failure.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVirtualNicManager/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "HostVirtualNicManager"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "HostVirtualNicManager_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostVirtualNicManager/{moId}/availableField": {
      "get": {
        "tags": [
          "HostVirtualNicManager"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "HostVirtualNicManager_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostVirtualNicManager/{moId}/info": {
      "get": {
        "tags": [
          "HostVirtualNicManager"
        ],
        "summary": "Network configuration.\n",
        "operationId": "HostVirtualNicManager_getInfo",
        "description": "Network configuration.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostVirtualNicManagerInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HostVirtualNicManager/{moId}/value": {
      "get": {
        "tags": [
          "HostVirtualNicManager"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "HostVirtualNicManager_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/AbdicateDomOwnership": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Abdicate ownership of DOM objects.\n",
        "operationId": "HostVsanInternalSystem_AbdicateDomOwnership",
        "description": "Abdicate ownership of DOM objects.\n\nThe objects must be currently owned\nby this host. Which host has ownership of an object at a given point in\ntime can be queried from QueryVsanObjects() or QueryCmmds() APIs.\nAbidcating ownership tears down DOM owner in-memory state. Hosts in the\ncluster will then compete to become the new owner of the object, similar\nto a host failure event. There is a short interuption of IO flow while\nthe owner re-election is going on, but it is transparent to any consumers\nof the object.\nThis API is meant as a troubleshooting and debugging tool. It is internal\nat this point and can be used to resolve issues where DOM owner gets\n\"stuck\".\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AbdicateDomOwnershipRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of UUIDs successfully abdicated.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/CanProvisionObjects": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Determine if given objects can be provisioned.\n",
        "operationId": "HostVsanInternalSystem_CanProvisionObjects",
        "description": "Determine if given objects can be provisioned.\n\nDetermines if the objects\nof the given size can be provisioned with the given policies.\nThe API is intended to answer the question: can these objects be\nprovisioned with the given policy using the current cluster topology\n(#hosts and #disks) and does NOT take into account free space on the\ndisk, size of disks, etc. If the objects cannot be provisioned,\nthe API returns the reason for not being able to satisfy the policy.\nIf the objects can be provisioned, the API returns the cost of\nprovisioning objects with this policy. Please note: This API ignores\nforceProvisioning.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CanProvisionObjectsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of PolicySatisfiability objects, one for each specified\nsize.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VsanPolicySatisfiability"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/DeleteVsanObjects": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Delete VSAN objects.\n",
        "operationId": "HostVsanInternalSystem_DeleteVsanObjects",
        "description": "Delete VSAN objects.\n\nThis API is internal and intended for troubleshooting/debugging only.\nWARNING: This API can be slow because we do IOs to all the objects.\nThis API can be used to delete VSAN objects. DOM won't allow access to\nobjects which have lost quorum. Such objects can be deleted with the\noptional \"force\" flag. These objects may however re-appear with quorum\nif the absent components come back (network partition gets resolved,\netc.)\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteVsanObjectsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of DeleteVsanObjectsResult.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostVsanInternalSystemDeleteVsanObjectsResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/GetVsanObjExtAttrs": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Get VSAN object extended attributes.\n",
        "operationId": "HostVsanInternalSystem_GetVsanObjExtAttrs",
        "description": "Get VSAN object extended attributes.\n\nThis API is internal and intended for troubleshooting/debugging\nsituations in the field. WARNING: This API can be slow because we\ndo IOs (reads) to all the objects. This API can be used to get\nextended attributes of any object in the VSAN cluster from any host\nprovided the object is accessible from that host. In case of an error,\nwe return a dict with key \"Error\" for that object.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetVsanObjExtAttrsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON string with the extended attributes.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/QueryCmmds": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Query CMMDS directly.\n",
        "operationId": "HostVsanInternalSystem_QueryCmmds",
        "description": "Query CMMDS directly.\n\nThe list of given queries is executed and all\nresults are returned in a flat list. No attempt is made to de-dupe\nresults in the case of overlapping query results.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryCmmdsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON string with the results\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/QueryObjectsOnPhysicalVsanDisk": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Query DOM objects on a given set of physical disks.\n",
        "operationId": "HostVsanInternalSystem_QueryObjectsOnPhysicalVsanDisk",
        "description": "Query DOM objects on a given set of physical disks.\n\nFinds all DOM objects\nthat have at least one component on the given physical disks. In order to\nmake this API efficient, the output of this API contains the found\nDOM\\_OBJECT, and referenced LSOM\\_OBJECT and DISK entries.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryObjectsOnPhysicalVsanDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON string with the results\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/QueryPhysicalVsanDisks": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Query statistics about physical VSAN disks.\n",
        "operationId": "HostVsanInternalSystem_QueryPhysicalVsanDisks",
        "description": "Query statistics about physical VSAN disks.\n\nUsing the props parameter the\ncaller can control which properties are returned. Requesting only the\nrequired properties is encouraged to reduce server load, response time\nand client load.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPhysicalVsanDisksRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON string with the results\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/QuerySyncingVsanObjects": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Query information about VSAN DOM objects that are currently syncing data.\n",
        "operationId": "HostVsanInternalSystem_QuerySyncingVsanObjects",
        "description": "Query information about VSAN DOM objects that are currently syncing data.\n\nInstead of returning all objects, only such objects are returned that\nare currently resyncing any stale components or syncing fresh replicas.\nThe API returns the same output format as queryVsanObjects(). It\nretrieves information about syncing all objects, or retricts the\nsearch for syncing objects to the UUID list provided. In order to make\nthis API efficient, the output of this API contains the found\nDOM\\_OBJECT, and referenced LSOM\\_OBJECT and DISK entries.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuerySyncingVsanObjectsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON string with the results\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/QueryVsanObjectUuidsByFilter": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Query VSAN object UUIDs by filtering conditions.\n",
        "operationId": "HostVsanInternalSystem_QueryVsanObjectUuidsByFilter",
        "description": "Query VSAN object UUIDs by filtering conditions.\n\nThe API queries CMMDS by given filtering conditions (initially only for\nobject version) and return object UUID in an array with limited elements\ncount.\nIf caller specified the inputs objects UUID, then only these objects will\nbe checked for the filtering conditions, and return ones which satisfy\nthe filtering condition. In this case, the 'limit' parameter will be\nignored.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVsanObjectUuidsByFilterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "String array of object uuids which satisfy the filtering\nconditions.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***VsanFault***: for any unexpected failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VsanFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/QueryVsanObjects": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Query information about VSAN DOM objects.\n",
        "operationId": "HostVsanInternalSystem_QueryVsanObjects",
        "description": "Query information about VSAN DOM objects.\n\nRetrieves information about the\ngiven set of DOM object UUIDs. In order to make this API efficient, the\noutput of this API contains the found DOM\\_OBJECT, and referenced\nLSOM\\_OBJECT and DISK entries.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVsanObjectsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON string with the results\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/QueryVsanStatistics": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Query VSAN system statistics.\n",
        "operationId": "HostVsanInternalSystem_QueryVsanStatistics",
        "description": "Query VSAN system statistics.\n\nThis is a low level API that gathers low\nlevel statistic counters from the system. The details of the counters\nremain undocumented and unsupported at this point, and this API remains\ninternal.\nThe data for this API call mostly comes from VSI, but also other tools\nlike memstats.\nThe caller can control which counters are being retrieved by providing\na list of labels. The following labels are current supported:\n\\- TBD\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVsanStatisticsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON string with the results\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/ReconfigurationSatisfiable": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Determine if the given objects can be reconfigured with the given\npolicies.\n",
        "operationId": "HostVsanInternalSystem_ReconfigurationSatisfiable",
        "description": "Determine if the given objects can be reconfigured with the given\npolicies.\n\nThe what-if determination only takes into account\nthe total number of hosts and total number\nof disks per host. The API is intended to answer the question: is\nthis reconfiguration possible using the current cluster topology\n(#hosts and #disks) and does NOT take into account free space on the\ndisk, size of disks, etc. If policy is not satisfiable, the API returns\nthe reason for not being able to satisfy the policy. If the policy is\nsatisfiable, the API returns the cost of provisioning objects with the\nnew policy. This cost can be combined with current available free disk\nspace to compute if a particular operation is expected to succeed\nor fail. Please note: This API ignores forceProvisioning.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigurationSatisfiableRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of PolicySatisfiability objects, one for each specified\nUUID.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VsanPolicySatisfiability"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/ReconfigureDomObject": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Reconfigure DOM object.\n",
        "operationId": "HostVsanInternalSystem_ReconfigureDomObject",
        "description": "Reconfigure DOM object.\n\nTypically we expect VM centric APIs to be used\nfor setting storage policies, i.e. to use ReconfigVM() to change the\npolicy/profile of a namespace directory or virtual disk. This is a low\nlevel API to reconfigure any object known by UUID.\nThis API is internal and intended for troubleshooting/debugging\nsituations in the field.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureDomObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/RunVsanPhysicalDiskDiagnostics": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Runs diagnostics on VSAN physical disks.\n",
        "operationId": "HostVsanInternalSystem_RunVsanPhysicalDiskDiagnostics",
        "description": "Runs diagnostics on VSAN physical disks.\n\nThis method takes an active\napproach and creates a minimal and temporary object on each physical\nMD disk consumed by VSAN across the entire VSAN cluster. The temporary\nobjects are deleted right away upon completion of creation. The result\nreturns a list of all checked MDs, indicating wheather or not there was\na problem creating an object on that MD at the given point in time.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunVsanPhysicalDiskDiagnosticsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A list of result structures. One per checked disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanInternalSystem/{moId}/UpgradeVsanObjects": {
      "post": {
        "tags": [
          "HostVsanInternalSystem"
        ],
        "summary": "Upgrade VSAN objects version.\n",
        "operationId": "HostVsanInternalSystem_UpgradeVsanObjects",
        "description": "Upgrade VSAN objects version.\n\nUpgrade a set of objects' version to new one in batch mode.\nAPI caller should limit the size of the inputs array, and suggested\narray size is 500 ~ 1000 initially. (The API will give more realistic\nsuggestion after more experiments, then will apply hard limits in future)\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpgradeVsanObjectsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of VsanObjectOperationResult, the array only contains\nresult for failed objects, such as invalid or not existing UUID,\nupgrade failure, etc.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostVsanInternalSystemVsanObjectOperationResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***VsanFault***: for any unexpected failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VsanFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/AddDisks_Task": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Add the set of given disks for use by the VSAN service on this host.\n",
        "operationId": "HostVsanSystem_AddDisks_Task",
        "description": "Add the set of given disks for use by the VSAN service on this host.\n\nUsers may use this API to manually add disks for use by VSAN, without\nspecifying an explicit *VsanHostDiskMapping*, when the VSAN service\nnot configured to automatically claim storage. Any ineligible disk in\nthe set of given disks and disks which would have exceeded\nthe capacity will be ignored and will not be published in\nreturned *TaskInfo.result*.\n\nMount a *VsanHostDiskMapping* if the specified disk belongs to the\nunmounted mapping and is of type *VsanHostDiskMapping.ssd*.\n\nUpon successful completion of the returned *Task*, its\n*TaskInfo.result* field will be populated with a\n*VsanHostDiskMapResult*\\[\\] and caller must inspect\n*VsanHostDiskMapResult*\\[\\] to check result for individual\n*VsanHostDiskMapping*.\n\nSee also *HostVsanSystem.QueryDisksForVsan*, *VsanHostConfigInfoStorageInfo.autoClaimStorage*, *VsanHostDiskMapInfo.mounted*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddDisksRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/EvacuateVsanNode_Task": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Evacuate this host from VSAN cluster.\n",
        "operationId": "HostVsanSystem_EvacuateVsanNode_Task",
        "description": "Evacuate this host from VSAN cluster.\n\nThe task is cancellable.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EvacuateVsanNodeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: If the host is entering maintenance mode or evacuating data.\n\n***RequestCanceled***: if the operation is canceled.\n\n***Timedout***: if the operation timed out.\n\n***VsanFault***: if operation fails with VSAN-specific error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/InitializeDisks_Task": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Initialize and use the sets of disks in the given *VsanHostDiskMapping*\nlist for the VSAN service on this host.\n",
        "operationId": "HostVsanSystem_InitializeDisks_Task",
        "description": "Initialize and use the sets of disks in the given *VsanHostDiskMapping*\nlist for the VSAN service on this host.\n\nUsers may use this API to specify or\nchange disk mappings when the VSAN service is not configured to\nautomatically claim storage. For appending new non-SSDs to an existing\n*VsanHostDiskMapping*, users need to specify only the new non-SSDs\nwith its *VsanHostDiskMapping.ssd*.\n\nMount a *VsanHostDiskMapping* if the specified\n*VsanHostDiskMapping* is not mounted in this host.\n\nUpon successful completion of the returned *Task*, its\n*TaskInfo.result* field will be populated with a\n*VsanHostDiskMapResult*\\[\\] and caller must inspect\n*VsanHostDiskMapResult*\\[\\] to check result for individual\n*VsanHostDiskMapping*.\n\nSee also *HostVsanSystem.QueryDisksForVsan*, *VsanHostConfigInfoStorageInfo.autoClaimStorage*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitializeDisksRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/QueryDisksForVsan": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Queries disks on this host for suitability to use with the VSAN service,\nand returns the result.\n",
        "operationId": "HostVsanSystem_QueryDisksForVsan",
        "description": "Queries disks on this host for suitability to use with the VSAN service,\nand returns the result.\n\nSee also *ScsiLun.canonicalName*.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDisksForVsanRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "a list of populated *VsanHostDiskResult* entries\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VsanHostDiskResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/QueryHostStatus": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Queries this host's current runtime status for the VSAN service.\n",
        "operationId": "HostVsanSystem_QueryHostStatus",
        "description": "Queries this host's current runtime status for the VSAN service.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "a populated *VsanHostClusterStatus* entry\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VsanHostClusterStatus"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/RecommissionVsanNode_Task": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Recommission this host to VSAN cluster.\n",
        "operationId": "HostVsanSystem_RecommissionVsanNode_Task",
        "description": "Recommission this host to VSAN cluster.\n\nUsers may use this API to recommission a node that has been\nevacuated in *VsanHostDecommissionMode*.\n\nSee also *HostVsanSystem.EvacuateVsanNode_Task*, *VsanHostDecommissionMode*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the host is not evacuated.\n\n***VsanFault***: if operation fails with VSAN-specific error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/RemoveDisk_Task": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Remove the set of given disks from use by the VSAN service on this host.\n",
        "operationId": "HostVsanSystem_RemoveDisk_Task",
        "description": "Remove the set of given disks from use by the VSAN service on this host.\n\nUsers\nmay use this API to manually remove a *VsanHostDiskMapping.nonSsd*\nfrom a *VsanHostDiskMapping*. This operation is only permitted if the\nVSAN service on this host is not configured to automatically claim storage.\n\nThe task is cancellable.\n\nThis method may not be used to remove the last\n*VsanHostDiskMapping.nonSsd* from any given\n*VsanHostDiskMapping*. Removal of the last\n*VsanHostDiskMapping.nonSsd* can be accomplished by using\n*HostVsanSystem.RemoveDiskMapping_Task*.\n\nUpon successful completion of the returned *Task*, its\n*TaskInfo.result* field will be populated with a\n*VsanHostDiskResult*\\[\\]. Sets DiskIsLastRemainingNonSSD fault\nin returned task if specified disk is the last\n*VsanHostDiskMapping.nonSsd* member of\n*VsanHostDiskMapping*.\n\nSee also *HostVsanSystem.RemoveDiskMapping_Task*, *HostVsanSystem.UpdateVsan_Task*, *VsanHostConfigInfoStorageInfo.autoClaimStorage*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/RemoveDiskMapping_Task": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Delete given set of disk mappings from use by the VSAN service on this host.\n",
        "operationId": "HostVsanSystem_RemoveDiskMapping_Task",
        "description": "Delete given set of disk mappings from use by the VSAN service on this host.\n\nThis API may be used to remove all disks in a given mapping, including its\n*VsanHostDiskMapping.ssd*. This operation is only permitted\nif the VSAN service on this host is not configured to automatically\nclaim storage.\n\nThe task is cancellable.\n\nUpon successful completion of the returned *Task*, its\n*TaskInfo.result* field will be populated with an empty\n*VsanHostDiskMapResult*\\[\\]. If any errors are encountered,\nthe returned field will instead contain populated error information.\n\nSee also *HostVsanSystem.RemoveDisk_Task*, *HostVsanSystem.UpdateVsan_Task*, *VsanHostConfigInfoStorageInfo.autoClaimStorage*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveDiskMappingRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/UnmountDiskMapping_Task": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Unmount the mounted *VsanHostDiskMapping*.\n",
        "operationId": "HostVsanSystem_UnmountDiskMapping_Task",
        "description": "Unmount the mounted *VsanHostDiskMapping*.\n\nAn unmounted volume cannot\nbe used for any VSAN operations. In contrast to *HostVsanSystem.RemoveDiskMapping_Task*,\nthis operation does not destroy or alter VSAN data on the disks.\n*HostVsanSystem.AddDisks_Task* and *HostVsanSystem.InitializeDisks_Task* can be used to\nre-mount the diskMapping.\n\nIn case of shared-SAS, where diskMappings are visible to more than one VSAN hosts,\nUsers may use this API to manually unmount and re-mount diskMappings.\n\nUpon successful completion of the returned *Task*, its\n*TaskInfo.result* field will be populated with\n*VsanHostDiskMapResult*\\[\\]. If any errors are encountered,\nthe returned field will instead contain populated error information.\n\nSee also *HostVsanSystem.RemoveDiskMapping_Task*, *HostVsanSystem.AddDisks_Task*, *HostVsanSystem.InitializeDisks_Task*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnmountDiskMappingRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: If the *VsanHostDiskMapping* is already unmounted.\n\n***VsanFault***: if operation fails with VSAN-specific error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/UpdateVsan_Task": {
      "post": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "Update the VSAN service on this host according to the given host\nconfiguration specification.\n",
        "operationId": "HostVsanSystem_UpdateVsan_Task",
        "description": "Update the VSAN service on this host according to the given host\nconfiguration specification.\n\nEnabling and disabling the VSAN service can be achieved by using\nthe *VsanHostConfigInfo.enabled* flag.\nHost storage settings can be specified through use of\n*VsanHostConfigInfo.storageInfo*. If this value is omitted,\nchanges will not be made to the existing storage configuration.\nHost cluster settings can be specified through use of\n*VsanHostConfigInfo.clusterInfo*. If this value is omitted,\nchanges will not be made to the existing cluster configuration.\nHost network settings can be specified through use of\n*VsanHostConfigInfo.networkInfo*. If this value is omitted,\nchanges will not be made to the existing network configuration.\n\nSee also *VsanHostConfigInfo*, *VsanHostConfigInfo.storageInfo*, *VsanHostConfigInfo.clusterInfo*, *VsanHostConfigInfo.networkInfo*, *HostVsanSystem.QueryDisksForVsan*.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVsanRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/HostVsanSystem/{moId}/config": {
      "get": {
        "tags": [
          "HostVsanSystem"
        ],
        "summary": "The current VSAN service configuration information for this host.\n",
        "operationId": "HostVsanSystem_getConfig",
        "description": "The current VSAN service configuration information for this host.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VsanHostConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/HttpNfcLeaseAbort": {
      "post": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Aborts the import/export and releases this lease.\n",
        "operationId": "HttpNfcLease_HttpNfcLeaseAbort",
        "description": "Aborts the import/export and releases this lease.\n\nOperations on the\nobjects contained in this lease will no longer be blocked. After\ncalling this method, this lease will no longer be valid.\n\nClients should call this method if an error occurs while accessing\nthe disks, or if the operation is cancelled. The client can report\nthe cause of the abort to other clients listening on the task with\nthe fault parameter.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HttpNfcLeaseAbortRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***Timedout***: if the lease has timed out before this call.\n\n***InvalidState***: if the lease has already been aborted.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/HttpNfcLeaseComplete": {
      "post": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Completes the import/export and releases this lease.\n",
        "operationId": "HttpNfcLease_HttpNfcLeaseComplete",
        "description": "Completes the import/export and releases this lease.\n\nOperations on\nthe objects contained in this lease will no longer be blocked. After\ncalling this method, this lease will no longer be valid.\n\nClients should call this method when they are done accessing the\ndisks for the *VirtualMachine*s in this lease. The status\nof the corresponding task will be set to success.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***Timedout***: if the lease has timed out before this call.\n\n***InvalidState***: if the lease has already been completed or\naborted.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/HttpNfcLeaseGetManifest": {
      "post": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Gets the download manifest for this lease.\n",
        "operationId": "HttpNfcLease_HttpNfcLeaseGetManifest",
        "description": "Gets the download manifest for this lease.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HttpNfcLeaseManifestEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/HttpNfcLeaseProbeUrls": {
      "post": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Perform a series of validations on the target host to see if\nit can succesfully perform PullFromUrls.\n",
        "operationId": "HttpNfcLease_HttpNfcLeaseProbeUrls",
        "description": "Perform a series of validations on the target host to see if\nit can succesfully perform PullFromUrls.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HttpNfcLeaseProbeUrlsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HttpNfcLeaseProbeResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if no source files are provided.\n\n***InvalidState***: if the lease has already been aborted.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/HttpNfcLeaseProgress": {
      "post": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Sets the disk up/download progress, and renews this lease.\n",
        "operationId": "HttpNfcLease_HttpNfcLeaseProgress",
        "description": "Sets the disk up/download progress, and renews this lease.\n\nA lease\nwill time out automatically after a while. If the client wishes to\ncontinue using it, for example if it is not done accessing the\ndisks, this method must be called periodically.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HttpNfcLeaseProgressRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***Timedout***: if the lease has timed out or vSphere has not\ndetected data transfer progress.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Timedout"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/HttpNfcLeasePullFromUrls_Task": {
      "post": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Upgrades current lease from push to pull mode.\n",
        "operationId": "HttpNfcLease_HttpNfcLeasePullFromUrls_Task",
        "description": "Upgrades current lease from push to pull mode.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HttpNfcLeasePullFromUrlsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the lease has already been aborted.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/HttpNfcLeaseSetManifestChecksumType": {
      "post": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Sets desired checksum algorithm per each file that will be returned in\nManifestEntry.\n",
        "operationId": "HttpNfcLease_HttpNfcLeaseSetManifestChecksumType",
        "description": "Sets desired checksum algorithm per each file that will be returned in\nManifestEntry.\n\nShould be set before any transfer starts.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HttpNfcLeaseSetManifestChecksumTypeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/capabilities": {
      "get": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Current supported capabilities by this lease\nSee *HttpNfcLeaseCapabilities*\n",
        "operationId": "HttpNfcLease_getCapabilities",
        "description": "Current supported capabilities by this lease\nSee *HttpNfcLeaseCapabilities*\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpNfcLeaseCapabilities"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/error": {
      "get": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "If the lease is in the error state, this property contains the\nerror that caused the lease to be aborted.\n",
        "operationId": "HttpNfcLease_getError",
        "description": "If the lease is in the error state, this property contains the\nerror that caused the lease to be aborted.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/info": {
      "get": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Provides information on the objects contained in this lease.\n",
        "operationId": "HttpNfcLease_getInfo",
        "description": "Provides information on the objects contained in this lease.\n\nThe\ninfo property is only valid when the lease is in the ready state.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/HttpNfcLeaseInfo"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/initializeProgress": {
      "get": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Provides progress information (0-100 percent) for the initializing state\nof the lease.\n",
        "operationId": "HttpNfcLease_getInitializeProgress",
        "description": "Provides progress information (0-100 percent) for the initializing state\nof the lease.\n\nClients can use this to track overall progress.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/mode": {
      "get": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Current mode of the lease.\n",
        "operationId": "HttpNfcLease_getMode",
        "description": "Current mode of the lease.\n\nSee *HttpNfcLeaseMode_enum* for possible values.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/state": {
      "get": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "The current state of the lease.\n",
        "operationId": "HttpNfcLease_getState",
        "description": "The current state of the lease.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpNfcLeaseState_enum"
                }
              }
            }
          }
        }
      }
    },
    "/HttpNfcLease/{moId}/transferProgress": {
      "get": {
        "tags": [
          "HttpNfcLease"
        ],
        "summary": "Provides progress information (0-100 percent) for current transfer.\n",
        "operationId": "HttpNfcLease_getTransferProgress",
        "description": "Provides progress information (0-100 percent) for current transfer.\n\nTransfer covers download, upload and pull scenario.\nCan be externally updated by progress method.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/InventoryView/{moId}/CloseInventoryViewFolder": {
      "post": {
        "tags": [
          "InventoryView"
        ],
        "summary": "Notify the server that folder(s) have been closed, and changes for all\nits contained objects should no longer be sent.\n",
        "operationId": "InventoryView_CloseInventoryViewFolder",
        "description": "Notify the server that folder(s) have been closed, and changes for all\nits contained objects should no longer be sent.\n\nThe associated child\nobjects are removed from the view. The containers themselves\nwill still be retained as open objects until their parent is closed.\n\nMay partially succeed if some entities could not be resolved. The operation\nwill still succeed for all entities that could be resolved, and the\nlist of those that failed is returned as the result.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloseInventoryViewFolderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A list containing any entities in the argument could not be resolved.\n\nRefers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/InventoryView/{moId}/DestroyView": {
      "post": {
        "tags": [
          "InventoryView"
        ],
        "summary": "Destroy this view.\n",
        "operationId": "InventoryView_DestroyView",
        "description": "Destroy this view.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/InventoryView/{moId}/OpenInventoryViewFolder": {
      "post": {
        "tags": [
          "InventoryView"
        ],
        "summary": "Adds the child objects of a given managed entity to the view.\n",
        "operationId": "InventoryView_OpenInventoryViewFolder",
        "description": "Adds the child objects of a given managed entity to the view.\n\nIf a *Datacenter* is returned as a child, the implicit virtual machine folder and\nhost folder objects are also returned. If a *ComputeResource* is returned,\nthe implicit root *ResourcePool* and *HostSystem* objects are also returned.\n\nMay partially succeed if some entities could not be resolved. The operation\nwill still succeed for all entities which could be resolved, and the\nlist of those which failed is returned as the result.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenInventoryViewFolderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A list containing any entities in the argument could not be resolved.\n\nRefers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/InventoryView/{moId}/view": {
      "get": {
        "tags": [
          "InventoryView"
        ],
        "summary": "The list of references to objects mapped by this view.\n",
        "operationId": "InventoryView_getView",
        "description": "The list of references to objects mapped by this view.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/IoFilterManager/{moId}/InstallIoFilter_Task": {
      "post": {
        "tags": [
          "IoFilterManager"
        ],
        "summary": "Install an IO Filter on a compute resource.\n",
        "operationId": "IoFilterManager_InstallIoFilter_Task",
        "description": "Install an IO Filter on a compute resource.\n\nIO Filters can only be installed on a cluster.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallIoFilterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. The task is set to success if the filter is installed on\nall the hosts in the compute resource successfully. If the task fails, first\ncheck *TaskInfo.error* to see the error. If the error indicates that\ninstallation has failed on the hosts, use *IoFilterManager.QueryIoFilterIssues*\nto get the detailed errors occurred during installation on each host.\n\nThe dynamic privilege check ensures that the user must have\nHost.Config.Patch privilege for all the hosts in the compute resource.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if \"compRes\" is a standalone host.\n\n***AlreadyExists***: if another VIB with the same name and vendor has\nbeen installed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlreadyExists"
                }
              }
            }
          }
        }
      }
    },
    "/IoFilterManager/{moId}/QueryDisksUsingFilter": {
      "post": {
        "tags": [
          "IoFilterManager"
        ],
        "summary": "Return the list of virtual disks that use an IO Filter installed on\na compute resource.\n",
        "operationId": "IoFilterManager_QueryDisksUsingFilter",
        "description": "Return the list of virtual disks that use an IO Filter installed on\na compute resource.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDisksUsingFilterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of *VirtualDiskId* objects that use\nthe given IO Filter installed on the compute resource.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualDiskId"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the filter specified by \"filterId\" is\nnot installed on the cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/IoFilterManager/{moId}/QueryIoFilterInfo": {
      "post": {
        "tags": [
          "IoFilterManager"
        ],
        "summary": "Return the information for the IO Filters that are installed on the cluster.\n",
        "operationId": "IoFilterManager_QueryIoFilterInfo",
        "description": "Return the information for the IO Filters that are installed on the cluster.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryIoFilterInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of *ClusterIoFilterInfo* objects\nthat contain the information for the IO Filters that are installed\non the compute resource.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterIoFilterInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/IoFilterManager/{moId}/QueryIoFilterIssues": {
      "post": {
        "tags": [
          "IoFilterManager"
        ],
        "summary": "Return the issues that occurred during the last installation/uninstallation/upgrade\noperation of an IO Filter on a compute resource.\n",
        "operationId": "IoFilterManager_QueryIoFilterIssues",
        "description": "Return the issues that occurred during the last installation/uninstallation/upgrade\noperation of an IO Filter on a compute resource.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryIoFilterIssuesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A *IoFilterQueryIssueResult* object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IoFilterQueryIssueResult"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the filter specified by \"filterId\" is\nnot installed on the cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/IoFilterManager/{moId}/ResolveInstallationErrorsOnCluster_Task": {
      "post": {
        "tags": [
          "IoFilterManager"
        ],
        "summary": "Resolve the errors occurred during an installation/uninstallation/upgrade\noperation of an IO Filter on a cluster.\n",
        "operationId": "IoFilterManager_ResolveInstallationErrorsOnCluster_Task",
        "description": "Resolve the errors occurred during an installation/uninstallation/upgrade\noperation of an IO Filter on a cluster.\n\nDepending on the nature of the installation failure, vCenter will take the\nappropriate actions to resolve it. For example, retry or resume\ninstallation.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveInstallationErrorsOnClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. The task is set to success if all the errors related to the\nfilter are resolved on the cluster. If the task fails, first check\n*TaskInfo.error* to see the error. If the error indicates that\nissues persist on the cluster, use *IoFilterManager.QueryIoFilterIssues*\nto get the detailed errors on the hosts in the cluster.\n\nThe dynamic privilege check will ensure that the appropriate privileges\nmust be acquired for all the hosts in the cluster based on the remediation\nactions. For example, Host.Config.Maintenance privilege and Host.Config.Patch\nprivileges must be required for upgrading a VIB.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the filter specified by \"filterId\" is\nnot installed on the cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/IoFilterManager/{moId}/ResolveInstallationErrorsOnHost_Task": {
      "post": {
        "tags": [
          "IoFilterManager"
        ],
        "summary": "Resolve the errors occurred during an installation/uninstallation/upgrade\noperation of an IO Filter on a host.\n",
        "operationId": "IoFilterManager_ResolveInstallationErrorsOnHost_Task",
        "description": "Resolve the errors occurred during an installation/uninstallation/upgrade\noperation of an IO Filter on a host.\n\nDepending on the nature of the installation failure, vCenter will take the\nappropriate actions to resolve it. For example, retry or resume\ninstallation.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveInstallationErrorsOnHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. The task is set to success if all the errors related to the\nfilter are resolved on the host. If the task fails, first check\n*TaskInfo.error* to see the error. If the error indicates that\nissues persist on the host, use *IoFilterManager.QueryIoFilterIssues*\nto get the detailed errors on the host.\n\nThe dynamic privilege check will ensure that the appropriate privileges\nare acquired based on the remediation actions. For example,\nHost.Config.Maintenance and Host.Config.Patch privilege must required for\nupgrading a VIB.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the filter specified by \"filterId\" is\nnot installed on the cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/IoFilterManager/{moId}/UninstallIoFilter_Task": {
      "post": {
        "tags": [
          "IoFilterManager"
        ],
        "summary": "Uninstall an IO Filter from a compute resource.\n",
        "operationId": "IoFilterManager_UninstallIoFilter_Task",
        "description": "Uninstall an IO Filter from a compute resource.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UninstallIoFilterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. The task is set to success if the filter is uninstalled from\nall the hosts in the compute resource successfully. If the task fails, first\ncheck *TaskInfo.error* to see the error. If the error indicates that\nuninstallation has failed on the hosts, use *IoFilterManager.QueryIoFilterIssues*\nto get the detailed errors occurred during uninstallation on each host.\n\nThe dynamic privilege check ensures that the user must have\nHost.Config.Maintenance and Host.Config.Patch privilege for\nall the hosts in the compute resource.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if \"compRes\" is a standalone host.\n\n***NotFound***: if the filter is not installed on the cluster.\n\n***FilterInUse***: if the filter to be uninstalled is being used by a\nvirtual disk.\n\n***InvalidState***: if \"compRes\" is a cluster and DRS is disabled\non the cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/IoFilterManager/{moId}/UpgradeIoFilter_Task": {
      "post": {
        "tags": [
          "IoFilterManager"
        ],
        "summary": "Upgrade an IO Filter on a compute resource.\n",
        "operationId": "IoFilterManager_UpgradeIoFilter_Task",
        "description": "Upgrade an IO Filter on a compute resource.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpgradeIoFilterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. The task is set to success if all the hosts in the compute\nresource are upgraded successfully. If the task fails, first check\n*TaskInfo.error* to see the error. If the error indicates that\nupgrade has failed on the hosts, use *IoFilterManager.QueryIoFilterIssues*\nto get the detailed errors occurred during upgrade on each host.\n\nThe dynamic privilege check ensures that the user must have\nHost.Config.Maintenance and Host.Config.Patch privileges for\nall the hosts in the compute resource.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if \"compRes\" is a standalone host; or if the VIB\npackage pointed by \"vibUrl\" is not an upgrade of the\nIO Filter specified by \"filterId\".\n\n***NotFound***: if the filter specified by \"filterId\" is\nnot installed on the cluster.\n\n***InvalidState***: if \"compRes\" is a cluster and DRS is disabled\non the cluster.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/IpPoolManager/{moId}/AllocateIpv4Address": {
      "post": {
        "tags": [
          "IpPoolManager"
        ],
        "summary": "Allocates an IPv4 address from an IP pool.\n",
        "operationId": "IpPoolManager_AllocateIpv4Address",
        "description": "Allocates an IPv4 address from an IP pool.\n\nAllocated IP addresses are reserved in the IP pool until released by\ncalling *IpPoolManager.ReleaseIpAllocation*, or until the IP pool is configured to\nhave an IP range that does not contain the IP address, or until the IP\npool is destroyed.\n\nThe caller must be a vCenter extension. Refer to *ExtensionManager*\nfor details on vCenter extensions.\n\nThe caller specifies a per extension unique allocation ID. Calling this\nfunction twice with the same allocation ID for the same pool yields the\nsame IP address. This makes it possible to do idempotent allocations.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateIpv4AddressRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An IPv4 address if the pool has an available IPv4 address in its\naddress ranges, otherwise the empty string.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/IpPoolManager/{moId}/AllocateIpv6Address": {
      "post": {
        "tags": [
          "IpPoolManager"
        ],
        "summary": "Allocates an IPv6 address from an IP pool.\n",
        "operationId": "IpPoolManager_AllocateIpv6Address",
        "description": "Allocates an IPv6 address from an IP pool.\n\nAllocated IP addresses are reserved in the IP pool until released by\ncalling *IpPoolManager.ReleaseIpAllocation*, or until the IP pool is configured to\nhave an IP range that does not contain the IP address, or until the IP\npool is destroyed.\n\nThe caller must be a vCenter extension. Refer to *ExtensionManager*\nfor details on vCenter extensions.\n\nThe caller specifies a per extension unique allocation ID. Calling this\nfunction twice with the same allocation ID for the same pool yields the\nsame IP address. This makes it possible to do idempotent allocations.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AllocateIpv6AddressRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An IPv6 address if the pool has an available IPv6 address in its\naddress ranges, otherwise the empty string.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/IpPoolManager/{moId}/CreateIpPool": {
      "post": {
        "tags": [
          "IpPoolManager"
        ],
        "summary": "Create a new IP pool.\n",
        "operationId": "IpPoolManager_CreateIpPool",
        "description": "Create a new IP pool.\n\nThe name field must be defined, all other fields are optional. If unset,\nthey will be given default values.\n\nThe ID for the pool is generated by the server and should not be defined on the\npool object passed to this method.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIpPoolRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The generated ID for the pool\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/IpPoolManager/{moId}/DestroyIpPool": {
      "post": {
        "tags": [
          "IpPoolManager"
        ],
        "summary": "Destroys an IP pool on the given datacenter.\n",
        "operationId": "IpPoolManager_DestroyIpPool",
        "description": "Destroys an IP pool on the given datacenter.\n\nLooks up the pool on the datacenter by ID and deletes it. If the pool is in use,\nthe method throws InvalidState unless the force flag is true.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DestroyIpPoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the pool is in use and the force flag is false\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/IpPoolManager/{moId}/QueryIPAllocations": {
      "post": {
        "tags": [
          "IpPoolManager"
        ],
        "summary": "Query IP allocations by IP pool and extension key.\n",
        "operationId": "IpPoolManager_QueryIPAllocations",
        "description": "Query IP allocations by IP pool and extension key.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryIPAllocationsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The resulting list of *IpPoolManagerIpAllocation*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IpPoolManagerIpAllocation"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/IpPoolManager/{moId}/QueryIpPools": {
      "post": {
        "tags": [
          "IpPoolManager"
        ],
        "summary": "Return the list of IP pools for a datacenter.\n",
        "operationId": "IpPoolManager_QueryIpPools",
        "description": "Return the list of IP pools for a datacenter.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryIpPoolsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The resulting list of pools.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IpPool"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/IpPoolManager/{moId}/ReleaseIpAllocation": {
      "post": {
        "tags": [
          "IpPoolManager"
        ],
        "summary": "Releases an IP allocation back to it's IP pool.\n",
        "operationId": "IpPoolManager_ReleaseIpAllocation",
        "description": "Releases an IP allocation back to it's IP pool.\n\nAttempting to release an IP allocation that is not allocated from the\nspecified IP pool with the specified allocation ID silently fails. This\nmakes it possible to release IP allocations idempotently.\n\nAll IP addresses allocated by an extension are automatically released\nif the extension is unregistered from vCenter.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReleaseIpAllocationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/IpPoolManager/{moId}/UpdateIpPool": {
      "post": {
        "tags": [
          "IpPoolManager"
        ],
        "summary": "Update an IP pool on a datacenter.\n",
        "operationId": "IpPoolManager_UpdateIpPool",
        "description": "Update an IP pool on a datacenter.\n\nThe pool to update is looked up from the value of the id field.\n\nAll fields in the pool except the id are optional. Only defined values are stored\non the server.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIpPoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/IscsiManager/{moId}/BindVnic": {
      "post": {
        "tags": [
          "IscsiManager"
        ],
        "summary": "Bind a Virtual NIC to be used for an iSCSI adapter\n",
        "operationId": "IscsiManager_BindVnic",
        "description": "Bind a Virtual NIC to be used for an iSCSI adapter\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BindVnicRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***IscsiFaultVnicAlreadyBound***: The given Virtual NIC is already bound to the HBA.\n\n***IscsiFaultVnicHasNoUplinks***: The given Virtual NIC has no physical uplinks.\n\n***IscsiFaultVnicHasMultipleUplinks***: The given Virtual NIC has multiple uplinks.\n\n***IscsiFaultVnicHasWrongUplink***: The given Virtual NIC has the wrong uplink and\nit can't be used for iSCSI multi-pathing.\n\n***IscsiFaultVnicNotFound***: The given Virtual NIC is not present on the system.\n\n***IscsiFaultInvalidVnic***: The given Virtual NIC is not valid for the HBA.\n\n***PlatformConfigFault***: For platform error that occurs during the operation.\n\n***IscsiFault***: For any problem that is not handled with a more specific fault.\n\n***NotFound***: If the given HBA is not found\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/IscsiManager/{moId}/QueryBoundVnics": {
      "post": {
        "tags": [
          "IscsiManager"
        ],
        "summary": "Query the list of Virtual NICs that are bound to a given iSCSI HBA.\n",
        "operationId": "IscsiManager_QueryBoundVnics",
        "description": "Query the list of Virtual NICs that are bound to a given iSCSI HBA.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryBoundVnicsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of *IscsiPortInfo* containing detailed\ninformation on the list of Virtual NICs bound to the adapter\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IscsiPortInfo"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***IscsiFault***: For any problem that is not handled with a more specific fault.\n\n***NotFound***: If the given HBA is not found\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/IscsiManager/{moId}/QueryCandidateNics": {
      "post": {
        "tags": [
          "IscsiManager"
        ],
        "summary": "Query the candidate Virtual NICs and Physical NICs that can be used\nfor Port-Binding.\n",
        "operationId": "IscsiManager_QueryCandidateNics",
        "description": "Query the candidate Virtual NICs and Physical NICs that can be used\nfor Port-Binding.\n\nFor dependent offload adapters, the Virtual NIC should be attached\nto the physical NIC associated with the hardware function.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryCandidateNicsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of *IscsiPortInfo* containing detailed\ninformation on list of eligible Virtual NICs that can be bound\nto the adapter. This list will also include details on the\neligible Physical NICs that are not associated with any\nVirtual NICs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IscsiPortInfo"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***IscsiFault***: For any problem that is not handled with a more specific fault.\n\n***NotFound***: If the given HBA is not found\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/IscsiManager/{moId}/QueryMigrationDependencies": {
      "post": {
        "tags": [
          "IscsiManager"
        ],
        "summary": "Query the dependency table for a migration operation of a given Physical\nNIC.\n",
        "operationId": "IscsiManager_QueryMigrationDependencies",
        "description": "Query the dependency table for a migration operation of a given Physical\nNIC.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryMigrationDependenciesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Dependency table, as described in *IscsiMigrationDependency*,\nproviding the user of all the Virtual NIC and iSCSI resources\naffected.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IscsiMigrationDependency"
                }
              }
            }
          }
        }
      }
    },
    "/IscsiManager/{moId}/QueryPnicStatus": {
      "post": {
        "tags": [
          "IscsiManager"
        ],
        "summary": "Query if Physical NIC device is used for iSCSI.\n",
        "operationId": "IscsiManager_QueryPnicStatus",
        "description": "Query if Physical NIC device is used for iSCSI.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPnicStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A status object, *IscsiStatus*, indicating\nwhether Physical NIC is used by iSCSI or not.\n- Empty *IscsiStatus* (i.e reason unset)\n  if Physical NIC device is not used.\n- Fault code *IscsiFaultPnicInUse* if\n  Physical NIC is being used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IscsiStatus"
                }
              }
            }
          },
          "500": {
            "description": "***IscsiFault***: For any problem that is not handled with a more specific fault.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IscsiFault"
                }
              }
            }
          }
        }
      }
    },
    "/IscsiManager/{moId}/QueryVnicStatus": {
      "post": {
        "tags": [
          "IscsiManager"
        ],
        "summary": "Query the status of Virtual NIC association with the iSCSI.\n",
        "operationId": "IscsiManager_QueryVnicStatus",
        "description": "Query the status of Virtual NIC association with the iSCSI.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVnicStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A status object *IscsiStatus*, containing\nlist of the fault codes, providing the user with information as to\nwhether Virtual NIC is used by iSCSI and list of compliance check\nfailure codes if any. The returned *IscsiStatus*\nobject will have an array of *MethodFault* objects providing\nfollowing information:\n- Empty *IscsiStatus* (i.e reason unset)\n  if Virtual NIC device is not used.\n- Fault code *IscsiFaultVnicInUse* if Virtual\n  NIC is being used by iSCSI.\n- This will be followed with list of fault codes\n  corresponding to the compliance check failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IscsiStatus"
                }
              }
            }
          },
          "500": {
            "description": "***IscsiFault***: For any problem that is not handled with a more specific fault.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IscsiFault"
                }
              }
            }
          }
        }
      }
    },
    "/IscsiManager/{moId}/UnbindVnic": {
      "post": {
        "tags": [
          "IscsiManager"
        ],
        "summary": "Unbind Virtual NIC binding from an iSCSI adapter.\n",
        "operationId": "IscsiManager_UnbindVnic",
        "description": "Unbind Virtual NIC binding from an iSCSI adapter.\n\n***Required privileges:*** Host.Config.Storage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnbindVnicRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***IscsiFaultVnicNotBound***: The given Virtual NIC is not bound to the adapter\n\n***IscsiFaultVnicHasActivePaths***: The given Virtual NIC is associated with \"active\" paths\nto the storage.\n\n***IscsiFaultVnicIsLastPath***: The given Virtual NIC is associated with \"only\" paths\nto the storage.\n\n***PlatformConfigFault***: For platform error that occurs during the operation.\n\n***IscsiFault***: For any problem that is not handled with a more specific fault.\n\n***NotFound***: If the given HBA is not found\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseAssignmentManager/{moId}/QueryAssignedLicenses": {
      "post": {
        "tags": [
          "LicenseAssignmentManager"
        ],
        "summary": "Get information about all the licenses associated with an entity\n",
        "operationId": "LicenseAssignmentManager_QueryAssignedLicenses",
        "description": "Get information about all the licenses associated with an entity\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryAssignedLicensesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LicenseAssignmentManagerLicenseAssignment"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/LicenseAssignmentManager/{moId}/RemoveAssignedLicense": {
      "post": {
        "tags": [
          "LicenseAssignmentManager"
        ],
        "summary": "Remove licenses associated with an entity\n",
        "operationId": "LicenseAssignmentManager_RemoveAssignedLicense",
        "description": "Remove licenses associated with an entity\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveAssignedLicenseRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseEntityNotFound"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseAssignmentManager/{moId}/UpdateAssignedLicense": {
      "post": {
        "tags": [
          "LicenseAssignmentManager"
        ],
        "summary": "Update the license associated with an entity\n",
        "operationId": "LicenseAssignmentManager_UpdateAssignedLicense",
        "description": "Update the license associated with an entity\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAssignedLicenseRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns information about the license specified in licenseKey\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseManagerLicenseInfo"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseEntityNotFound"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/AddLicense": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Adds a license to the inventory of available licenses.\n",
        "operationId": "LicenseManager_AddLicense",
        "description": "Adds a license to the inventory of available licenses.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddLicenseRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns information about the license specified in licenseKey.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseManagerLicenseInfo"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/CheckLicenseFeature": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Returns whether or not a given feature is enabled.\n",
        "operationId": "LicenseManager_CheckLicenseFeature",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*LicenseAssignmentManager.QueryAssignedLicenses* instead.\n\nReturns whether or not a given feature is enabled.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckLicenseFeatureRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns true if the feature is enabled and false if it is not.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If a feature name is not found.\n\n***InvalidState***: If the feature cannot be supported on the platform,\npotentially because the hardware configuration does not support it.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/ConfigureLicenseSource": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Allows for reconfiguration of the License Manager license source.\n",
        "operationId": "LicenseManager_ConfigureLicenseSource",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use *LicenseManager.UpdateLicense*\ninstead.\n\nAllows for reconfiguration of the License Manager license source.\n\nThis changes the licensing source to be either served or local. Before changing\nthe license source location, the API checks the number of licenses available at\nthe new potential source to ensure there are at least as many licenses there as\nhave been issued by the current source. If there are an equal or greater number of\nlicenses at the new source, all licenses on the current source are released and\nthen reacquired from the new source. If there are not enough licenses available on\nthe new source to reissue all licenses, the operation fails.\n\nThis is used to configure the license source on an individual host.\n\n**PLATFORM Specific Notes:**\nVirtualCenter - only supports a served source.\nthe host parameter is mandatory.\nESX Server - the host parameter is optional.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigureLicenseSourceRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***LicenseServerUnavailable***: if the license server is unreachable.\n\n***CannotAccessLocalSource***: if the local source cannot be accessed.\n\n***InvalidLicense***: if the new license source is LocalLicenseSource and the\nlicense file is not valid.\n\n***NotEnoughLicenses***: if the new license source does not have enough licenses.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/DecodeLicense": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Decodes licensing information on the license specified.\n",
        "operationId": "LicenseManager_DecodeLicense",
        "description": "Decodes licensing information on the license specified.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DecodeLicenseRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns information about the license specified in licenseKey.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseManagerLicenseInfo"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/DisableFeature": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Release licenses for an optional feature.\n",
        "operationId": "LicenseManager_DisableFeature",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*LicenseAssignmentManager.RemoveAssignedLicense* instead.\n\nRelease licenses for an optional feature.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisableFeatureRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns true if the feature was disabled and false if not.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If a feature name is not found or it is not optional.\n\n***LicenseServerUnavailable***: If the license server is unavailable.\n\n***InvalidState***: If the feature is in use.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/EnableFeature": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Enable a feature that has an optional state.\n",
        "operationId": "LicenseManager_EnableFeature",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*LicenseAssignmentManager.UpdateAssignedLicense* instead.\n\nEnable a feature that has an optional state.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableFeatureRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns true if enabling the feature was successful, false otherwise.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If a feature name is not found or it is not optional.\n\n***LicenseServerUnavailable***: If the license server is unavailable.\n\n***InvalidState***: If the feature cannot be supported on the platform,\npotentially because the hardware configuration does not support it.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/QueryLicenseSourceAvailability": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Queries the current license source for total and available licenses available for\neach feature known to this system.\n",
        "operationId": "LicenseManager_QueryLicenseSourceAvailability",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*LicenseAssignmentManager.QueryAssignedLicenses* instead.\n\nQueries the current license source for total and available licenses available for\neach feature known to this system.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryLicenseSourceAvailabilityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LicenseAvailabilityInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/QuerySupportedFeatures": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Queries the current license source for a list of available licenses that can be\nlicensed from this system.\n",
        "operationId": "LicenseManager_QuerySupportedFeatures",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*LicenseAssignmentManager.QueryAssignedLicenses* instead.\n\nQueries the current license source for a list of available licenses that can be\nlicensed from this system.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuerySupportedFeaturesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LicenseFeatureInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/QueryLicenseUsage": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Returns the license usage.\n",
        "operationId": "LicenseManager_QueryLicenseUsage",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*LicenseAssignmentManager.QueryAssignedLicenses* instead.\n\nReturns the license usage.\n\nThe license usage is a list of supported features and\nthe number of licenses that have been reserved.\n\n**PLATFORM Specific Notes:**\nVirtualCenter - Empty string returns the usage of non-host specific features.\nMust specify managed host to query.\nESX Server - Host argument ignored.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryLicenseUsageRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseUsageInfo"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/RemoveLicenseLabel": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Removed a license's label.\n",
        "operationId": "LicenseManager_RemoveLicenseLabel",
        "description": "Removed a license's label.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveLicenseLabelRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/LicenseManager/{moId}/RemoveLicense": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Remove license from the available set.\n",
        "operationId": "LicenseManager_RemoveLicense",
        "description": "Remove license from the available set.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveLicenseRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/LicenseManager/{moId}/SetLicenseEdition": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Defines the product's license edition.\n",
        "operationId": "LicenseManager_SetLicenseEdition",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*LicenseAssignmentManager.QueryAssignedLicenses* instead.\n\nDefines the product's license edition.\n\nThe edition defines which product license\nthe server requires. This, in turn, determines the core set of functionality\nprovided by the product and the additional features that can be licensed.\n\nTo determine what featureKey the current platform will accept, use\nquerySourceAvailablity() at runtime, or consult the documentation for the\ncurrent platform.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetLicenseEditionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: If a feature key is not an edition feature key.\n\n***LicenseServerUnavailable***: If the license server is unavailable.\n\n***InvalidState***: If the feature cannot be supported on the platform,\npotentially because the hardware configuration does not support it.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/UpdateLicenseLabel": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Update a license's label.\n",
        "operationId": "LicenseManager_UpdateLicenseLabel",
        "description": "Update a license's label.\n\nIt creates a label entry if the labelKey doesn't already exist\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLicenseLabelRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/LicenseManager/{moId}/UpdateLicense": {
      "post": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Updates the available licenses to the one provided in licenseKey.\n",
        "operationId": "LicenseManager_UpdateLicense",
        "description": "Updates the available licenses to the one provided in licenseKey.\n\nThis is the same as removing all the licenses using\n*LicenseManager.RemoveLicense* and adding licenseKey using\n*LicenseManager.AddLicense*\nIf the optional parameter labels is specify this is the same as calling\nupdateLicense without the optioal parameter and calling updateLabel for each pair\nin the labels array.\n\n***Required privileges:*** Global.Licenses\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLicenseRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns information about the license specified in licenseKey.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseManagerLicenseInfo"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/diagnostics": {
      "get": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Return current diagnostic information.\n",
        "operationId": "LicenseManager_getDiagnostics",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this property is not used by the system.\n\nReturn current diagnostic information.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/LicenseDiagnostics"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/evaluation": {
      "get": {
        "tags": [
          "LicenseManager"
        ],
        "operationId": "LicenseManager_getEvaluation",
        "description": "***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseManagerEvaluationInfo"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/featureInfo": {
      "get": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "The list of features that can be licensed.\n",
        "operationId": "LicenseManager_getFeatureInfo",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *LicenseManager.QuerySupportedFeatures*\ninstead.\n\nThe list of features that can be licensed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LicenseFeatureInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/licenseAssignmentManager": {
      "get": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "License Assignment Manager\n",
        "operationId": "LicenseManager_getLicenseAssignmentManager",
        "description": "License Assignment Manager\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *LicenseAssignmentManager*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/licensedEdition": {
      "get": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "The product's license edition.\n",
        "operationId": "LicenseManager_getLicensedEdition",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*LicenseAssignmentManager.QueryAssignedLicenses* instead.\n\nThe product's license edition.\n\nThe edition defines which product license\nthe server requires. This, in turn, determines the core set of functionalities\nprovided by the product and the additional features that can be licensed. If\nno edition is set the property is set to the empty string (\"\").\nTo set the edition use *LicenseManager.SetLicenseEdition*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/licenses": {
      "get": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Get information about all the licenses available.\n",
        "operationId": "LicenseManager_getLicenses",
        "description": "Get information about all the licenses available.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LicenseManagerLicenseInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/source": {
      "get": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Set or return a data object type of LocalLicense or LicenseServer.\n",
        "operationId": "LicenseManager_getSource",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*LicenseAssignmentManager.QueryAssignedLicenses* to get evaluation information.\n\nSet or return a data object type of LocalLicense or LicenseServer.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseSource"
                }
              }
            }
          }
        }
      }
    },
    "/LicenseManager/{moId}/sourceAvailable": {
      "get": {
        "tags": [
          "LicenseManager"
        ],
        "summary": "Current state of the license source.\n",
        "operationId": "LicenseManager_getSourceAvailable",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this property is not used.\n\nCurrent state of the license source.\n\nLicense sources that are LocalSource\nare always available.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ListView/{moId}/DestroyView": {
      "post": {
        "tags": [
          "ListView"
        ],
        "summary": "Destroy this view.\n",
        "operationId": "ListView_DestroyView",
        "description": "Destroy this view.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ListView/{moId}/ModifyListView": {
      "post": {
        "tags": [
          "ListView"
        ],
        "summary": "Modify the list by giving a delta of entities to add and\nentities to remove.\n",
        "operationId": "ListView_ModifyListView",
        "description": "Modify the list by giving a delta of entities to add and\nentities to remove.\n\nMay partially succeed if some objects could not be resolved. The operation\nwill still succeed for all objects which could be resolved, and the\nlist of those which failed is returned as the result.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ModifyListViewRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A list containing any objects in 'add' that could not be resolved.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ListView/{moId}/ResetListView": {
      "post": {
        "tags": [
          "ListView"
        ],
        "summary": "Replaces the list with an entirely new set of objects.\n",
        "operationId": "ListView_ResetListView",
        "description": "Replaces the list with an entirely new set of objects.\n\nIf\nthe entire set is changing, this is less data to send than a delta.\n\nMay partially succeed if some objects could not be resolved. The operation\nwill still succeed for all objects which could be resolved, and the\nlist of those which failed is as the result.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetListViewRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A list containing any objects in 'obj' that could not be resolved.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ListView/{moId}/ResetListViewFromView": {
      "post": {
        "tags": [
          "ListView"
        ],
        "summary": "Replaces the list with the set of objects in a given view.\n",
        "operationId": "ListView_ResetListViewFromView",
        "description": "Replaces the list with the set of objects in a given view.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetListViewFromViewRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ListView/{moId}/view": {
      "get": {
        "tags": [
          "ListView"
        ],
        "summary": "The list of references to objects mapped by this view.\n",
        "operationId": "ListView_getView",
        "description": "The list of references to objects mapped by this view.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/LocalizationManager/{moId}/catalog": {
      "get": {
        "tags": [
          "LocalizationManager"
        ],
        "summary": "Fetches the descriptions of all the client-side localization message\ncatalogs available for the current session locale.\n",
        "operationId": "LocalizationManager_getCatalog",
        "description": "Fetches the descriptions of all the client-side localization message\ncatalogs available for the current session locale.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "the message catalogs for the current locale\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LocalizationManagerMessageCatalog"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "ManagedEntity_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/Reload": {
      "post": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "ManagedEntity_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ManagedEntity/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "ManagedEntity_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "ManagedEntity_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ManagedEntity/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "ManagedEntity_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/availableField": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "ManagedEntity_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/configIssue": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "ManagedEntity_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/configStatus": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "ManagedEntity_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/customValue": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Custom field values.\n",
        "operationId": "ManagedEntity_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "ManagedEntity_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "ManagedEntity_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "ManagedEntity_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/name": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "ManagedEntity_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/overallStatus": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "ManagedEntity_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/parent": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "ManagedEntity_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/permission": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "ManagedEntity_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/recentTask": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "ManagedEntity_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/tag": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "ManagedEntity_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "ManagedEntity_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedEntity/{moId}/value": {
      "get": {
        "tags": [
          "ManagedEntity"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "ManagedEntity_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ManagedObjectView/{moId}/DestroyView": {
      "post": {
        "tags": [
          "ManagedObjectView"
        ],
        "summary": "Destroy this view.\n",
        "operationId": "ManagedObjectView_DestroyView",
        "description": "Destroy this view.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ManagedObjectView/{moId}/view": {
      "get": {
        "tags": [
          "ManagedObjectView"
        ],
        "summary": "The list of references to objects mapped by this view.\n",
        "operationId": "ManagedObjectView_getView",
        "description": "The list of references to objects mapped by this view.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "Network"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "Network_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/DestroyNetwork": {
      "post": {
        "tags": [
          "Network"
        ],
        "summary": "Removes a network.\n",
        "operationId": "Network_DestroyNetwork",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5 do not use this method. This method throws\n*ResourceInUse*. Networks are automatically\nremoved when no longer in use, so this method is unnecessary.\n\nRemoves a network.\n\nA network can be removed only if it is not used by any host or\nvirtual machine.\n\n***Required privileges:*** Network.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ResourceInUse***: if one or more hosts or virtual machines are configured\nto use the network.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceInUse"
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/Reload": {
      "post": {
        "tags": [
          "Network"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "Network_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Network/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "Network"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "Network_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "Network"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "Network_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Network/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "Network_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/availableField": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "Network_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/configIssue": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "Network_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/configStatus": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "Network_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/customValue": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "Custom field values.\n",
        "operationId": "Network_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "Network_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "Network_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "Network_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/host": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "Hosts attached to this network.\n",
        "operationId": "Network_getHost",
        "description": "Hosts attached to this network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/name": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "Network_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/overallStatus": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "Network_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/parent": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "Network_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/permission": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "Network_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/recentTask": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "Network_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/summary": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "Properties of a network.\n",
        "operationId": "Network_getSummary",
        "description": "Properties of a network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkSummary"
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/tag": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "Network_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "Network_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/value": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "Network_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Network/{moId}/vm": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "Virtual machines using this network.\n",
        "operationId": "Network_getVm",
        "description": "Virtual machines using this network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *VirtualMachine*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "OpaqueNetwork_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/DestroyNetwork": {
      "post": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Removes a network.\n",
        "operationId": "OpaqueNetwork_DestroyNetwork",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5 do not use this method. This method throws\n*ResourceInUse*. Networks are automatically\nremoved when no longer in use, so this method is unnecessary.\n\nRemoves a network.\n\nA network can be removed only if it is not used by any host or\nvirtual machine.\n\n***Required privileges:*** Network.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ResourceInUse***: if one or more hosts or virtual machines are configured\nto use the network.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceInUse"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/Reload": {
      "post": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "OpaqueNetwork_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "OpaqueNetwork_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "OpaqueNetwork_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "OpaqueNetwork_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/availableField": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "OpaqueNetwork_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/capability": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "The capability of the Opaque Network.\n",
        "operationId": "OpaqueNetwork_getCapability",
        "description": "The capability of the Opaque Network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/OpaqueNetworkCapability"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/configIssue": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "OpaqueNetwork_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/configStatus": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "OpaqueNetwork_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/customValue": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Custom field values.\n",
        "operationId": "OpaqueNetwork_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "OpaqueNetwork_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "OpaqueNetwork_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "OpaqueNetwork_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/extraConfig": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Extra NSX specific properties for opaque network.\n",
        "operationId": "OpaqueNetwork_getExtraConfig",
        "description": "Extra NSX specific properties for opaque network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OptionValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/host": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Hosts attached to this network.\n",
        "operationId": "OpaqueNetwork_getHost",
        "description": "Hosts attached to this network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/name": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "OpaqueNetwork_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/overallStatus": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "OpaqueNetwork_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/parent": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "OpaqueNetwork_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/permission": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "OpaqueNetwork_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/recentTask": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "OpaqueNetwork_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/summary": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Properties of a network.\n",
        "operationId": "OpaqueNetwork_getSummary",
        "description": "Properties of a network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkSummary"
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/tag": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "OpaqueNetwork_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "OpaqueNetwork_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/value": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "OpaqueNetwork_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OpaqueNetwork/{moId}/vm": {
      "get": {
        "tags": [
          "OpaqueNetwork"
        ],
        "summary": "Virtual machines using this network.\n",
        "operationId": "OpaqueNetwork_getVm",
        "description": "Virtual machines using this network.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *VirtualMachine*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OptionManager/{moId}/QueryOptions": {
      "post": {
        "tags": [
          "OptionManager"
        ],
        "summary": "Returns a specific node or nodes in the option hierarchy.\n",
        "operationId": "OptionManager_QueryOptions",
        "description": "Returns a specific node or nodes in the option hierarchy.\n\nThis method might require any of the following privileges depending\non where the property fits in the inventory tree.\n- System.View on the root folder, if this is used to read settings\n  in the &quot;client&quot; subtree.\n- System.Read on the root folder, if this is used to read all settings\n  or any settings beside those in the &quot;client&quot; subtree.\n- System.Read on the host, if this is used to read the advanced\n  options for a host configuration.\n  \n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryOptionsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The option with the given name. If the name ends with a\ndot, all options for that subtree are returned.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OptionValue"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidName***: if no option or subtree exists with the\ngiven name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidName"
                }
              }
            }
          }
        }
      }
    },
    "/OptionManager/{moId}/UpdateOptions": {
      "post": {
        "tags": [
          "OptionManager"
        ],
        "summary": "Updates one or more options.\n",
        "operationId": "OptionManager_UpdateOptions",
        "description": "Updates one or more options.\n\nThe options are changed one by one, and the operation is not atomic.\nThis means that on failure some of the options may not be changed.\n\nA nested option setting can be named using a dot notation; for example,\nsystem.cacheSize.\n\nThis method might require any of the following privileges depending\non where the property fits in the inventory tree.\n- Global.Settings on the root folder, if this is used to modify the\n  settings in the service node.\n- Host.Config.AdvancedConfig on the host, if this is used to set the\n  advanced options in the host configuration.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOptionsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidName***: if one or more OptionValue objects refers to a\nnon-existent option.\n\n***InvalidArgument***: if one or more OptionValue contains an\ninvalid value.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidName"
                }
              }
            }
          }
        }
      }
    },
    "/OptionManager/{moId}/setting": {
      "get": {
        "tags": [
          "OptionManager"
        ],
        "summary": "A list of the current settings for the key/value pair options.\n",
        "operationId": "OptionManager_getSetting",
        "description": "A list of the current settings for the key/value pair options.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OptionValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OptionManager/{moId}/supportedOption": {
      "get": {
        "tags": [
          "OptionManager"
        ],
        "summary": "A list of supported key/value pair options including their\ntype information.\n",
        "operationId": "OptionManager_getSupportedOption",
        "description": "A list of supported key/value pair options including their\ntype information.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OptionDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OverheadMemoryManager/{moId}/LookupVmOverheadMemory": {
      "post": {
        "tags": [
          "OverheadMemoryManager"
        ],
        "summary": "Return static VM overhead memory value in bytes for a (vm, host) pair from\nthe overhead memory module (OMM) in Virtual Center.\n",
        "operationId": "OverheadMemoryManager_LookupVmOverheadMemory",
        "description": "Return static VM overhead memory value in bytes for a (vm, host) pair from\nthe overhead memory module (OMM) in Virtual Center.\n\n***Required privileges:*** Global.VCServer\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LookupVmOverheadMemoryRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Overhead memory value, if found in the OMM.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the overhead memory value is not found in the OMM.\n\n***InvalidType***: If the MoRefs do not point to appropriate type of\ninventory objects - VM and Host respectively.\n\n***InvalidArgument***: If any of the MoRefs are NULL.\n\n***ManagedObjectNotFound***: If the inventory objects cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/OvfManager/{moId}/CreateDescriptor": {
      "post": {
        "tags": [
          "OvfManager"
        ],
        "summary": "Create an OVF descriptor for the specified ManagedEntity, which may be a\n*VirtualMachine* or a *VirtualApp*.\n",
        "operationId": "OvfManager_CreateDescriptor",
        "description": "Create an OVF descriptor for the specified ManagedEntity, which may be a\n*VirtualMachine* or a *VirtualApp*.\n\nTo create the complete OVF descriptor, the client must already have downloaded the\nfiles that are part of the entity, because information about these files\n(compression, chunking, filename etc.) is part of the descriptor.\n\nHowever, these downloads can be quite time-consuming, so if the descriptor for some\nreason cannot be generated, the client will want to know this before downloading\nthe files.\n\nFor this reason, the client may do an initial \"dry run\" with the ovfFiles\nparameter unset. Default filenames will then be used in the descriptor, and the\nclient can examine any warnings and/or errors before downloading the files.\n\nAfter the final call to this method, client must release the lock on the entity\ngiven to it by *VirtualMachine.exportVm* or *VirtualApp.exportVApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDescriptorRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An instance of CreateDescriptorResult\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OvfCreateDescriptorResult"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if a required managed entity is busy.\n\n***VmConfigFault***: if a configuration issue prevents the operation from\nsucceeding. Typically, a more specific subclass is thrown.\n\n***ConcurrentAccess***: if a concurrency issue prevents the operation from\nsucceeding.\n\n***FileFault***: if there is a generic file error\n\n***InvalidState***: if the operation failed due to the current state of the system.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/OvfManager/{moId}/CreateImportSpec": {
      "post": {
        "tags": [
          "OvfManager"
        ],
        "summary": "Validate the OVF descriptor against the hardware supported by the\nhost system.\n",
        "operationId": "OvfManager_CreateImportSpec",
        "description": "Validate the OVF descriptor against the hardware supported by the\nhost system.\n\nIf the validation succeeds, return a result containing:\n- An *ImportSpec* to use when importing the entity.\n- A list of items to upload (for example disk backing files, ISO images etc.)\n  \n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateImportSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OvfCreateImportSpecResult"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if a required managed entity is busy.\n\n***VmConfigFault***: if a configuration issue prevents the operation from\nsucceeding. Typically, a more specific subclass is thrown.\n\n***ConcurrentAccess***: if a concurrency issue prevents the operation from\nsucceeding.\n\n***FileFault***: if there is a generic file error\n\n***InvalidState***: if the operation failed due to the current state of the system.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/OvfManager/{moId}/ParseDescriptor": {
      "post": {
        "tags": [
          "OvfManager"
        ],
        "summary": "Parse the OVF descriptor and return as much information about it as possible\nwithout knowing the host on which it will be imported.\n",
        "operationId": "OvfManager_ParseDescriptor",
        "description": "Parse the OVF descriptor and return as much information about it as possible\nwithout knowing the host on which it will be imported.\n\nTypically, this method is called once without a deploymentOption parameter to\nobtain the values for the default deployment option. Part of the result is the list\nof possible deployment options. To obtain the values for a particular deployment\noption, call this method again, specifying that option.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ParseDescriptorRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The information about the descriptor\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OvfParseDescriptorResult"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if a required managed entity is busy.\n\n***VmConfigFault***: if a configuration issue prevents the operation from\nsucceeding. Typically, a more specific subclass is thrown.\n\n***ConcurrentAccess***: if a concurrency issue prevents the operation from\nsucceeding.\n\n***FileFault***: if there is a generic file error\n\n***InvalidState***: if the operation failed due to the current state of the system.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/OvfManager/{moId}/ValidateHost": {
      "post": {
        "tags": [
          "OvfManager"
        ],
        "summary": "Validate that the given OVF can be imported on the host.\n",
        "operationId": "OvfManager_ValidateHost",
        "description": "Validate that the given OVF can be imported on the host.\n\nMore specifically, this means whether or not the host supports the virtual hardware\nrequired by the OVF descriptor.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A ValidateResult instance containing any warnings and/or errors from the\nvalidation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OvfValidateHostResult"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if a required managed entity is busy.\n\n***ConcurrentAccess***: if a concurrency issue prevents the operation from\nsucceeding.\n\n***FileFault***: if there is a generic file error\n\n***InvalidState***: if the operation failed due to the current state of the system.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/OvfManager/{moId}/ovfExportOption": {
      "get": {
        "tags": [
          "OvfManager"
        ],
        "summary": "Returns an array of *OvfOptionInfo* object that specifies what options the server\nsupport for exporting an OVF descriptor.\n",
        "operationId": "OvfManager_getOvfExportOption",
        "description": "Returns an array of *OvfOptionInfo* object that specifies what options the server\nsupport for exporting an OVF descriptor.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "An instance of *OvfOptionInfo*\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OvfOptionInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/OvfManager/{moId}/ovfImportOption": {
      "get": {
        "tags": [
          "OvfManager"
        ],
        "summary": "Returns an array of *OvfOptionInfo* object that specifies what options the server\nsupport for modifing/relaxing the OVF import process.\n",
        "operationId": "OvfManager_getOvfImportOption",
        "description": "Returns an array of *OvfOptionInfo* object that specifies what options the server\nsupport for modifing/relaxing the OVF import process.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "An instance of *OvfOptionInfo*\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OvfOptionInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/PerformanceManager/{moId}/CreatePerfInterval": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Adds a new historical interval.\n",
        "operationId": "PerformanceManager_CreatePerfInterval",
        "deprecated": true,
        "description": "Deprecated as of API 2.5, use *PerformanceManager.UpdatePerfInterval*. The\ndefault historical intervals can be modified, but they cannot be created.\n\nAdds a new historical interval.\n\nSampling period for new interval must be\na multiple of an existing interval; must comprise a longer period of\ntime; and must be uniquely named.\n\n***Required privileges:*** Performance.ModifyIntervals\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePerfIntervalRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/PerformanceManager/{moId}/QueryAvailablePerfMetric": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Retrieves all performance counters for the specified *managed object* generated during a specified\nperiod of time.\n",
        "operationId": "PerformanceManager_QueryAvailablePerfMetric",
        "description": "Retrieves all performance counters for the specified *managed object* generated during a specified\nperiod of time.\n\nThe time period can be specified using beginTime,\nendTime, or by interval ID.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryAvailablePerfMetricRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of metrics, each of which comprises a\n*PerfMetricId.counterId* and an\n*name*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PerfMetricId"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/PerformanceManager/{moId}/QueryPerfComposite": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Retrieves a *PerfCompositeMetric* data object\nthat comprises statistics for the specified entity and its children\nentities.\n",
        "operationId": "PerformanceManager_QueryPerfComposite",
        "description": "Retrieves a *PerfCompositeMetric* data object\nthat comprises statistics for the specified entity and its children\nentities.\n\nOnly metrics for the first level of descendents are included in\nthe *PerfCompositeMetric* object.\n\nUse this operation to obtain statistics for a *host* and its associated *virtual machines*, for\nexample.\n\nRequires **system.read** privilege for every virtual machine on\nthe target host, or the query fails with the &#147;NoPermission&#148;\nfault. Suported for *HostSystem* managed entities only.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPerfCompositeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The metric values for the specified entity and its associated\nentities for a single interval.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PerfCompositeMetric"
                }
              }
            }
          }
        }
      }
    },
    "/PerformanceManager/{moId}/QueryPerfCounter": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Retrieves counter information for the specified list of counter IDs.\n",
        "operationId": "PerformanceManager_QueryPerfCounter",
        "description": "Retrieves counter information for the specified list of counter IDs.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPerfCounterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array consisting of performance counter information for the\nspecified counterIds.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PerfCounterInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/PerformanceManager/{moId}/QueryPerfCounterByLevel": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Retrieves the set of counters that are available at a specified\ncollection *PerfInterval.level*.\n",
        "operationId": "PerformanceManager_QueryPerfCounterByLevel",
        "description": "Retrieves the set of counters that are available at a specified\ncollection *PerfInterval.level*.\n\nThe collection level\ndetermines the statistics that get stored in VirtualCenter. See *PerfInterval* for more information about VirtualCenter Server\nhistorical statistics collection.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPerfCounterByLevelRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of *PerfCounterInfo* objects that\ndefine the set of counters having the specified level number available\nfor the entity.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PerfCounterInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/PerformanceManager/{moId}/QueryPerfProviderSummary": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Retrieves the *PerfProviderSummary* data object that\ndefines the capabilities of the specified managed object with respect to\nstatistics, such as whether it supports current or summary\nstatistics&#46;\n",
        "operationId": "PerformanceManager_QueryPerfProviderSummary",
        "description": "Retrieves the *PerfProviderSummary* data object that\ndefines the capabilities of the specified managed object with respect to\nstatistics, such as whether it supports current or summary\nstatistics&#46;\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPerfProviderSummaryRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A data object containing metadata about the entity as a\nperformance provider, such as the type of metrics (real-time, summary, or\nboth) it generates and the *PerfProviderSummary.refreshRate*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PerfProviderSummary"
                }
              }
            }
          }
        }
      }
    },
    "/PerformanceManager/{moId}/QueryPerf": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Retrieves the performance metrics for the specified entity (or entities)\nbased on the properties specified in the *PerfQuerySpec* data object.\n",
        "operationId": "PerformanceManager_QueryPerf",
        "description": "Retrieves the performance metrics for the specified entity (or entities)\nbased on the properties specified in the *PerfQuerySpec* data object.\n\n**Query Performance for VirtualCenter Server**  \n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPerfRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The metric values for the specified entity or entities.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PerfEntityMetricBase"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/PerformanceManager/{moId}/RemovePerfInterval": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Removes an interval from the list.\n",
        "operationId": "PerformanceManager_RemovePerfInterval",
        "deprecated": true,
        "description": "Deprecated as of API 2.5, use *PerformanceManager.UpdatePerfInterval*.\nHistorical intervals cannot be removed.\n\nRemoves an interval from the list.\n\n***Required privileges:*** Performance.ModifyIntervals\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemovePerfIntervalRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/PerformanceManager/{moId}/ResetCounterLevelMapping": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Restores a set of performance counters to the default level of data\ncollection.\n",
        "operationId": "PerformanceManager_ResetCounterLevelMapping",
        "description": "Restores a set of performance counters to the default level of data\ncollection.\n\nSee the <a href=\"#counterTables\">performance counter\ntables</a> for the default collection level for individual counters.\n\n***Required privileges:*** Performance.ModifyIntervals\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetCounterLevelMappingRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/PerformanceManager/{moId}/UpdateCounterLevelMapping": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Changes the level of data collection for a set of performance counters.\n",
        "operationId": "PerformanceManager_UpdateCounterLevelMapping",
        "description": "Changes the level of data collection for a set of performance counters.\n\nSee the <a href=\"#counterTables\">performance counter tables</a>\nfor the default collection level for individual counters.\n\n**Important:**\n\nConsider the performance and storage consequences of using this\nmethod. You may cause a significant increase in data collection and\nstorage, along with a corresponding decrease in performance. vCenter\nServer performance and database storage requirements depend on the\ncollection levels defined for the performance intervals\n(PerformanceManager.*PerformanceManager.historicalInterval*)\nand the collection levels specified for individual performance counters\n(*PerfCounterInfo*.*PerfCounterInfo.level*).\n\n<u>Performance Counter Data Collection</u>\n\nvSphere defines four levels of data collection for performance\ncounters. Each performance counter specifies a level for collection. The\nhistorical performance intervals (PerformanceManager.*PerformanceManager.historicalInterval*) define the sampling period\nand length for a particular collection level.\n\nThe amount of data collected for a performance counter depends\non the performance interval and on the type of entity for which\nthe counter is defined. For example, a datastore counter such as\ndatastoreIops (the aggregate number of IO operations on the datastore)\nwill generate a data set that corresponds to the number of datastores\non a host. If a vCenter Server manages a large number of hosts\nwith a large number of datastores, the Server will collect\na large amount of data.\n\nThere are other counters for which the vCenter Server collects\na relatively smaller amount of data. For example, memory counters\nare collected as a single counter per virtual machine and a single\ncounter per host.\n\n<u>Performance Counter Data Storage</u>\n\nThe performance interval collection *PerfCounterInfo.level* defines the set of counters for\nwhich the vCenter Server stores performance data. The Server will store\ndata for counters at the specified level and for counters at all lower\nlevels.\n\nBy default, all the performance intervals specify collection level\none. Using these defaults, the vCenter Server stores performance counter\ndata in the vCenter database for all counters that specify collection\nlevel one. It does not store data for counters that specify collection\nlevels two through four.\n\n<u>Performance Manager Method Interaction</u>\n\nYou can use the UpdateCounterLevelMapping method to change the\ncollection level for individual counters. You can also use the *PerformanceManager.UpdatePerfInterval* method to change the\ncollection level for the system-defined performance intervals. These\nmethods can cause a significant increase in the amount of data collected\nand stored in the vCenter database.\n\nYou may cause a significant increase in data collection and storage\nalong with a corresponding decrease in performance under the following\nconditions:\n- By default the system-defined performance intervals use collection\n  level one, storing data for all counters that specify collection\n  level one. If you use the UpdateCounterLevelMapping method to change\n  the collection level of performance counters to level one, you will\n  increase the amount of stored performance data.\n- If you use the *PerformanceManager.UpdatePerfInterval* method to increase\n  the collection level for the system-defined performance intervals,\n  you will increase the amount of stored performance data. \n  \nTo restore counter levels to default settings use the *PerformanceManager.ResetCounterLevelMapping* method.\n\n***Required privileges:*** Performance.ModifyIntervals\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCounterLevelMappingRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/PerformanceManager/{moId}/UpdatePerfInterval": {
      "post": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "Modifies VirtualCenter Server's built-in *historical intervals*, within certain limits.\n",
        "operationId": "PerformanceManager_UpdatePerfInterval",
        "description": "Modifies VirtualCenter Server's built-in *historical intervals*, within certain limits.\n\n**Supported Modifications**\n<table border=\"1\"width=\"100%\">\n<tr>\n<th>key</th>\n<th>samplingPeriod</th>\n<th>length</th>\n<th>name</th>\n<th>level \\[1\\]</th>\n<th>enabled \\[2\\]</th>\n</tr>\n<tr>\n<td>1</td>\n<td>300 \\[3\\]</td>\n<td>86400 \\[4\\]</td>\n<td>Past&nbsp;day</td>\n<td>1</td>\n<td>true</td>\n</tr>\n<tr>\n<td>2</td>\n<td>1800</td>\n<td>604800</td>\n<td>Past&nbsp;week</td>\n<td>1</td>\n<td>true</td>\n</tr>\n<tr>\n<td>3</td>\n<td>7200</td>\n<td>2592000</td>\n<td>Past&nbsp;month</td>\n<td>1</td>\n<td>true</td>\n</tr>\n<tr>\n<td>4</td>\n<td>86400</td>\n<td>31536000 \\[5\\]</td>\n<td>Past&nbsp;year</td>\n<td>1</td>\n<td>true</td>\n</tr>\n</table>\n\n**\\[1\\]**&nbsp; The collection level for the *historical intervals* can be changed. However,\nthe level specified for a lower-numbered interval cannot be smaller\nthan that of a larger interval.  \n**\\[2\\]**&nbsp; An interval can be disabled. By default, all four\nintervals are enabled. Disabling an interval disables all higher\nintervals. For example, disabling interval 3 (&#147;Past month&#148;)\nalso disables interval 4 (&#147;Past year&#148;).  \n**\\[3\\]**&nbsp; Can reduce this interval&#146;s *PerfInterval.samplingPeriod* from 5 minutes to 1, 2, or 3\nminutes.  \n**\\[4\\]**&nbsp; Can increase this interval&#146;s *PerfInterval.length* from 1 day to 2 or 3 days.  \n**\\[5\\]**&nbsp; Can increase interval&#146;s *PerfInterval.length* from 1 year to 2 or 3 years.  \n\nSee *PerfInterval* for information about the four default\nintervals for VirtualCenter Server.\n\n***Required privileges:*** Performance.ModifyIntervals\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePerfIntervalRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/PerformanceManager/{moId}/description": {
      "get": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "The static description strings.\n",
        "operationId": "PerformanceManager_getDescription",
        "description": "The static description strings.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PerformanceDescription"
                }
              }
            }
          }
        }
      }
    },
    "/PerformanceManager/{moId}/historicalInterval": {
      "get": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "A list of *intervals* configured on the\nsystem.\n",
        "operationId": "PerformanceManager_getHistoricalInterval",
        "description": "A list of *intervals* configured on the\nsystem.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PerfInterval"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/PerformanceManager/{moId}/perfCounter": {
      "get": {
        "tags": [
          "PerformanceManager"
        ],
        "summary": "A list of all supported performance counters in the system.\n",
        "operationId": "PerformanceManager_getPerfCounter",
        "description": "A list of all supported performance counters in the system.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PerfCounterInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/AssociateProfile": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Associate a profile with a managed entity.\n",
        "operationId": "Profile_AssociateProfile",
        "description": "Associate a profile with a managed entity.\n\nYou can check the compliance of\nentities associated with a profile by calling the\n*Profile.CheckProfileCompliance_Task* method.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssociateProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Profile/{moId}/CheckProfileCompliance_Task": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Check compliance of an entity against a Profile.\n",
        "operationId": "Profile_CheckProfileCompliance_Task",
        "description": "Check compliance of an entity against a Profile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckProfileComplianceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/DestroyProfile": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Destroy the profile.\n",
        "operationId": "Profile_DestroyProfile",
        "description": "Destroy the profile.\n\n***Required privileges:*** Profile.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Profile/{moId}/DissociateProfile": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Remove the association between a profile and a managed entity.\n",
        "operationId": "Profile_DissociateProfile",
        "description": "Remove the association between a profile and a managed entity.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DissociateProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Profile/{moId}/ExportProfile": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Export the profile in a serialized form.\n",
        "operationId": "Profile_ExportProfile",
        "description": "Export the profile in a serialized form.\n\nTo use the serialized string to create a profile,\nspecify a *ProfileSerializedCreateSpec* when you call the\n*HostProfileManager*.*ProfileManager.CreateProfile*\nmethod.\n\n***Required privileges:*** Profile.Export\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Serialized form of the profile.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/RetrieveDescription": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Returns the localizable description for the profile.\n",
        "operationId": "Profile_RetrieveDescription",
        "description": "Returns the localizable description for the profile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Profile divided into sections containing element descriptions and messages.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ProfileDescription"
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/complianceStatus": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Overall compliance of entities associated with this profile.\n",
        "operationId": "Profile_getComplianceStatus",
        "description": "Overall compliance of entities associated with this profile.\n\nIf one of the entities is out of compliance, the profile is <code>nonCompliant</code>.\nIf all entities are in compliance, the profile is <code>compliant</code>.\nIf the compliance status of one of the entities is not known, compliance status\nof the profile is <code>unknown</code>.\nSee *ComplianceResultStatus_enum*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/config": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Configuration data for the profile.\n",
        "operationId": "Profile_getConfig",
        "description": "Configuration data for the profile.\n\n***Required privileges:*** Profile.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/createdTime": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Time at which the profile was created.\n",
        "operationId": "Profile_getCreatedTime",
        "description": "Time at which the profile was created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/description": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Localizable description of the profile\n",
        "operationId": "Profile_getDescription",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0. use *Profile.RetrieveDescription* instead.\n\nLocalizable description of the profile\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ProfileDescription"
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/entity": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "List of managed entities associated with the profile.\n",
        "operationId": "Profile_getEntity",
        "description": "List of managed entities associated with the profile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/modifiedTime": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Time at which the profile was last modified.\n",
        "operationId": "Profile_getModifiedTime",
        "description": "Time at which the profile was last modified.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/Profile/{moId}/name": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Name of the profile.\n",
        "operationId": "Profile_getName",
        "description": "Name of the profile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ProfileComplianceManager/{moId}/CheckCompliance_Task": {
      "post": {
        "tags": [
          "ProfileComplianceManager"
        ],
        "summary": "Check compliance of an entity against a Profile.\n",
        "operationId": "ProfileComplianceManager_CheckCompliance_Task",
        "description": "Check compliance of an entity against a Profile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckComplianceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ProfileComplianceManager/{moId}/ClearComplianceStatus": {
      "post": {
        "tags": [
          "ProfileComplianceManager"
        ],
        "summary": "Clear the saved ComplianceResult based on profile and entity filtering criteria.\n",
        "operationId": "ProfileComplianceManager_ClearComplianceStatus",
        "description": "Clear the saved ComplianceResult based on profile and entity filtering criteria.\n\n***Required privileges:*** Profile.Clear\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClearComplianceStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ProfileComplianceManager/{moId}/QueryComplianceStatus": {
      "post": {
        "tags": [
          "ProfileComplianceManager"
        ],
        "summary": "Query the compliance status based on Profile and Entity filter.\n",
        "operationId": "ProfileComplianceManager_QueryComplianceStatus",
        "description": "Query the compliance status based on Profile and Entity filter.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryComplianceStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ComplianceResult. ComplianceResult information may not be\navailable for all the entities. If the ComplianceResult is not available already,\na new ComplianceCheck will not be triggered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ComplianceResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ProfileComplianceManager/{moId}/QueryExpressionMetadata": {
      "post": {
        "tags": [
          "ProfileComplianceManager"
        ],
        "summary": "Query the metadata for the expressions.\n",
        "operationId": "ProfileComplianceManager_QueryExpressionMetadata",
        "description": "Query the metadata for the expressions.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryExpressionMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProfileExpressionMetadata"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ProfileManager/{moId}/CreateProfile": {
      "post": {
        "tags": [
          "ProfileManager"
        ],
        "summary": "Create a profile from the specified CreateSpec.\n",
        "operationId": "ProfileManager_CreateProfile",
        "description": "Create a profile from the specified CreateSpec.\n\n***Required privileges:*** Profile.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Profile created from the specified createSpec.\n\nRefers instance of *Profile*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If a profile with the specified name already\nexists.\n\n***InvalidProfileReferenceHost***: if the specified reference host is\nincompatible or no reference host has been specified.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DuplicateName"
                }
              }
            }
          }
        }
      }
    },
    "/ProfileManager/{moId}/FindAssociatedProfile": {
      "post": {
        "tags": [
          "ProfileManager"
        ],
        "summary": "Get the profile(s) to which this entity is associated.\n",
        "operationId": "ProfileManager_FindAssociatedProfile",
        "description": "Get the profile(s) to which this entity is associated.\n\nThe list of profiles will only include profiles known to this\nprofileManager.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindAssociatedProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instances of *Profile*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ProfileManager/{moId}/QueryPolicyMetadata": {
      "post": {
        "tags": [
          "ProfileManager"
        ],
        "summary": "Get the Metadata information for the policyNames.\n",
        "operationId": "ProfileManager_QueryPolicyMetadata",
        "description": "Get the Metadata information for the policyNames.\n\nPolicyNames are available with the defaultProfile obtained by invoking the\nmethod createDefaultProfile.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPolicyMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The metadata information for the policy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProfilePolicyMetadata"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ProfileManager/{moId}/profile": {
      "get": {
        "tags": [
          "ProfileManager"
        ],
        "summary": "A list of profiles known to this ProfileManager.\n",
        "operationId": "ProfileManager_getProfile",
        "description": "A list of profiles known to this ProfileManager.\n\n***Required privileges:*** Profile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Profile*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/CancelRetrievePropertiesEx": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Discards remaining results from a retrieval started by *PropertyCollector.RetrievePropertiesEx* on the same session on the same *PropertyCollector*.\n",
        "operationId": "PropertyCollector_CancelRetrievePropertiesEx",
        "description": "Discards remaining results from a retrieval started by *PropertyCollector.RetrievePropertiesEx* on the same session on the same *PropertyCollector*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelRetrievePropertiesExRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: If the token does not match the token from the\nprevious *RetrieveResult* returned on the same\nsession by the same *PropertyCollector*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidProperty"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/CancelWaitForUpdates": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Attempts to cancel outstanding calls to *PropertyCollector.WaitForUpdates* or *PropertyCollector.WaitForUpdatesEx* in the current session.\n",
        "operationId": "PropertyCollector_CancelWaitForUpdates",
        "description": "Attempts to cancel outstanding calls to *PropertyCollector.WaitForUpdates* or *PropertyCollector.WaitForUpdatesEx* in the current session.\n\nIf an update calculation is\nin process this method has no effect. If an update calculation is not in\nprocess any waiting calls complete quickly and report a *RequestCanceled* fault.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/PropertyCollector/{moId}/CheckForUpdates": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Checks for updates on properties specified by the union of all current\nfilters.\n",
        "operationId": "PropertyCollector_CheckForUpdates",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.1, use\n*PropertyCollector.WaitForUpdatesEx* with a\n*WaitOptions.maxWaitSeconds* of 0.\n\nChecks for updates on properties specified by the union of all current\nfilters.\n\nIf no updates are pending, this method returns null.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckForUpdatesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Changes since the passed in data version. If no updates are\npending, then this method returns null.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/UpdateSet"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidCollectorVersion***: if the data version does not meet the\nrequirements above.\n\n***RequestCanceled***: if *PropertyCollector.CancelWaitForUpdates* has been called or the session was closed\nor the *PropertyCollector* was destroyed at some point after the call was\nreceived but before the update calculation was actually started\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidCollectorVersion"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/ContinueRetrievePropertiesEx": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Retrieves additional results from a retrieval started by *PropertyCollector.RetrievePropertiesEx* on the same session on the same *PropertyCollector*.\n",
        "operationId": "PropertyCollector_ContinueRetrievePropertiesEx",
        "description": "Retrieves additional results from a retrieval started by *PropertyCollector.RetrievePropertiesEx* on the same session on the same *PropertyCollector*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContinueRetrievePropertiesExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "retrieved objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveResult"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If the token does not match the token from the\nprevious *RetrieveResult* returned on the same\nsession by the same *PropertyCollector*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidProperty"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/CreateFilter": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Creates a new filter for the given set of managed objects.\n",
        "operationId": "PropertyCollector_CreateFilter",
        "description": "Creates a new filter for the given set of managed objects.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFilterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A reference to the new filter.\n\nRefers instance of *PropertyFilter*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if any of the following is true:\n- \"spec\" is empty.\n- \"spec\" contains a selection with properties not defined on its\n  type.\n  \n***InvalidProperty***: if \"spec\" has a property that is not defined on one of the objects.\n\n***InvalidType***: if \"spec\" contains, directly or indirectly, a type name that\ndoes not refer to a known type.\n\n***ManagedObjectNotFound***: See *PropertyFilterSpec.reportMissingObjectsInResults*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidProperty"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/CreatePropertyCollector": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Creates a new session-specific *PropertyCollector* that can\nbe used to retrieve property updates independent of any other\n*PropertyCollector*.\n",
        "operationId": "PropertyCollector_CreatePropertyCollector",
        "description": "Creates a new session-specific *PropertyCollector* that can\nbe used to retrieve property updates independent of any other\n*PropertyCollector*.\n\nThe newly created *PropertyCollector*\nis not tied to the creating *PropertyCollector* in any way and\nexists until it is destroyed\nby a call to *PropertyCollector.DestroyPropertyCollector* or until the session\non which the PropertyCollector was created is closed. This is in contrast\nto the default *PropertyCollector*, which always exists, but still has\nsession-specific data such as filters and unfinished update calculations\nthat are discarded when the associated session is closed.\n\nA new *PropertyCollector* can be useful when multiple modules or even\nmultiple clients that share the\nsame session need to create their own *PropertyFilter*\nobjects and process updates independently. They may also be useful\nto allow important updates to be seen on one *PropertyCollector* while\na large update is being calculated on another. The underlying\nissue that this addresses is that any call to *PropertyCollector.WaitForUpdates*,\n*PropertyCollector.CheckForUpdates*, or *PropertyCollector.WaitForUpdatesEx* does updates on all the\nfilters created on a given *PropertyCollector* on a given session.\n\nA more subtle use of multiple *PropertyCollector* objects is implied\nby the fact that the returned version value for the various updates\ncalculations is strongly ordered. The only way this can make sense is that\ntwo different versions calculated on the same *PropertyCollector* on\nthe same session cannot ever be created in parallel. This means that multiple\ncalls to *PropertyCollector.WaitForUpdates*, *PropertyCollector.CheckForUpdates*, or\n*PropertyCollector.WaitForUpdatesEx* made to the same *PropertyCollector* on the\nsame session on different threads of the same client, or even on different\nclients that share the same session are still handled on the server serially.\nUse of different *PropertyCollector* instances allows the server to\nhandle these calculations in parallel.\n\nTypically a service that supports the *PropertyCollector* managed\nobject type will automatically create a default *PropertyCollector*\nand provide some way to obtain a reference to this\n*PropertyCollector*. If not, it will have to provide some\nservice-specific way to create the a *PropertyCollector*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "A reference to the new *PropertyCollector*.\n\nRefers instance of *PropertyCollector*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/DestroyPropertyCollector": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Destroys this *PropertyCollector*.\n",
        "operationId": "PropertyCollector_DestroyPropertyCollector",
        "description": "Destroys this *PropertyCollector*.\n\nA *PropertyCollector* that was created by\n*PropertyCollector.CreatePropertyCollector* is automatically destroyed when the\nsession on which it was created is closed. This method can be used to\ndestroy them explicitly.\n\nAn automatically created *PropertyCollector* provided by a service\nis not session specific and may not be destroyed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/PropertyCollector/{moId}/RetrieveProperties": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Retrieves the specified properties of the specified managed objects.\n",
        "operationId": "PropertyCollector_RetrieveProperties",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.1, use *PropertyCollector.RetrievePropertiesEx*.\n\nRetrieves the specified properties of the specified managed objects.\n\nThis method is similar to creating the filters, receiving the\nproperty values, and destroying the filters. The main difference is that\nthe output blends the results from all the filters and reports a given\nmanaged object at most once no matter how many filters apply.\n\nThe method isn't requiring any privilege, because it's used to\naccess properties that are publicly available, without authenticated\nsession. That isn't sequrity isse, because the property collector is\ndoing another explicit access evaluation and it's returning data only\nfrom objects to which the user has access.\n\nThe filter creation step can throw all of the same faults as *PropertyCollector.CreateFilter*.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrievePropertiesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The data contents of the specified objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ObjectContent"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: See *PropertyCollector.CreateFilter*\n\n***InvalidProperty***: See *PropertyCollector.CreateFilter*\n\n***InvalidType***: See *PropertyCollector.CreateFilter*\n\n***ManagedObjectNotFound***: See *PropertyCollector.CreateFilter*\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidProperty"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/RetrievePropertiesEx": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Retrieves the specified properties of the specified managed objects.\n",
        "operationId": "PropertyCollector_RetrievePropertiesEx",
        "description": "Retrieves the specified properties of the specified managed objects.\n\nThis method is similar to creating the filters, receiving the\nproperty values, and destroying the filters. The main difference is that\nthe output blends the results from all the filters and reports a given\nmanaged object at most once no matter how many filters apply.\n\nThe method isn't requiring any privilege, because it's used to\naccess properties that are publicly available, without authenticated\nsession. That isn't sequrity isse, because the property collector is\ndoing another explicit access evaluation and it's returning data only\nfrom objects to which the user has access.\n\nThe filter creation step can throw all of the same faults as *PropertyCollector.CreateFilter*.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrievePropertiesExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "retrieved objects or null if there are no matching objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/RetrieveResult"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if any of the following is true:\nSee *PropertyCollector.CreateFilter*\n\n***InvalidProperty***: See *PropertyCollector.CreateFilter*\n\n***InvalidType***: See *PropertyCollector.CreateFilter*\n\n***ManagedObjectNotFound***: See *PropertyCollector.CreateFilter*\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidProperty"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/WaitForUpdates": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Calculate the set of updates for each existing filter in the session,\nreturning when at least one filter has updates.\n",
        "operationId": "PropertyCollector_WaitForUpdates",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.1, use *PropertyCollector.WaitForUpdatesEx*.\n\nCalculate the set of updates for each existing filter in the session,\nreturning when at least one filter has updates.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WaitForUpdatesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Changes since the passed in data version.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSet"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidCollectorVersion***: if the data version does not meet the\nrequirements above.\n\n***RequestCanceled***: if *PropertyCollector.CancelWaitForUpdates* has been called or the session was closed\nor the *PropertyCollector* was destroyed at some point after the call was\nreceived\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidCollectorVersion"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/WaitForUpdatesEx": {
      "post": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "Calculate the set of updates for each existing filter in the session.\n",
        "operationId": "PropertyCollector_WaitForUpdatesEx",
        "description": "Calculate the set of updates for each existing filter in the session.\n\n*PropertyCollector.WaitForUpdatesEx* may return only partial update\ncalculations. See *UpdateSet.truncated* for a\nmore detailed explanation. *PropertyCollector.WaitForUpdatesEx* may also return null\nafter a timeout, either as requested by *WaitOptions.maxWaitSeconds* or due to *PropertyCollector*\npolicy.\n\nIf an application uses waitForUpdatesEx it is strongly recommended\nthat it not make concurrent calls to *PropertyCollector.WaitForUpdates*, *PropertyCollector.CheckForUpdates*, or *PropertyCollector.WaitForUpdatesEx* in the same\nsession. Concurrent calls may cause suspended change calculations to be\ndiscarded.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WaitForUpdatesExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Changes since the passed in version or null if there are no\nchanges.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/UpdateSet"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidCollectorVersion***: if the data version does not meet the\nrequirements above.\n\n***RequestCanceled***: if *PropertyCollector.CancelWaitForUpdates* has been called or the session was closed\nor the *PropertyCollector* was destroyed at some point after the call was\nreceived\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidCollectorVersion"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyCollector/{moId}/filter": {
      "get": {
        "tags": [
          "PropertyCollector"
        ],
        "summary": "The filters that this *PropertyCollector* uses to determine the list of\nproperties for which it detects incremental changes.\n",
        "operationId": "PropertyCollector_getFilter",
        "description": "The filters that this *PropertyCollector* uses to determine the list of\nproperties for which it detects incremental changes.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *PropertyFilter*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/PropertyFilter/{moId}/DestroyPropertyFilter": {
      "post": {
        "tags": [
          "PropertyFilter"
        ],
        "summary": "Destroys this filter.\n",
        "operationId": "PropertyFilter_DestroyPropertyFilter",
        "description": "Destroys this filter.\n\nThis operation can be called explicitly, or it can take place\nimplicitly when the session that created the filter is closed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/PropertyFilter/{moId}/partialUpdates": {
      "get": {
        "tags": [
          "PropertyFilter"
        ],
        "summary": "Flag to indicate if a change to a nested property reports only the\nnested change or the entire specified property value.\n",
        "operationId": "PropertyFilter_getPartialUpdates",
        "description": "Flag to indicate if a change to a nested property reports only the\nnested change or the entire specified property value.\n\nIf the value is\ntrue, a change reports only the nested property. If the value is\nfalse, a change reports the enclosing property named in the filter.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/PropertyFilter/{moId}/spec": {
      "get": {
        "tags": [
          "PropertyFilter"
        ],
        "summary": "Specifications for this filter.\n",
        "operationId": "PropertyFilter_getSpec",
        "description": "Specifications for this filter.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropertyFilterSpec"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePlanningManager/{moId}/EstimateDatabaseSize": {
      "post": {
        "tags": [
          "ResourcePlanningManager"
        ],
        "summary": "Estimates the database size required to store VirtualCenter data.\n",
        "operationId": "ResourcePlanningManager_EstimateDatabaseSize",
        "description": "Estimates the database size required to store VirtualCenter data.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EstimateDatabaseSizeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "*DatabaseSizeEstimate*\nReturns the size required in MB of the database and the number of database\nrows.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatabaseSizeEstimate"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/CreateResourcePool": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Creates a new resource pool.\n",
        "operationId": "ResourcePool_CreateResourcePool",
        "description": "Creates a new resource pool.\n\n***Required privileges:*** Resource.CreatePool\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A reference to the new resource pool.\n\nRefers instance of *ResourcePool*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the ComputeResource does not support\nnested resource pools.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***DuplicateName***: if this pool already contains an object\nwith the given name.\n\n***InvalidArgument***: if the pool specification is invalid.\n\n***InsufficientResourcesFault***: if the operation would violate a resource\nusage policy. Typically, a more specific subclass, such as\nInsufficientCpuResourcesFault will be thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/CreateVApp": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Creates a new vApp container.\n",
        "operationId": "ResourcePool_CreateVApp",
        "description": "Creates a new vApp container.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** VApp.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVAppRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created vApp object.\n\nRefers instance of *VirtualApp*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the ComputeResource does not support\nnested resource pools.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***DuplicateName***: if this pool already contains an object\nwith the given name.\n\n***InvalidArgument***: if the pool specification is invalid.\n\n***InsufficientResourcesFault***: if the operation would violate a resource\nusage policy. Typically, a more specific subclass, such as\nInsufficientCpuResourcesFault will be thrown.\n\n***InvalidState***: if the resource pool does not support the operation in\nits current state. This will typically be a subclass such\nas *NoActiveHostInCluster*.\n\n***VmConfigFault***: or a more specific subclass, if errors are found in\nthe supplied in VApp configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/CreateChildVM_Task": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Creates a new virtual machine in a vApp container.\n",
        "operationId": "ResourcePool_CreateChildVM_Task",
        "description": "Creates a new virtual machine in a vApp container.\n\nThis method supports creating a virtual machine directly in a vApp. A\nvirtual machine in a vApp is not associated with a VM folder and therefore\ncannot be created using the method on a *Folder*.\n\nThis method can only be called directly on a *vApp*\nor on a resource pool that is a child of a vApp.\n\nThe privilege VirtualMachine.Inventory.Create is required on this entity. Further,\nif this is a resource pool, the privilege Resource.AssignVMToPool is required. If\nthis is a vApp, the privilege VApp.AssignVM is required.\n\nDepending on the properties of the virtual machine bring created, additional\nprivileges may be required. See *Folder.CreateVM_Task* for a description of\nthese privileges.\n\n***Required privileges:*** VirtualMachine.Inventory.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateChildVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly created *VirtualMachine*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmConfigFault***: if the configSpec has incorrect values. Typically, a more\nspecific subclass is thrown.\n\n***OutOfBounds***: if Host.capability.maxSupportedVMs is exceeded.\n\n***FileAlreadyExists***: if the requested cfgPath for the virtual machine's\nconfiguration file already exists.\n\n***FileFault***: if there is a problem creating the virtual machine on disk.\nTypically, a more specific subclass, such as NoDiskSpace, will be thrown.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***VmWwnConflict***: if the WWN of the virtual machine has been used by\nother virtual machines.\n\n***NotSupported***: if this resource pool is not a vApp or is a child\nof a vApp.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "ResourcePool_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** Resource.DeletePool\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/DestroyChildren": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Removes all child resource pools recursively.\n",
        "operationId": "ResourcePool_DestroyChildren",
        "description": "Removes all child resource pools recursively.\n\nAll virtual machines and vApps\nassociated with the child resource pools get associated with this resource pool.\n\nNote that resource pools contained in child vApps are not affected.\n\nThe privilege checks performed are the following.\n- Resource.DeletePool privilege must be held on this object and each of it's\n  immediate children to be destroyed.\n- If VMs are being moved, the privilege Resource.AssignVMToPool must be held\n  on this resource pool as well as on any virtual machines being moved.\n- If vApps are being moved, the privilege Resource.AssignVAppToPool\n  must be held on this resource pool as well as on any vApps being\n  moved.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ResourcePool/{moId}/ImportVApp": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Creates a new entity in this resource pool.\n",
        "operationId": "ResourcePool_ImportVApp",
        "description": "Creates a new entity in this resource pool.\n\nThe import process consists of two\nsteps:\n1. Create the VMs and/or vApps that make up the entity.\n2. Upload virtual disk contents.\n   \nIn step 1, the client must wait for the server to create all inventory\nobjects. It does that by monitoring the *HttpNfcLease.state*\nproperty on the *HttpNfcLease* object returned from this call.\nWhen the server is done creating objects, the lease will change to the\nready state, and step 2 begins. If an error occurs while the server is\ncreating inventory objects, the lease will change to the error state, and\nthe import process is aborted.\n\nIn step 2, the client uploads disk contents using the URLs provided in the\n*HttpNfcLease.info* property of the lease. The client must call\n*HttpNfcLease.HttpNfcLeaseProgress* on the lease periodically to keep the\nlease alive and report progress to the server. Failure to do so will cause\nthe lease to time out, and the import process will be aborted.\n\nWhen the client is done uploading disks, it completes the lease by calling\n*HttpNfcLease.HttpNfcLeaseComplete*. The client can also abort the import\nprocess by calling *HttpNfcLease.HttpNfcLeaseAbort*.\n\nIf the import process fails, is aborted, or times out, all created inventory\nobjects are removed, including all virtual disks.\n\nThis operation only works if the folder's childType includes VirtualMachine.\n\nDepending on the properties of the virtual machine bring imported, additional\nprivileges may be required. See *Folder.CreateVM_Task* for a description of\nthese privileges.\n\n***Required privileges:*** VApp.Import\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportVAppRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "a *HttpNfcLease* object which is used to drive the import\nsession.\n\nRefers instance of *HttpNfcLease*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmConfigFault***: if a VM configSpec has incorrect values. Typically, a more\nspecific subclass is thrown.\n\n***OutOfBounds***: if Host.capability.maxSupportedVMs is exceeded.\n\n***FileAlreadyExists***: if the requested cfgPath for the virtual machine's\nconfiguration file already exists.\n\n***FileFault***: if there is a problem creating the virtual machine on disk.\nTypically, a more specific subclass, such as NoDiskSpace, will be thrown.\n\n***DuplicateName***: if another virtual machine in the same folder already has\nthe specified target name.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the virtual machine is being created within a folder\nwhose *Folder.childType* property is not set to \"VirtualMachine\",\na vApp is being imported into a resource pool that does not support\nnested resource pools, or a virtual machine is being imported into a resource\npool and no folder is given.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***VmWwnConflict***: if the WWN of the virtual machine has been used by\nother virtual machines.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/MoveIntoResourcePool": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Moves a set of resource pools, vApps or virtual machines into this pool.\n",
        "operationId": "ResourcePool_MoveIntoResourcePool",
        "description": "Moves a set of resource pools, vApps or virtual machines into this pool.\n\nThe\npools, vApps and virtual machines must be part of the cluster or standalone\nhost that contains this pool.\n\nFor each entity being moved, the move is subject to the following privilege\nchecks:\n- If the object being moved is a ResourcePool, then Resource.MovePool must be\n  held on the pool being moved and it's former parent pool or vApp. If the\n  target is a vApp, the privilege VApp.AssignResourcePool must be held on\n  it. If the target is a ResourcePool, Resource.MovePool must be held on it.\n- If the object being moved is a VirtualApp, VApp.Move must be held on\n  the vApp being moved and it's former parent pool or vApp. If the target\n  entity is a resource pool, Resource.AssignVAppToPool must be held on the\n  target. If the target is a vApp, the privilege VApp.AssignVApp must\n  be held on the target vApp.\n- If the object being moved is a VirtualMachine, then if the target is a\n  ResourcePool, Resource.AssignVMToPool is required on the VirtualMachine and the\n  target pool. If the target is a vApp, VApp.AssignVM is required on both\n  the VirtualMachine and the target pool.\n  \nThis operation is typically used by clients when they implement a drag-and-drop\ninterface to move a set of objects into a folder.\n\nThis operation is only transactional with respect to each individual entity.\nThe set of entities is moved sequentially, as specified in the list,\nand committed one at a time. If a failure is detected, then the method\nterminates with an exception.\n\nThe root resource pool cannot be moved.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveIntoResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DuplicateName***: if this pool already contains an object with\nthe given name.\n\n***InvalidArgument***: if an ancestor of this pool is in the list.\n\n***InsufficientResourcesFault***: if the move would violate the resource usage\npolicy. Typically, a more specific subclass, such as\nInsufficientMemoryResourcesFault.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/QueryResourceConfigOption": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Get a value range and default values for *ResourceConfigSpec*.\n",
        "operationId": "ResourcePool_QueryResourceConfigOption",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.5.\n\nGet a value range and default values for *ResourceConfigSpec*.\n\nThis API was never implemented, and there is no replacement for it.\n\n***Required privileges:*** Resource.EditPool\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "*ResourceConfigOption* object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConfigOption"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/RefreshRuntime": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Refreshes the resource usage data that is available in\n*ResourcePoolRuntimeInfo*.\n",
        "operationId": "ResourcePool_RefreshRuntime",
        "description": "Refreshes the resource usage data that is available in\n*ResourcePoolRuntimeInfo*.\n\nThe latest runtime resource usage of this resource pool may not be\navailable immediately after operations that alter resource usage,\nsuch as powering on a virtual machine. Invoke this method when resource\nusage may have recently changed, and the most up-to-date value in the\n*ResourcePoolRuntimeInfo* is needed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ResourcePool/{moId}/RegisterChildVM_Task": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Adds an existing virtual machine to this resource pool or vApp.\n",
        "operationId": "ResourcePool_RegisterChildVM_Task",
        "description": "Adds an existing virtual machine to this resource pool or vApp.\n\nThis operation only works for vApps or resource pools that are children of\nvApps. To register a VM in a folder, see *Folder.RegisterVM_Task*.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\nIn addition to the VirtualMachine.Inventory.Register privilege, it\nrequires System.Read privilege on the datastore that the existing virtual\nmachine resides on.\n\n***Required privileges:*** VirtualMachine.Inventory.Register\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterChildVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly registered *VirtualMachine*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the operation is not supported. For example, if the\noperation is invoked on a resource pool that is unrelated to a vApp.\n\n***OutOfBounds***: if the maximum number of VMs has been exceeded.\n\n***AlreadyExists***: if the virtual machine is already registered.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***NotFound***: if the configuration file is not found on the system.\n\n***InvalidName***: if the entity name is invalid.\n\n***InvalidArgument***: if any of the arguments are invalid and a more specific\nfault type does not apply.\n\n***VmConfigFault***: if the format / configuration of the virtual machine\nis invalid. Typically, a more specific fault is thrown such as\nInvalidFormat if the configuration file cannot be read, or\nInvalidDiskFormat if the disks cannot be read.\n\n***FileFault***: if there is an error accessing the files on disk.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/Reload": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "ResourcePool_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ResourcePool/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "ResourcePool_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** Resource.RenamePool\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "ResourcePool_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ResourcePool/{moId}/UpdateChildResourceConfiguration": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Changes resource configuration of a set of children of this resource pool.\n",
        "operationId": "ResourcePool_UpdateChildResourceConfiguration",
        "description": "Changes resource configuration of a set of children of this resource pool.\n\nThe\nmethod allows bulk modifications of the set of the direct children\n(virtual machines and resource pools).\n\nBulk modifications are not transactional. Each modification is made individually.\nIf a failure is encountered while applying the changes, then the processing stops,\nmeaning at least one and as many as all of the changes are not applied.\n\nA set can include a subset of the resources. Children that are not\nmentioned in the list are not changed.\n\nFor each ResourceConfigSpec, the following privilege checks apply:\n- If the ResourceConfigSpec refers to a child resource pool or a child\n  vApp, the privileges required are the same as would be required for\n  calling *ResourcePool.UpdateConfig* on that entity.\n- If the ResourceConfigSpec refers to a virtual machine,\n  VirtualMachine.Config.Resource must be held on the virtual machine.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateChildResourceConfigurationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if a managed entity that is not a child of this group\nis included.\n\n***InsufficientResourcesFault***: if the operation would violate a resource\nusage policy. Typically, a more specific subclass, such as\nInsufficientMemoryResourcesFault will be thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/UpdateConfig": {
      "post": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Updates the configuration of the resource pool.\n",
        "operationId": "ResourcePool_UpdateConfig",
        "description": "Updates the configuration of the resource pool.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\nThe privilege checks for this operation are as follows:\n- If this is a resource pool, the privilege Resource.EditPool is required on\n  this and on the parent pool or vApp.\n- If this is a vApp, the privilege VApp.ResourceConfig is required on\n  this and on the parent pool or vApp.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidName***: if the name is not a valid entity name.\n\n***DuplicateName***: if the name is changed to an already existing name.\n\n***InvalidArgument***: if the parameters are out of range,\nor if the reservationLimit field is set.\n\n***InsufficientResourcesFault***: if the pool specification cannot be\nsupported by the parent resource pool or vApp.\n\n***ConcurrentAccess***: if the changeVersion does not match the server's\nchangeVersion for the configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "ResourcePool_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/availableField": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "ResourcePool_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/childConfiguration": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "The resource configuration of all direct children (VirtualMachine and\nResourcePool) of this resource group.\n",
        "operationId": "ResourcePool_getChildConfiguration",
        "description": "The resource configuration of all direct children (VirtualMachine and\nResourcePool) of this resource group.\n\nProperty collector update notifications might not be generated for this\nproperty. To listen for the child configuration change, please create\nPropertyCollector filter on the child entities directly.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceConfigSpec"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/config": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Configuration of this resource pool.\n",
        "operationId": "ResourcePool_getConfig",
        "description": "Configuration of this resource pool.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConfigSpec"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/configIssue": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "ResourcePool_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/configStatus": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "ResourcePool_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/customValue": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Custom field values.\n",
        "operationId": "ResourcePool_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "ResourcePool_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "ResourcePool_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "ResourcePool_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/name": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "ResourcePool_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/namespace": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "The namespace with which the ResourcePool is associated.\n",
        "operationId": "ResourcePool_getNamespace",
        "description": "The namespace with which the ResourcePool is associated.\n\nNamespace is a\nvAPI resource which divides cluster resources and allows administrators\nto give Kubernetes environments to their development teams.\nThis property is set only at the time of creation and cannot change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/overallStatus": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "ResourcePool_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/owner": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "The ComputeResource to which this set of one or more nested resource pools\nbelong.\n",
        "operationId": "ResourcePool_getOwner",
        "description": "The ComputeResource to which this set of one or more nested resource pools\nbelong.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ComputeResource*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/parent": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "ResourcePool_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/permission": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "ResourcePool_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/recentTask": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "ResourcePool_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/resourcePool": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "The set of child resource pools.\n",
        "operationId": "ResourcePool_getResourcePool",
        "description": "The set of child resource pools.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *ResourcePool*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/runtime": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Runtime information about a resource pool.\n",
        "operationId": "ResourcePool_getRuntime",
        "description": "Runtime information about a resource pool.\n\nThe *ResourcePoolResourceUsage* information within\n*ResourcePoolRuntimeInfo* can be transiently stale.\nUse *ResourcePool.RefreshRuntime* method to\nupdate the information.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePoolRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/summary": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "Basic information about a resource pool.\n",
        "operationId": "ResourcePool_getSummary",
        "description": "Basic information about a resource pool.\n\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePoolSummary"
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/tag": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "ResourcePool_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "ResourcePool_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/value": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "ResourcePool_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ResourcePool/{moId}/vm": {
      "get": {
        "tags": [
          "ResourcePool"
        ],
        "summary": "The set of virtual machines associated with this resource pool.\n",
        "operationId": "ResourcePool_getVm",
        "description": "The set of virtual machines associated with this resource pool.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *VirtualMachine*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTask/{moId}/ReconfigureScheduledTask": {
      "post": {
        "tags": [
          "ScheduledTask"
        ],
        "summary": "Reconfigures the scheduled task properties.\n",
        "operationId": "ScheduledTask_ReconfigureScheduledTask",
        "description": "Reconfigures the scheduled task properties.\n\n***Required privileges:*** ScheduledTask.Edit\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureScheduledTaskRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the scheduled task is running.\n\n***InvalidName***: if the scheduled task name is empty or too long.\n\n***DuplicateName***: if a scheduled task with the name already exists.\n\n***InvalidArgument***: if the specification is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTask/{moId}/RemoveScheduledTask": {
      "post": {
        "tags": [
          "ScheduledTask"
        ],
        "summary": "Removes the scheduled task.\n",
        "operationId": "ScheduledTask_RemoveScheduledTask",
        "description": "Removes the scheduled task.\n\n***Required privileges:*** ScheduledTask.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the scheduled task is running.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTask/{moId}/RunScheduledTask": {
      "post": {
        "tags": [
          "ScheduledTask"
        ],
        "summary": "Runs the scheduled task immediately.\n",
        "operationId": "ScheduledTask_RunScheduledTask",
        "description": "Runs the scheduled task immediately.\n\nThe schedule for future runs remains in effect.\n\n***Required privileges:*** ScheduledTask.Run\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the scheduled task is running already.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTask/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "ScheduledTask"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "ScheduledTask_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ScheduledTask/{moId}/availableField": {
      "get": {
        "tags": [
          "ScheduledTask"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "ScheduledTask_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTask/{moId}/info": {
      "get": {
        "tags": [
          "ScheduledTask"
        ],
        "summary": "Information about the current scheduled task.\n",
        "operationId": "ScheduledTask_getInfo",
        "description": "Information about the current scheduled task.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledTaskInfo"
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTask/{moId}/value": {
      "get": {
        "tags": [
          "ScheduledTask"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "ScheduledTask_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTaskManager/{moId}/CreateScheduledTask": {
      "post": {
        "tags": [
          "ScheduledTaskManager"
        ],
        "summary": "Creates a scheduled task.\n",
        "operationId": "ScheduledTaskManager_CreateScheduledTask",
        "description": "Creates a scheduled task.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScheduledTaskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The scheduled task created by the operation.\n\nRefers instance of *ScheduledTask*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidName***: if the scheduled task name is empty or too long.\n\n***DuplicateName***: if a scheduled task with the name already exists.\n\n***InvalidArgument***: if the specification is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTaskManager/{moId}/CreateObjectScheduledTask": {
      "post": {
        "tags": [
          "ScheduledTaskManager"
        ],
        "summary": "Creates a scheduled task.\n",
        "operationId": "ScheduledTaskManager_CreateObjectScheduledTask",
        "description": "Creates a scheduled task.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateObjectScheduledTaskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The scheduled task created by the operation.\n\nRefers instance of *ScheduledTask*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidName***: if the scheduled task name is empty or too long.\n\n***DuplicateName***: if a scheduled task with the name already exists.\n\n***InvalidArgument***: if the specification is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTaskManager/{moId}/RetrieveEntityScheduledTask": {
      "post": {
        "tags": [
          "ScheduledTaskManager"
        ],
        "summary": "Available scheduled tasks defined on the entity.\n",
        "operationId": "ScheduledTaskManager_RetrieveEntityScheduledTask",
        "description": "Available scheduled tasks defined on the entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveEntityScheduledTaskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The scheduled tasks.\n\nRefers instances of *ScheduledTask*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTaskManager/{moId}/RetrieveObjectScheduledTask": {
      "post": {
        "tags": [
          "ScheduledTaskManager"
        ],
        "summary": "Available scheduled tasks defined on the object.\n",
        "operationId": "ScheduledTaskManager_RetrieveObjectScheduledTask",
        "description": "Available scheduled tasks defined on the object.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveObjectScheduledTaskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The scheduled tasks.\n\nRefers instances of *ScheduledTask*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTaskManager/{moId}/description": {
      "get": {
        "tags": [
          "ScheduledTaskManager"
        ],
        "summary": "Static descriptive strings used in scheduled tasks.\n",
        "operationId": "ScheduledTaskManager_getDescription",
        "description": "Static descriptive strings used in scheduled tasks.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledTaskDescription"
                }
              }
            }
          }
        }
      }
    },
    "/ScheduledTaskManager/{moId}/scheduledTask": {
      "get": {
        "tags": [
          "ScheduledTaskManager"
        ],
        "summary": "All available scheduled tasks.\n",
        "operationId": "ScheduledTaskManager_getScheduledTask",
        "description": "All available scheduled tasks.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *ScheduledTask*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/SearchIndex/{moId}/FindAllByDnsName": {
      "post": {
        "tags": [
          "SearchIndex"
        ],
        "summary": "Finds all virtual machines or hosts by DNS name.\n",
        "operationId": "SearchIndex_FindAllByDnsName",
        "description": "Finds all virtual machines or hosts by DNS name.\n\nThe DNS name for a virtual\nmachine is the one returned from VMware tools, *GuestInfo.hostName*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindAllByDnsNameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of all virtual machines or hosts that are found. If no managed\nentities are found, an empty list is returned. If there are multiple\nmatches, all matching entities are returned.\n\nRefers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/SearchIndex/{moId}/FindAllByIp": {
      "post": {
        "tags": [
          "SearchIndex"
        ],
        "summary": "Finds all virtual machines or hosts by IP address, where the IP address is\nin dot-decimal notation.\n",
        "operationId": "SearchIndex_FindAllByIp",
        "description": "Finds all virtual machines or hosts by IP address, where the IP address is\nin dot-decimal notation.\n\nFor example, 10.17.12.12. The IP address for a virtual\nmachine is the one returned from VMware tools, *GuestInfo.ipAddress*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindAllByIpRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of all virtual machines or hosts that are found. If no\nmanaged entities are found, an empty list is returned. If there\nare multiple matches, all matching entities are returned.\n\nRefers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/SearchIndex/{moId}/FindAllByUuid": {
      "post": {
        "tags": [
          "SearchIndex"
        ],
        "summary": "Finds all virtual machines or hosts by UUID.\n",
        "operationId": "SearchIndex_FindAllByUuid",
        "description": "Finds all virtual machines or hosts by UUID.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindAllByUuidRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of all virtual machines or hosts that are matching with\nthe given UUID. If no managed entities are found, an empty list\nis returned. If there are multiple matches, all matching entities\nare returned.\n\nRefers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/SearchIndex/{moId}/FindByDatastorePath": {
      "post": {
        "tags": [
          "SearchIndex"
        ],
        "summary": "Finds a virtual machine by its location on a datastore.\n",
        "operationId": "SearchIndex_FindByDatastorePath",
        "description": "Finds a virtual machine by its location on a datastore.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindByDatastorePathRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The virtual machine that is found. If no virtual machine is found, null\nis returned. Only a single entity is returned, even if there are multiple\nmatches.\n\nRefers instance of *VirtualMachine*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: if a datastore has not been specified in the path or if\nthe specified datastore does not exist on the specified datacenter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidDatastore"
                }
              }
            }
          }
        }
      }
    },
    "/SearchIndex/{moId}/FindByDnsName": {
      "post": {
        "tags": [
          "SearchIndex"
        ],
        "summary": "Finds a virtual machine or host by DNS name.\n",
        "operationId": "SearchIndex_FindByDnsName",
        "description": "Finds a virtual machine or host by DNS name.\n\nThe DNS name for a virtual\nmachine is the one returned from VMware tools, *GuestInfo.hostName*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindByDnsNameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The virtual machine or host managed entity that is found. If no managed\nentities are found, null is returned. Only a single entity is returned, even if\nthere are multiple matches.\n\nRefers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/SearchIndex/{moId}/FindByInventoryPath": {
      "post": {
        "tags": [
          "SearchIndex"
        ],
        "summary": "Finds a managed entity based on its location in the inventory.\n",
        "operationId": "SearchIndex_FindByInventoryPath",
        "description": "Finds a managed entity based on its location in the inventory.\n\nThe path is\nseparated by slashes ('/'). For example, a path should be of the form\n\"My Folder/My Datacenter/vm/Discovered VM/VM1\". A leading slash or trailing\nslash is ignored. Thus, the following paths all represents the same object:\n\"a/b\", \"/a/b\", \"a/b/\", and '/a/b/'. Slashes in names must be represented using\n%2f, following the standard URL syntax. Any object in the inventory can be\nretrieved using this method, including resource pools and hosts.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindByInventoryPathRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The managed entity that is found. If no match is found, null is\nreturned.\n\nRefers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/SearchIndex/{moId}/FindByIp": {
      "post": {
        "tags": [
          "SearchIndex"
        ],
        "summary": "Finds a virtual machine or host by IP address, where the IP address is in\ndot-decimal notation.\n",
        "operationId": "SearchIndex_FindByIp",
        "description": "Finds a virtual machine or host by IP address, where the IP address is in\ndot-decimal notation.\n\nFor example, 10.17.12.12. The IP address for a virtual\nmachine is the one returned from VMware tools, *GuestInfo.ipAddress*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindByIpRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The virtual machine or host managed entity that is found. If no managed\nentities are found, null is returned. Only a single entity is returned,\neven if there are multiple matches. If called directly on an ESX server\nwith vmSearch set to false, returns the host managed entity if the address\nmatches any of the Console OS IP addresses.\n\nRefers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/SearchIndex/{moId}/FindByUuid": {
      "post": {
        "tags": [
          "SearchIndex"
        ],
        "summary": "Finds a virtual machine or host by BIOS or instance UUID.\n",
        "operationId": "SearchIndex_FindByUuid",
        "description": "Finds a virtual machine or host by BIOS or instance UUID.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindByUuidRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The virtual machine or host managed entity that is found. If no managed\nentities are found, null is returned. Only a single entity is\nreturned, even if there are multiple matches.\n\nRefers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/SearchIndex/{moId}/FindChild": {
      "post": {
        "tags": [
          "SearchIndex"
        ],
        "summary": "Finds a particular child based on a managed entity\nname.\n",
        "operationId": "SearchIndex_FindChild",
        "description": "Finds a particular child based on a managed entity\nname.\n\nThis only searches the immediate children of a managed entity.\nFor a *Datacenter*, the host and vm folders are\nconsidered children. For a *ComputeResource*,\nthe hosts and root *ResourcePool* are considered\nchildren.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindChildRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The managed entity that is found, or null if no match is found.\n\nRefers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ServiceInstance/{moId}/CurrentTime": {
      "post": {
        "tags": [
          "ServiceInstance"
        ],
        "summary": "Returns the current time on the server.\n",
        "operationId": "ServiceInstance_CurrentTime",
        "description": "Returns the current time on the server.\n\nTo monitor non-linear time changes,\nuse the *serverClock* property.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The date and time on the server.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/ServiceInstance/{moId}/QueryVMotionCompatibility": {
      "post": {
        "tags": [
          "ServiceInstance"
        ],
        "summary": "Investigates the general VMotion compatibility of a virtual machine with\na set of hosts.\n",
        "operationId": "ServiceInstance_QueryVMotionCompatibility",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use\n*VirtualMachineProvisioningChecker.QueryVMotionCompatibilityEx_Task* instead.\n\nInvestigates the general VMotion compatibility of a virtual machine with\na set of hosts.\n\nThe virtual machine may be in any power state. Hosts\nmay be in any connection state and also may be in maintenance mode.\n\n***Required privileges:*** Resource.QueryVMotion\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVMotionCompatibilityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array where each element, associated with one of the input\nhosts, specifies which of the requested compatibility types\napplies to that host. If an input host has never been connected\nand therefore has no information available for determining its\ncompatibility, it is omitted from the return list.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HostVMotionCompatibility"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ServiceInstance/{moId}/RetrieveServiceContent": {
      "post": {
        "tags": [
          "ServiceInstance"
        ],
        "summary": "Retrieves the properties of the service instance.\n",
        "operationId": "ServiceInstance_RetrieveServiceContent",
        "description": "Retrieves the properties of the service instance.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "The properties belonging to the service instance,\nincluding various object managers.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceContent"
                }
              }
            }
          }
        }
      }
    },
    "/ServiceInstance/{moId}/RetrieveProductComponents": {
      "post": {
        "tags": [
          "ServiceInstance"
        ],
        "summary": "Component information for bundled products\n",
        "operationId": "ServiceInstance_RetrieveProductComponents",
        "description": "Component information for bundled products\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductComponentInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ServiceInstance/{moId}/ValidateMigration": {
      "post": {
        "tags": [
          "ServiceInstance"
        ],
        "summary": "Checks the validity of a set of proposed migrations.\n",
        "operationId": "ServiceInstance_ValidateMigration",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use *VirtualMachineProvisioningChecker*\ninstead.\n\nChecks the validity of a set of proposed migrations.\n\nA migration\nis the act of changing the assigned execution host of a virtual\nmachine, which can result from invoking\n*VirtualMachine.MigrateVM_Task* or\n*VirtualMachine.RelocateVM_Task*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateMigrationRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A set of events that describe the warnings or errors that would\napply if the proposed set of migrations were executed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the target host(s) and target pool for a\nmigration are not associated with the same compute resource,\nor if the host parameter is left unset when the target pool is\nassociated with a non-DRS cluster.\n\n***InvalidPowerState***: if the state argument is set and at least one\nof the specified virtual machines is not in that power state.\n\n***NoActiveHostInCluster***: if a target host is not specified and a\ncluster associated with a target pool does not contain at least one\npotential target host. A host must be connected and not in maintenance\nmode in order to be considered as a potential target host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/ServiceInstance/{moId}/capability": {
      "get": {
        "tags": [
          "ServiceInstance"
        ],
        "summary": "API-wide capabilities.\n",
        "operationId": "ServiceInstance_getCapability",
        "description": "API-wide capabilities.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Capability"
                }
              }
            }
          }
        }
      }
    },
    "/ServiceInstance/{moId}/content": {
      "get": {
        "tags": [
          "ServiceInstance"
        ],
        "summary": "The properties of the ServiceInstance managed object.\n",
        "operationId": "ServiceInstance_getContent",
        "description": "The properties of the ServiceInstance managed object.\n\nThe content property\nis identical to the return value from the\n*ServiceInstance.RetrieveServiceContent* method.\n\nUse the content property with the *PropertyCollector*\nto perform inventory traversal that includes the ServiceInstance.\n(In the absence of a content property, a traversal that encounters\nthe *ServiceInstance* would require calling\nthe *ServiceInstance.RetrieveServiceContent* method,\nand then invoking a second traversal to continue.)\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceContent"
                }
              }
            }
          }
        }
      }
    },
    "/ServiceInstance/{moId}/serverClock": {
      "get": {
        "tags": [
          "ServiceInstance"
        ],
        "summary": "Contains the time most recently obtained from the server.\n",
        "operationId": "ServiceInstance_getServerClock",
        "description": "Contains the time most recently obtained from the server.\n\nThe time is not necessarily current. This property is intended for use\nwith the PropertyCollector *PropertyCollector.WaitForUpdates*\nmethod. The PropertyCollector will provide notification if some event occurs\nthat changes the server clock time in a non-linear fashion.\n\nYou should not rely on the serverClock property to get the current time\non the server; instead, use the *ServiceInstance.CurrentTime* method.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/ServiceManager/{moId}/QueryServiceList": {
      "post": {
        "tags": [
          "ServiceManager"
        ],
        "summary": "A query interface that returns a list of services that match certain criteria.\n",
        "operationId": "ServiceManager_QueryServiceList",
        "description": "A query interface that returns a list of services that match certain criteria.\n\nBesides a basic service name entry, an arbitrary list of matching locations\ncan also be specified. The location array is assumed to be a list of AND expressions,\nie, all locations must match for an entry to be considered a match.\nRegular expressions are not allowed in the query service.\n\n***Required privileges:*** Global.ServiceManagers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryServiceListRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceManagerServiceInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ServiceManager/{moId}/service": {
      "get": {
        "tags": [
          "ServiceManager"
        ],
        "summary": "The full list of services available in this directory.\n",
        "operationId": "ServiceManager_getService",
        "description": "The full list of services available in this directory.\n\n***Required privileges:*** Global.ServiceManagers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceManagerServiceInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/AcquireCloneTicket": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Acquire a session-specific ticket string which can be used to clone\nthe current session.\n",
        "operationId": "SessionManager_AcquireCloneTicket",
        "description": "Acquire a session-specific ticket string which can be used to clone\nthe current session.\n\nThe caller of this operation can pass the ticket\nvalue to another entity on the client. The recipient can then call\n*SessionManager.CloneSession* with the ticket string on an unauthenticated\nsession and avoid having to re-enter credentials.\n\nThe ticket may only be used once and becomes invalid after use. The\nticket is also invalidated when the corresponding session is closed or\nexpires. The ticket is only valid on the server which issued it.\n\nThis sequence of operations is conceptually similar to the\nfunctionality provided by *SessionManager.AcquireLocalTicket*, however the\nmethods can be used by remote clients and do not require a shared\nfilesystem for transport.\n\nSee also *SessionManager.CloneSession*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "one-time secret ticket string.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "password"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/AcquireGenericServiceTicket": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Creates and returns a one-time credential that may be used to make the\nspecified request.\n",
        "operationId": "SessionManager_AcquireGenericServiceTicket",
        "description": "Creates and returns a one-time credential that may be used to make the\nspecified request.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcquireGenericServiceTicketRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "a ticket that may be used to invoke the specified request.\nThe first choice for authenticating the host is\n*GenericServiceTicket#sslCertificate*.\nIf *GenericServiceTicket#sslCertificate* is unset, the\nfollowing logic is used to authenticate the host:\n1\\. If the VC system supports the crypto hash algorithm of\nthe *SessionManagerGenericServiceTicket.sslThumbprint* or\n*SessionManagerGenericServiceTicket.certThumbprintList* (if set),\nthey will be verified against that of the server certificate. If\nthey doesn't match, the CA certificates will be used to\nauthenticate the host.\n2\\. If the VC system does not support the crypto hash algorithm\nof *SessionManagerGenericServiceTicket.sslThumbprint* or\n*SessionManagerGenericServiceTicket.certThumbprintList*, only the CA\ncertificates will be used to authenticate the host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionManagerGenericServiceTicket"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/AcquireLocalTicket": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Acquires a one-time ticket for mutual authentication between a server and client.\n",
        "operationId": "SessionManager_AcquireLocalTicket",
        "description": "Acquires a one-time ticket for mutual authentication between a server and client.\n\nThe caller of this operation can use the user name and file content of\nthe returned object as the userName and password arguments for login\noperation. The local ticket that is returned becomes invalid either\nafter it is used or after a server-determined ticket expiration time\npasses. This operation can be used by servers and clients to avoid\nre-entering user credentials after authentication by the operating\nsystem has already happened.\n\nFor example, service console utilities that connect to a host agent\nshould not require users to re-enter their passwords every time the\nutilities run. Since the one-time password file is readable only by\nthe given user, the identity of the one-time password user is protected\nby the operating system file permission.\n\nOnly local clients are allowed to call this operation. Remote clients\nreceive an InvalidRequest fault upon calling this operation.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcquireLocalTicketRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "LocalTicket object containing userName and path to file\ncontaining one-time password for use in login operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionManagerLocalTicket"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if the userName is invalid.\n\n***NoPermission***: if the user and password are valid, but the user has no access\ngranted.\n\n***NotSupported***: if the server does not support this operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidLogin"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/CloneSession": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Clone the session specified by the clone ticket and associate it with\nthe current connection.\n",
        "operationId": "SessionManager_CloneSession",
        "description": "Clone the session specified by the clone ticket and associate it with\nthe current connection.\n\nThe current session will take on the identity\nand authorization level of the UserSession associated with the\nspecified cloning ticket.\n\nSee also *SessionManager.AcquireCloneTicket*, *SessionManager.AcquireGenericServiceTicket*.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloneSessionRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The new/cloned UserSession object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSession"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if the specified ticket value is not valid.\n\n***NotSupported***: if the server does not support this operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidLogin"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/ImpersonateUser": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Converts current session to impersonate the specified user.\n",
        "operationId": "SessionManager_ImpersonateUser",
        "description": "Converts current session to impersonate the specified user.\n\nThe current session will take on the identity and authorization level of\nthe user. That user must have a currently-active session.\nIf the given userName is an extension key and this key does\nnot overlap with a user name of any currently-active session, it will\ntake on the identity and authorization level of that extension provided\nthe current session has the same authorization level of that extension.\n\n***Required privileges:*** Sessions.ImpersonateUser\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImpersonateUserRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSession"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/Login": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Log on to the server.\n",
        "operationId": "SessionManager_Login",
        "description": "Log on to the server.\n\nThis method fails if the user name and password are\nincorrect, or if the user is valid but has no permissions granted.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The UserSession object.\n\nAs of vSphere API 5.1 for VirtualCenter login use SSO style\n*SessionManager.LoginByToken*\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSession"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if the user and password combination is invalid.\n\n***NoPermission***: if the user is valid, but has no access granted.\n\n***InvalidLocale***: if the locale is invalid or unknown to the server.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/LoginBySSPI": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Log on to the server using SSPI pass-through authentication.\n",
        "operationId": "SessionManager_LoginBySSPI",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1 for VirtualCenter login use SSO style\n*SessionManager.LoginByToken*.\n\nLog on to the server using SSPI pass-through authentication.\n\nThis method provides support for passing credentials of the calling\nprocess to the server without using a password, by leveraging the\nWindows Security Support Provider Interface (SSPI) library.\n\nIf the function is not supported, this throws a NotSupported fault.\n\nThe client first calls AcquireCredentialsHandle(). If Kerberos is\nused, this should include the desired credential to pass. The client then\ncalls InitializeSecurityContext(). The resulting partially-formed\ncontext is passed in Base-64 encoded form to this method.\n\nIf the context has been successfully formed, the server proceeds with\nlogin and behaves like *SessionManager.Login*. If further\nnegotiation is needed, the server throws an SSPIChallenge fault with\na challenge token, which the client should again pass to\nInitializeSecurityContext(), followed by calling this method again.\n\nFor more information, see the MSDN documentation on SSPI.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginBySSPIRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The UserSession object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSession"
                }
              }
            }
          },
          "500": {
            "description": "***SSPIChallenge***: if further negotiation is required.\n\n***InvalidLogin***: if the user context could not be passed successfully,\nor the context is not valid on the server.\n\n***NoPermission***: if the user is valid, but has no access granted.\n\n***InvalidLocale***: if the locale is invalid or unknown to the server.\n\n***NotSupported***: if the service does not support SSPI authentication.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/LoginByToken": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Log on to the server through token representing principal identity.\n",
        "operationId": "SessionManager_LoginByToken",
        "description": "Log on to the server through token representing principal identity.\n\nThe token is obtained from SSO (single sign-on) service. This method\nfails if the token is not valid, or the principal has no permissions\ngranted. Two type of sso tokens are supported by this method: Bearer\nand Holder-of-Key (HoK). If the token type obliges the method caller\nto prove his rights to present this token (HoK), then a signature is\nsupplied as well. The token and the security signature if available\nare provided in a transport specific way.\n\nIf the communication with the VirtualCenter is SOAP based read the\nWS-Security specification (SAML Token profile) to understand how\nto transport the SSO token and signature.\n\nUsual login scenario:\n1. Acquire HoK token from the SSO service. Different authentication\n   mechanisms are available for acquiring token (user/password,\n   certificate, SSPI and so on). For more details consult the SSO\n   documentation. To find the location of your SSO service consult the\n   Virtual Infrastructure documentation.\n2. Once SSO token is acquired successfully *SessionManager.LoginByToken* could be\n   invoked.\n   \n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginByTokenRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The UserSession object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSession"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if there is no token provided or the token\ncould not be validated.\n\n***NoPermission***: if the principal is valid, but has no access granted.\n\n***InvalidLocale***: if the locale is invalid or unknown to the server.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/LoginExtension": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Creates a special privileged session that includes\nthe Sessions.ImpersonateUser privilege.\n",
        "operationId": "SessionManager_LoginExtension",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use SSO style of login instead\n*SessionManager.LoginByToken*.\n\nCreates a special privileged session that includes\nthe Sessions.ImpersonateUser privilege.\n\nRequires exchange of\na message signed with the extension's registered public key\nand base-64 encoded.\n\nAs of vSphere API 4.0, the NotFound fault is no longer thrown. Instead, InvalidLogin\nis thrown if the specified extension is not registered.\n\nAs of vSphere API 5.0, this method always throws a NotSupported exception.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginExtensionRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSession"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/LoginExtensionByCertificate": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Creates a special privileged session that includes\nthe Sessions.ImpersonateUser privilege.\n",
        "operationId": "SessionManager_LoginExtensionByCertificate",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0, use SSO style of login instead\n*SessionManager.LoginByToken*.\n\nCreates a special privileged session that includes\nthe Sessions.ImpersonateUser privilege.\n\nRequires that the client connect\nover SSL and provide an X.509 certificate for which they hold the private key.\nThe certificate must match the certificate used in an earlier call to\n*ExtensionManager.SetExtensionCertificate*.\n\nNOTE: Verification of the received certificate (such as expiry, revocation,\nand trust chain) is not required for successful authentication using\nthis method. If certificate verification is desired, use the\n*SessionManager.LoginExtensionBySubjectName* method instead.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginExtensionByCertificateRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSession"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if the extension is not registered, or the\ncertificate does not match the expected value.\n\n***InvalidLocale***: if the supplied locale is not valid\n\n***NoClientCertificate***: if no certificate was used by the client to connect\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/LoginExtensionBySubjectName": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Creates a special privileged session that includes\nthe Sessions.ImpersonateUser privilege.\n",
        "operationId": "SessionManager_LoginExtensionBySubjectName",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0, use SSO style of login instead\n*SessionManager.LoginByToken*.\n\nCreates a special privileged session that includes\nthe Sessions.ImpersonateUser privilege.\n\nRequires that the extension connected\nusing SSL, with a certificate that has a subject name that matches the subject\nname registered for the extension.\n\nAs of vSphere API 4.0, the NotFound fault is no longer thrown. Instead, InvalidLogin\nis thrown if the specified extension is not registered.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginExtensionBySubjectNameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSession"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if the extension is not registered, or the subject name\ndoesn't match the subject name of the extension.\n\n***InvalidLocale***: if the supplied locale is not valid\n\n***NotFound***: if no extension is associated with the given key\n\n***NoClientCertificate***: if no certificate was used by the client to connect\n\n***NoSubjectName***: if the extension was registered without a subject name\n\n***InvalidClientCertificate***: if the client cerificate fails the verification at the server\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/Logout": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Log out and terminate the current session.\n",
        "operationId": "SessionManager_Logout",
        "description": "Log out and terminate the current session.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/SessionManager/{moId}/SessionIsActive": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Validates that a currently-active session exists with the specified\nsessionID and userName associated with it.\n",
        "operationId": "SessionManager_SessionIsActive",
        "description": "Validates that a currently-active session exists with the specified\nsessionID and userName associated with it.\n\nReturns true\nif session exists.\n\n***Required privileges:*** Sessions.ValidateSession\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionIsActiveRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/SetLocale": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Sets the session locale.\n",
        "operationId": "SessionManager_SetLocale",
        "description": "Sets the session locale.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetLocaleRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidLocale***: if the locale is invalid or unknown to the server.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidLocale"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/TerminateSession": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Log off and terminate the provided list of sessions.\n",
        "operationId": "SessionManager_TerminateSession",
        "description": "Log off and terminate the provided list of sessions.\n\nThis method is only transactional for each session ID. The set of sessions\nare terminated sequentially, as specified in the list. If a failure\noccurs, for example, because of an unknown sessionID, the method aborts with\nan exception. When the method aborts, any sessions that have not yet been\nterminated are left in their unterminated state.\n\n***Required privileges:*** Sessions.TerminateSession\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TerminateSessionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if a sessionId could not be found as a valid logged-on session.\n\n***InvalidArgument***: if a sessionId matches the current session. Use\nthe logout method to terminate the current session.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/UpdateServiceMessage": {
      "post": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Updates the system global message.\n",
        "operationId": "SessionManager_UpdateServiceMessage",
        "description": "Updates the system global message.\n\nIf not blank, the message is immediately\ndisplayed to currently logged-on users. When set, the message is shown by new\nclients upon logging in.\n\n***Required privileges:*** Sessions.GlobalMessage\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateServiceMessageRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/SessionManager/{moId}/currentSession": {
      "get": {
        "tags": [
          "SessionManager"
        ],
        "summary": "This property contains information about the client's current session.\n",
        "operationId": "SessionManager_getCurrentSession",
        "description": "This property contains information about the client's current session.\n\nIf the client is not logged on, the value is null.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/UserSession"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/defaultLocale": {
      "get": {
        "tags": [
          "SessionManager"
        ],
        "summary": "This is the default server locale.\n",
        "operationId": "SessionManager_getDefaultLocale",
        "description": "This is the default server locale.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/message": {
      "get": {
        "tags": [
          "SessionManager"
        ],
        "summary": "The system global message from the server.\n",
        "operationId": "SessionManager_getMessage",
        "description": "The system global message from the server.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/messageLocaleList": {
      "get": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Provides the list of locales for which the server has localized messages.\n",
        "operationId": "SessionManager_getMessageLocaleList",
        "description": "Provides the list of locales for which the server has localized messages.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/sessionList": {
      "get": {
        "tags": [
          "SessionManager"
        ],
        "summary": "The list of currently active sessions.\n",
        "operationId": "SessionManager_getSessionList",
        "description": "The list of currently active sessions.\n\n***Required privileges:*** Sessions.TerminateSession\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserSession"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/SessionManager/{moId}/supportedLocaleList": {
      "get": {
        "tags": [
          "SessionManager"
        ],
        "summary": "Provides the list of locales that the server supports.\n",
        "operationId": "SessionManager_getSupportedLocaleList",
        "description": "Provides the list of locales that the server supports.\n\nListing a locale ensures that some standardized information such as dates appear\nin the appropriate format. Other localized information, such as error messages,\nare displayed, if available. If localized information is not available, the\nmessage is returned using the system locale.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/SimpleCommand/{moId}/ExecuteSimpleCommand": {
      "post": {
        "tags": [
          "SimpleCommand"
        ],
        "summary": "The single function execution point for this simple command.\n",
        "operationId": "SimpleCommand_ExecuteSimpleCommand",
        "description": "The single function execution point for this simple command.\n\nThe actual effects of\nthis command depend upon the service handler registered for this instance.\n\n***Required privileges:*** Global.ServiceManagers\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecuteSimpleCommandRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/SimpleCommand/{moId}/encodingType": {
      "get": {
        "tags": [
          "SimpleCommand"
        ],
        "summary": "The encoding type used in the result.\n",
        "operationId": "SimpleCommand_getEncodingType",
        "description": "The encoding type used in the result.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimpleCommandEncoding_enum"
                }
              }
            }
          }
        }
      }
    },
    "/SimpleCommand/{moId}/entity": {
      "get": {
        "tags": [
          "SimpleCommand"
        ],
        "summary": "A description of the service.\n",
        "operationId": "SimpleCommand_getEntity",
        "description": "A description of the service.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceManagerServiceInfo"
                }
              }
            }
          }
        }
      }
    },
    "/SiteInfoManager/{moId}/GetSiteInfo": {
      "post": {
        "tags": [
          "SiteInfoManager"
        ],
        "summary": "Returns the *SiteInfo* object associated with this vCenter.\n",
        "operationId": "SiteInfoManager_GetSiteInfo",
        "description": "Returns the *SiteInfo* object associated with this vCenter.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteInfo"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/AddStandaloneHost_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Creates a new single-host compute resource.\n",
        "operationId": "StoragePod_AddStandaloneHost_Task",
        "description": "Creates a new single-host compute resource.\n\nThe name provided can be an\nIP address, such as 192.168.0.120, or a string, such as esx120.\nIf a name is specified, a DNS lookup is used to resolve it to a fully-qualified\nname, such as esx120.vmware.com. If the DNS lookup fails, the string is\nstored as specified.\n\nLicenses for the host are allocated when making the first connection to\nthe host. This is because the license needed typically depends on the type\nof host and the number of CPUs.\n\nIn addition to the Host.Inventory.AddStandaloneHost privilege, it\nrequires System.View privilege on the VM folder that the VMs of the\nhost will be placed on.\n\n***Required privileges:*** Host.Inventory.AddStandaloneHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddStandaloneHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly added *ComputeResource* upon\nsuccess.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidLogin***: if authentication with the host fails.\n\n***InvalidArgument***: if an argument is specified incorrectly.\n\n***AlreadyBeingManaged***: if the host is already being managed by a\nvCenter server. If the host is being managed by a different\nvCenter server, this can be overridden by the \"force\" flag in the\nconnection specification.\n\n***NotEnoughLicenses***: if there are not enough licenses to add the host.\n\n***NoHost***: if the host cannot be contacted.\n\n***NotSupported***: if the host is being added to a folder whose\n*Folder.childType* property does not contain\n\"ComputeResource\".\n\n***NotSupportedHost***: if the host is running a software version that is not\nsupported.\n\n***AgentInstallFailed***: if there is an error installing the vCenter\nagent on the new host.\n\n***AlreadyConnected***: if addConnected is true and the host is already\nconnected to vCenter.\n\n***HostConnectFault***: if an error occurred when attempting to connect\nto a host. Typically, a more specific subclass, such as\nAlreadyBeingManaged, is thrown.\n\n***SSLVerifyFault***: if the host certificate could not be authenticated\n\n***DuplicateName***: if another host in the same folder has the name.\n\n***NoPermission***: if there are crypto keys to be sent to the host,\nbut the user does not have Cryptographer.RegisterHost privilege\non the Folder.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/BatchAddHostsToCluster_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Adds a set of new and existing hosts to the cluster.\n",
        "operationId": "StoragePod_BatchAddHostsToCluster_Task",
        "description": "Adds a set of new and existing hosts to the cluster.\n\nThis API is a composite API and performs the following tasks before hosts\nbecome part of the specified cluter -\n- Adds all new hosts as standalone hosts.\n- Move each host to the desired state.\n- Move each host to the cluster.\n  \nThe dynamic privilege check will ensure that appropriate privileges\nare acquired to allow this API to perform multiple actions on hosts\nand cluster. Required privileges -\n- Host.Inventory.EditCluster on cluster\n- Host.Config.Maintenance on the hosts if desiredState is set\n- Privileges for *Folder.BatchAddStandaloneHosts_Task* if newHosts is\n  set\n- Host.Inventory.EditCluster on the hosts' source ComputeResource\n- Host.Inventory.MoveHost on the hosts\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchAddHostsToClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/BatchAddStandaloneHosts_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Adds a list of hosts to inventory, as standalone hosts,\nin a single invocation.\n",
        "operationId": "StoragePod_BatchAddStandaloneHosts_Task",
        "description": "Adds a list of hosts to inventory, as standalone hosts,\nin a single invocation.\n\nThe operation returns a result containing\na list of hosts that are successfully added.\n\nIn addition to the Host.Inventory.AddStandaloneHost privilege, the operation\nrequires System.View privilege on the VM folder that the VMs of the\nhost will be placed on.\n\n***Required privileges:*** Host.Inventory.AddStandaloneHost\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchAddStandaloneHostsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/CreateCluster": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Creates a new cluster compute resource in this folder.\n",
        "operationId": "StoragePod_CreateCluster",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *Folder.CreateClusterEx*.\n\nCreates a new cluster compute resource in this folder.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** Host.Inventory.CreateCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateClusterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new ClusterComputeResource instance.\n\nRefers instance of *ClusterComputeResource*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if an entity with that name already exists.\n\n***InvalidArgument***: if the cluster configuration specification parameter is\ninvalid.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the cluster is being added to a folder whose\n*Folder.childType* property value does not contain\n\"ComputeResource\" or \"ClusterComputeResource\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/CreateClusterEx": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Creates a new cluster compute resource in this folder.\n",
        "operationId": "StoragePod_CreateClusterEx",
        "description": "Creates a new cluster compute resource in this folder.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** Host.Inventory.CreateCluster\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateClusterExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new ClusterComputeResource instance.\n\nRefers instance of *ClusterComputeResource*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if an entity with that name already exists.\n\n***InvalidArgument***: if the cluster configuration specification parameter is\ninvalid.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the cluster is being added to a folder whose\n*Folder.childType* property value does not contain\n\"ComputeResource\" or \"ClusterComputeResource\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/CreateDatacenter": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Creates a new datacenter with the given name.\n",
        "operationId": "StoragePod_CreateDatacenter",
        "description": "Creates a new datacenter with the given name.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** Datacenter.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDatacenterRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new Datacenter instance.\n\nRefers instance of *Datacenter*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if an entity with that name already exists.\n\n***InvalidName***: if the new name is not a valid entity name.\n\n***NotSupported***: if the datacenter is being created within a folder whose\n*Folder.childType* property value does not contain\n\"Datacenter\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/CreateDVS_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Create a *DistributedVirtualSwitch* in the folder according to the\nspecified *DVSCreateSpec*.\n",
        "operationId": "StoragePod_CreateDVS_Task",
        "description": "Create a *DistributedVirtualSwitch* in the folder according to the\nspecified *DVSCreateSpec*.\n\nThe specified Folder\nmust be a Network entity folder.\n\n***Required privileges:*** DVSwitch.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDVSRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. After successful completion, the\n*Task*.*Task.info*.*TaskInfo.result* property\ncontains the newly registered *DistributedVirtualSwitch*.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if called directly on a host.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\n(*DVSConfigInfo.extensionKey*).\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/CreateFolder": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Creates a new sub-folder with the specified name.\n",
        "operationId": "StoragePod_CreateFolder",
        "description": "Creates a new sub-folder with the specified name.\n\nThe *Folder.childType* property of the new folder is the same as\nthe *Folder.childType* property of the current folder.\n\n***Required privileges:*** Folder.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFolderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A reference to the new folder.\n\nRefers instance of *Folder*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if another object in the same folder has the\ntarget name.\n\n***InvalidName***: if the name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/CreateStoragePod": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Creates a new storage pod in this folder.\n",
        "operationId": "StoragePod_CreateStoragePod",
        "description": "Creates a new storage pod in this folder.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** Folder.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStoragePodRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new StoragePod instance.\n\nRefers instance of *StoragePod*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if an entity with that name already exists.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the storage pod is being added to a folder whose\n*Folder.childType* property value does not contain\n\"StoragePod\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/CreateVM_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Creates a new virtual machine in the current folder and attaches it to the\nspecified resource pool.\n",
        "operationId": "StoragePod_CreateVM_Task",
        "description": "Creates a new virtual machine in the current folder and attaches it to the\nspecified resource pool.\n\nThis operation creates a virtual machine,\ninstead of cloning a virtual machine from an existing one.\n\nThe server does not support creating templates using this method.\nInstead, you should create templates by marking existing virtual\nmachines as templates, or by cloning an existing virtual machine or\ntemplate.\n\nThis operation only works if the folder's childType includes VirtualMachine.\nIn addition to the VirtualMachine.Inventory.Create privilege, may also require\nany of the following privileges depending on the properties of the virtual\nmachine bring created:\n- VirtualMachine.Config.AddExistingDisk if including a virtual disk device\n  that refers to an existing virtual disk file (not RDM)\n- VirtualMachine.Config.AddNewDisk if including a virtual disk device that\n  creates a new virtual disk file (not RDM)\n- VirtualMachine.Config.RawDevice if including a raw device mapping\n  (RDM) or SCSI passthrough device\n- VirtualMachine.Config.HostUSBDevice if including a VirtualUSB device\n  backed by a host USB device\n- VirtualMachine.Config.AdvancedConfig if setting values in\n  ConfigSpec.extraConfig\n- VirtualMachine.Config.SwapPlacement if setting swapPlacement\n- VirtualMachine.Config.ChangeTracking if setting changed\n  block tracking for the virtual machine's disks.\n- Datastore.AllocateSpace required on all datastores where the\n  virtual machine and its virtual disks will be created\n- Network.Assign required on the network which is assigned to the\n  new virtual machine that is being created\n- Cryptographer.EncryptNew on the folder if the created virtual\n  machine is encrypted\n- Cryptographer.RegisterHost on the host if the created virtual\n  machine is encrypted, but encryption is not enabled on the host\n  \nTo create a VirtualDisk on a persistent memory storage, the storage\nmust be specified via\n*profile* while the datastore\nproperty of corresponding VirtualDisk backing must be unset.\n\nTo create a VirtualNVDIMM device, the storage\n*profile* must be set to the\ndefault persistent memory storage profile while the datastore property of\n*the device backing* must be\nunset.\n\n***Required privileges:*** VirtualMachine.Inventory.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly created *VirtualMachine*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmConfigFault***: if the configSpec has incorrect values. Typically, a more\nspecific subclass is thrown.\n\n***OutOfBounds***: if Host.capability.maxSupportedVMs is exceeded.\n\n***FileAlreadyExists***: if the requested cfgPath for the virtual machine's\nconfiguration file already exists.\n\n***FileFault***: if there is a problem creating the virtual machine on disk.\nTypically, a more specific subclass, such as NoDiskSpace, will be thrown.\n\n***DuplicateName***: if another virtual machine in the same folder already has\nthe specified target name.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the virtual machine is being created within a folder\nwhose *Folder.childType* property is not set to\n\"VirtualMachine\".\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***VmWwnConflict***: if the WWN of the virtual machine has been used by\nother virtual machines.\n\n***AlreadyExists***: if the requested cfgPath (or the default cfgPath)\nfor the virtual machine's configuration file is already loaded\nin the inventory.\n\n***InvalidState***: if the operation is not allowed in current state of\nthe entities involved.\n\n***NoPermission***: if the created virtual machine is encrypted but the\nuser does not have Cryptographer.EncryptNew on the folder.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "StoragePod_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** Folder.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/MoveIntoFolder_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Moves a set of managed entities into this folder.\n",
        "operationId": "StoragePod_MoveIntoFolder_Task",
        "description": "Moves a set of managed entities into this folder.\n\nThis operation is typically used by clients when they implement a drag-and-drop\ninterface to move a set of objects into a folder.\n\nThis operation is transactional only with respect to each individual entity.\nThe set of entities is moved sequentially as specified in the list, and\ncommitted one at a time. If the *Folder.MoveIntoFolder_Task* method fails on an object, the\nmethod terminates at that point with an exception, leaving the rest of the\nmanaged entities in their original location.\n\nThe objects that can be moved into a folder depends on the folder's\ntype (as defined by the folder's *Folder.childType* property).\nFor a datacenter folder, only datacenters and datacenter folders can be\nmoved into the folder. For a virtual machine folder, only virtual machines\nand virtual machine folders can be moved into the folder.\nFor a host folder, ComputeResource objects, host folder objects, and\nHostSystem objects can be moved into the folder.\n\nMoving a HostSystem into a host folder creates a stand-alone host from a\nhost that is currently part of a ClusterComputeResource. The host must be part\nof a ClusterComputeResource in the same datacenter and the host must be in\nmaintenance mode. Otherwise, the operation fails.\n\nA ComputeResource with a single root resource pool is created for each\nHostSystem. The name of the ComputeResource is the DNS or IP address of the\nhost. This operation moves the (physical) host resources out of a cluster.\nIt does not move or change the ResourcePool configuration that is part of the\nClusterComputeResource with which the host was associated.\n\nNote that all virtual machines associated with a host are moved with the host\ninto the folder. If there are virtual machines that should not be moved\nwith the host, then migrate them from the host before initiating this operation.\n\nvSphere Lifecycle Manager baselines (previously called vSphere Update\nManager VUM) is\n<a href=\"https://kb.vmware.com/s/article/89519\">deprecated</a> in vCenter 8.0.\nYou can instead manage the lifecycle of the\nhosts in your environment by using vSphere Lifecycle Manager images (vLCM).\nA Host moved from image managed cluster to datacenter/host folder will become\nbaseline managed stand-alone host.\n\nFor a HostSystem move, the privileges required are Host.Inventory.EditCluster\non the source ClusterComputeResource, Host.Inventory.MoveHost on the HostSystem,\nand Host.Inventory.AddStandaloneHost on the target Folder.\n\nOtherwise, the privilege required for this operation varies depending on this\nfolder's type and is checked against the source container, destination container,\nand the object:\n- Folder.Move if the object is a Folder\n- Datacenter.Move if the object is a Datacenter\n- Host.Inventory.MoveCluster if the object is a ComputeResource\n- VirtualMachine.Inventory.Move if the object is a virtual machine\n  or virtual machine template\n- DVSwitch.Move if the object is a DistributedVirtualSwitch\n- Datastore.Move if the object is a datastore\n- Network.Move if the object is a network\n  \nIf the object is a HostSystem, the privileges required are\nHost.Inventory.AddStandaloneHost on the folder, Host.Inventory.MoveHost on\nthe HostSystem, and Host.Inventory.EditCluster on the host's original\nComputeResource.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveIntoFolderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if this folder already contains an object with\nthe specified name.\n\n***InvalidFolder***: if a Folder that is a parent of this Folder is part\nof the list of objects.\n\n***InvalidState***: if a HostSystem is not part of the same\ndatacenter, not part of a ClusterComputeResource, or not in\nmaintenance mode.\n\n***NotSupported***: if the entity is being moved into a folder\nwhose *Folder.childType* property is not set to\nthe appropriate value. For example, a VirtualMachine entity\ncannot be moved into a folder whose ChildType property value\ndoes not contain \"VirtualMachine\".\n\n***DisallowedOperationOnFailoverHost***: if the host is being moved\nout of a cluster and was configured as a failover host in that\ncluster. See *ClusterFailoverHostAdmissionControlPolicy*.\n\n***VmAlreadyExistsInDatacenter***: if moving a standalone host between\ndatacenters, and one or more of the host's virtual machines is\nalready registered to a host in the destination datacenter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/RegisterVM_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Adds an existing virtual machine to the folder.\n",
        "operationId": "StoragePod_RegisterVM_Task",
        "description": "Adds an existing virtual machine to the folder.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\nThis operation only works if the folder's type is VirtualMachine.\nIn addition to the VirtualMachine.Inventory.Register and\nResource.AssignVMToPool privileges, it requires System.Read privilege\non the datastore that the existing virtual machine resides on. If the\nvirtual machine is encrypted Cryptographer.RegisterVM is required on the\nfolder, in which the virtual machine is registered. Otherwise, the VM is\nregistered successfully, but is left in the locked state.\n\n***Required privileges:*** VirtualMachine.Inventory.Register\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly registered *VirtualMachine*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the operation is not supported. For example,\ntemplates are not supported directly on hosts. Also, if the operation\nis invoked on a folder whose *Folder.childType* property is\nnot set to \"VirtualMachine\".\n\n***OutOfBounds***: if the maximum number of VMs for this folder has been\nexceeded. The maximum number is determined by\nHost.capability.maxSupportedVMs.\n\n***DuplicateName***: if another virtual machine in the same folder has\nthe target name.\n\n***AlreadyExists***: if the virtual machine is already registered.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***NotFound***: if the configuration file is not found on the system.\n\n***InvalidName***: if the entity name is invalid.\n\n***InvalidArgument***: if any of the arguments such as host or resource pool\nare not set to valid values.\n\n***VmConfigFault***: if the format / configuration of the virtual machine\nis invalid. Typically, a more specific fault is thrown such as\nInvalidFormat if the configuration file cannot be read, or\nInvalidDiskFormat if the disks cannot be read.\n\n***FileFault***: if there is an error accessing the files on disk.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidState***: if the operation is not allowed in current state of\nthe entities involved.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/Reload": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "StoragePod_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/StoragePod/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "StoragePod_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "StoragePod_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/StoragePod/{moId}/UnregisterAndDestroy_Task": {
      "post": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Recursively unregisters all virtual machines and vApps, and destroys\nall child virtual machine folders.\n",
        "operationId": "StoragePod_UnregisterAndDestroy_Task",
        "description": "Recursively unregisters all virtual machines and vApps, and destroys\nall child virtual machine folders.\n\nThis is similar to the Destroy\\_Task method,\nbut this method calls UnregisterAndDestroy\\_Task on each virtual machine\nobject instead of calling Destroy\\_Task.\nThis operation applies only to VirtualMachine folders.\n\nUnregisterAndDestroy\\_Task is a recursive operation that destroys the specified\nvirtual machine folder, unregisters all child virtual machine objects, and destroys\nall child virtual machine folders. When you call UnregisterAndDestroy\\_Task\nto destroy a virtual machine folder, the system uses the specified folder\nas a root and traverses its descendant hierarchy, calling UnregisterAndDestroy\\_Task\non each virtual machine object and Destroy\\_Task on each virtual machine folder.\nUnregisterAndDestroy\\_Task is a single operation that treats each recursive call\nas a single transaction, committing each call to remove an object individually.\nIf a failure occurs, the method terminates at that point with an exception, leaving\nsome or all objects unaffected.\n\nIf you are removing virtual machines, you must hold the VirtualMachine.Delete\nprivilege on all of the virtual machines to be unregistered, and on their parent folders.\nIf you are removing virtual applications, you must hold the VApp.Delete\nprivilege on all of the virtual applications to be unregistered, and on their\nparent folders.\n\n***Required privileges:*** Folder.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if a virtual machine is not powered off or suspended.\n\n***ConcurrentAccess***: if another client modifies the folder contents\nbefore this operation completes.\n\n***NotSupported***: if the *Folder.childType* property of the\nfolder is not set to \"VirtualMachine\".\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "StoragePod_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/availableField": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "StoragePod_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/childEntity": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "An array of managed object references.\n",
        "operationId": "StoragePod_getChildEntity",
        "description": "An array of managed object references.\n\nEach entry is a reference to a child entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/childType": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Specifies the object types a folder may contain.\n",
        "operationId": "StoragePod_getChildType",
        "description": "Specifies the object types a folder may contain.\n\nWhen you create a folder, it inherits its childType from the parent folder\nin which it is created. childType is an array of strings. Each array entry\nidentifies a set of object types - Folder and one or more managed object\ntypes. The following list shows childType values for the different folders:\n- { \"vim.Folder\", \"vim.Datacenter\" } - Identifies the root folder\n  and its descendant folders. Data center folders can contain\n  child data center folders and Datacenter managed objects.\n  Datacenter objects contain virtual machine, compute resource,\n  network entity, and datastore folders.\n- { \"vim.Folder\", \"vim.Virtualmachine\", \"vim.VirtualApp\" } - Identifies\n  a virtual machine folder. A virtual machine folder may contain child\n  virtual machine folders. It also can contain VirtualMachine managed objects,\n  templates, and VirtualApp managed objects.\n- { \"vim.Folder\", \"vim.ComputeResource\" } - Identifies a\n  compute resource folder, which contains child compute resource folders\n  and ComputeResource hierarchies.\n- { \"vim.Folder\", \"vim.Network\" } - Identifies a network entity folder.\n  Network entity folders on a vCenter Server can contain Network,\n  DistributedVirtualSwitch, and DistributedVirtualPortgroup managed\n  objects. Network entity folders on an ESXi host can contain only\n  Network objects.\n- { \"vim.Folder\", \"vim.Datastore\" } - Identifies a datastore folder.\n  Datastore folders can contain child datastore folders and Datastore\n  managed objects.\n  \n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/configIssue": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "StoragePod_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/configStatus": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "StoragePod_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/customValue": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Custom field values.\n",
        "operationId": "StoragePod_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "StoragePod_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "StoragePod_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "StoragePod_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/name": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "StoragePod_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/namespace": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "The namespace with which the Folder is associated.\n",
        "operationId": "StoragePod_getNamespace",
        "description": "The namespace with which the Folder is associated.\n\nNamespace is a vAPI\nresource which divides cluster resources and allows administrators to\ngive Kubernetes environments to their development teams.\nThis property is set only at the time of creation and cannot change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/overallStatus": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "StoragePod_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/parent": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "StoragePod_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/permission": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "StoragePod_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/podStorageDrsEntry": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Storage DRS related attributes of the Storage Pod.\n",
        "operationId": "StoragePod_getPodStorageDrsEntry",
        "description": "Storage DRS related attributes of the Storage Pod.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/PodStorageDrsEntry"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/recentTask": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "StoragePod_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/summary": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "Storage pod summary.\n",
        "operationId": "StoragePod_getSummary",
        "description": "Storage pod summary.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/StoragePodSummary"
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/tag": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "StoragePod_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "StoragePod_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StoragePod/{moId}/value": {
      "get": {
        "tags": [
          "StoragePod"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "StoragePod_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StorageQueryManager/{moId}/QueryHostsWithAttachedLun": {
      "post": {
        "tags": [
          "StorageQueryManager"
        ],
        "summary": "Query the set of all hosts which have the specified lun attached.\n",
        "operationId": "StorageQueryManager_QueryHostsWithAttachedLun",
        "description": "Query the set of all hosts which have the specified lun attached.\n\nRequires Host.Config.Storage privilege on the hosts which have\nthe lun in attached state.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryHostsWithAttachedLunRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "HostSystem The set of hosts which have the specified lun attached.\nNo values are returned if there are no hosts with the\nspecified lun in attached state.\n\nRefers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/ConfigureDatastoreIORM_Task": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Changes configuration of storage I/O resource management for a given datastore.\n",
        "operationId": "StorageResourceManager_ConfigureDatastoreIORM_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nChanges configuration of storage I/O resource management for a given datastore.\n\nThe changes are applied to all the backing storage devices for the datastore.\nCurrently we only support storage I/O resource management on VMFS volumes.\nIn order to enable storage I/O resource management on a datstore, we require\nthat all the hosts that are attached to the datastore support this feature.\nThe privilege Datastore.ConfigIOManagement is required on the target\ndatastore.\n\nThis method is only supported by vCenter server.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigureDatastoreIORMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if called directly on a host or if called on a datastore\nthat does not have VMFS Volume.\n\n***InvalidArgument***: if\n1\\. IORMConfigSpec.congestionThreshold is not within the\ndesired range (5 to 100 milliseconds).\n2\\. IORMConfigSpec.congestionThresholdMode is not specified and\nIORMConfigSpec.congestionThreshold is specified. To set\ncongestionThreshold, congestionThresholdMode should be set to\nmanual\n\n***IORMNotSupportedHostOnDatastore***: if called on a datastore that is\nconnected to a host that does not support storage I/O resource\nmanagement.\n\n***InaccessibleDatastore***: if cannot access the datastore from any of the\nhosts.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/QueryIORMConfigOption": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Query configuration options for storage I/O resource management.\n",
        "operationId": "StorageResourceManager_QueryIORMConfigOption",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nQuery configuration options for storage I/O resource management.\n\n***Required privileges:*** Datastore.Config\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryIORMConfigOptionRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "configuration option object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageIORMConfigOption"
                }
              }
            }
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/ApplyStorageDrsRecommendation_Task": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Applies a recommendation from the recommendation list that is generated\nby SDRS initial placement invoked by RecommendDatastore method.\n",
        "operationId": "StorageResourceManager_ApplyStorageDrsRecommendation_Task",
        "description": "Applies a recommendation from the recommendation list that is generated\nby SDRS initial placement invoked by RecommendDatastore method.\n\nIn the case of CreateVm and CloneVm a VirtualMachine is returned. Other\nworkflows don't have a return value.\n\nRequires Resource. ApplyRecommendation privilege on the storage pod.\nAdditionally, depending on the workflow where this API is called from,\nit may require the privileges of invoking one of following APIs:\n- CreateVm *Folder.CreateVM_Task*\n- AddDisk *VirtualMachine.ReconfigVM_Task*\n- RelocateVm *VirtualMachine.RelocateVM_Task*\n- CloneVm *VirtualMachine.CloneVM_Task*\n  \n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyStorageDrsRecommendationRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/ApplyStorageDrsRecommendationToPod_Task": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Applies a recommendation from the recommendation list that is generated\nby SDRS load balancing activity.\n",
        "operationId": "StorageResourceManager_ApplyStorageDrsRecommendationToPod_Task",
        "description": "Applies a recommendation from the recommendation list that is generated\nby SDRS load balancing activity.\n\nEach recommendation can be applied\nonly once.\n\nRequires Resource.ApplyRecommendation privilege on the storage pod. And\nrequires Resource.ColdMigrate privilege on the virtual machine(s) that\nare relocated. Additionally requires Resource.HotMigrate privilege if\nthe virtual machine is powered on (for Storage VMotion). Also requires\nDatastore.AllocateSpace on any datastore the virtual machine or its disks\nare relocated to.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyStorageDrsRecommendationToPodRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/CancelStorageDrsRecommendation": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Cancels a recommendation.\n",
        "operationId": "StorageResourceManager_CancelStorageDrsRecommendation",
        "description": "Cancels a recommendation.\n\nCurrently only initial placement\nrecommendations can be cancelled. Migration recommendations cannot.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelStorageDrsRecommendationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/ConfigureStorageDrsForPod_Task": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Change the storage DRS configuration for a pod *StoragePod*.\n",
        "operationId": "StorageResourceManager_ConfigureStorageDrsForPod_Task",
        "description": "Change the storage DRS configuration for a pod *StoragePod*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigureStorageDrsForPodRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/QueryDatastorePerformanceSummary": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Returns datastore summary performance statistics.\n",
        "operationId": "StorageResourceManager_QueryDatastorePerformanceSummary",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nReturns datastore summary performance statistics.\n\nThis is an experimental interface that is not intended for\nuse in production code.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDatastorePerformanceSummaryRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Summary performance statistics for the datastore. The summary\ncontains latency, throughput, and SIOC activity.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoragePerformanceSummary"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if input datastore cannot be found\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/RecommendDatastores": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "operationId": "StorageResourceManager_RecommendDatastores",
        "description": "This method returns a *StoragePlacementResult* object.\nThis API is intended to replace the following existing APIs for\nSDRS-enabled pods:\nCreateVm: StoragePlacementSpec::type == create =\n*Folder.CreateVM_Task*\nAddDisk: StoragePlacementSpec::type == reconfigure =\n*VirtualMachine.ReconfigVM_Task*\nRelocateVm: StoragePlacementSpec::type == relocate =\n*VirtualMachine.RelocateVM_Task*\nCloneVm: StoragePlacementSpec::type == clone =\n*VirtualMachine.CloneVM_Task*\nThe PodSelectionSpec parameter in StoragePlacementSpec is required\nfor all workflows. It specifies which SDRS-enabled pod the user\nhas selected for the VM and/or for each disk.\nFor CreateVm, RelocateVm and CloneVm, PodSelectionSpec.storagePod is\nthe user selected SDRS pod for the VM, i.e., its system files.\nFor all workflows, PodSelectionSpec.disk.storagePod is the\nuser selected SDRS pod for the given disk. Note that a\nDiskLocator must be specified for each disk that the user\nrequests to create, migrate or clone into an SDRS pod, even if it's\nthe same pod as the VM or the user has manually selected a datastore\nwithin the pod. If the user has manually selected a datastore, the\ndatastore must be specified in the workflow specific fields as\ndescribed below.\nFor CreateVm, AddDisk, the manually selected datastore\nmust be specified in ConfigSpec.files or\nConfigSpec.deviceChange.device.backing.datastore, the fields\nshould will be unset if the user wants SDRS to recommend the datastore.\nFor RelocateVm, the manually selected datastore must be specified in\nRelocateSpec.datastore or RelocateSpec.disk.datastore; the fields should\nbe unset iff the user wants SDRS recommendations. For CloneVm, the\nmanually selected datastore must be specified in\nCloneSpec.location.datastore or CloneSpec.location.disk\\[\\].datastore;\nthe fields should be unset iff the user wants SDRS recommendations.\nThe remaining expected input parameters in StoragePlacementSpec\nwill be the same as those for the existing API as determined by\nStoragePlacementSpec::type. If a parameter is optional in the\nexisting API, it will also be optional in the new API.\n- For CreateVm, the Folder, ConfigSpec, ResourcePool and HostSystem\n  parameters will be expected in StoragePlacementSpec. The disks\n  to be created can be determined by ConfigSpec -&gt;\n  VirtualDeviceSpec\\[\\] (deviceChange) -&gt; VirtualDevice (device) -&gt;\n  VirtualDisk (subclass).\n- For AddDisk, the VirtualMachine and ConfigSpec parameters will\n  be expected. The use of the ConfigSpec for determining the disks\n  to add will be the same as that in CreateVm.\n- For ExpandDisk, the VirtualMachine and ConfigSpec parameters will\n  be expected. The use of the ConfigSpec for determining the disks\n  to be expanded will be the same as the disks IDs of existing VM disks.\n- For RelocateVm, the VirtualMachine, RelocateSpec and\n  MovePriority parameters will be expected.\n- For CloneVm, the VirtualMachine, CloneSpec, Folder and cloneName\n  parameters will be expected.\n  \nSDRS takes into account constraints such as space usages,\n(anti-) affinity rules, datastore maintenance mode, etc. when\nmaking placement recommendations. Given that the constraints are\nsatisfied, SDRS tries to balance space usages and I/O loads in\nthe placement.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecommendDatastoresRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoragePlacementResult"
                }
              }
            }
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/RefreshStorageDrsRecommendation": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Make Storage DRS invoke again on the specified pod *StoragePod*\nand return a new list of recommendations.\n",
        "operationId": "StorageResourceManager_RefreshStorageDrsRecommendation",
        "description": "Make Storage DRS invoke again on the specified pod *StoragePod*\nand return a new list of recommendations.\n\nConcurrent \"refresh\" requests\nmay be combined together and trigger only one Storage DRS invocation.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshStorageDrsRecommendationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/RefreshStorageDrsRecommendationsForPod_Task": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Invoke Storage DRS on a specific pod *StoragePod*\nand return a new list of recommendations.\n",
        "operationId": "StorageResourceManager_RefreshStorageDrsRecommendationsForPod_Task",
        "description": "Invoke Storage DRS on a specific pod *StoragePod*\nand return a new list of recommendations.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshStorageDrsRecommendationsForPodRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgument"
                }
              }
            }
          }
        }
      }
    },
    "/StorageResourceManager/{moId}/ValidateStoragePodConfig": {
      "post": {
        "tags": [
          "StorageResourceManager"
        ],
        "summary": "Validate the new storage DRS configuration for a pod\n*StoragePod*.\n",
        "operationId": "StorageResourceManager_ValidateStoragePodConfig",
        "description": "Validate the new storage DRS configuration for a pod\n*StoragePod*.\n\nIf validation fails, it will return with InvalidArgument fault.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateStoragePodConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{moId}/SetTaskDescription": {
      "post": {
        "tags": [
          "Task"
        ],
        "summary": "Updates task description to describe the current phase of the task.\n",
        "operationId": "Task_SetTaskDescription",
        "description": "Updates task description to describe the current phase of the task.\n\n***Required privileges:*** Task.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetTaskDescriptionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Task/{moId}/UpdateProgress": {
      "post": {
        "tags": [
          "Task"
        ],
        "summary": "Sets percentage done for this task and recalculates overall\npercentage done.\n",
        "operationId": "Task_UpdateProgress",
        "description": "Sets percentage done for this task and recalculates overall\npercentage done.\n\nIf a percentDone value of less than zero or\ngreater than 100 is specified, a value of zero or 100\nrespectively is used.\n\n***Required privileges:*** Task.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProgressRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: If task is not running\n\n***OutOfBounds***: VirtualCenter 2.x servers throw\nthis fault if percentDone is less than 0 or greater than 100. Newer\nversions behave as described above, and never throw this fault.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{moId}/CancelTask": {
      "post": {
        "tags": [
          "Task"
        ],
        "summary": "Cancels a running or queued task.\n",
        "operationId": "Task_CancelTask",
        "description": "Cancels a running or queued task.\n\nA task may only be canceled if it is\ncancelable. Multiple cancel requests will be treated as a single\ncancelation request. Canceling a completed or already canceled task\nwill throw an InvalidState exception.\n\nIf a task is canceled, its runtime state will be set to error and its\nerror state will be set to *RequestCanceled*.\n\nA cancel operation is asynchronous. The operation may return before\nthe task is canceled.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: If the task is not cancelable.\n\n***InvalidState***: If the task is already canceled or completed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "Task"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "Task_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/Task/{moId}/SetTaskState": {
      "post": {
        "tags": [
          "Task"
        ],
        "summary": "Sets task state and optionally sets results or fault,\nas appropriate for state\n",
        "operationId": "Task_SetTaskState",
        "description": "Sets task state and optionally sets results or fault,\nas appropriate for state\n\n***Required privileges:*** Task.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetTaskStateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: If attempting to change states after\ntask is completed or in error, or attempting to set the\nresult or fault incorrectly\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{moId}/availableField": {
      "get": {
        "tags": [
          "Task"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "Task_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Task/{moId}/info": {
      "get": {
        "tags": [
          "Task"
        ],
        "summary": "Detailed information about this task.\n",
        "operationId": "Task_getInfo",
        "description": "Detailed information about this task.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskInfo"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{moId}/value": {
      "get": {
        "tags": [
          "Task"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "Task_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/TaskHistoryCollector/{moId}/ReadNextTasks": {
      "post": {
        "tags": [
          "TaskHistoryCollector"
        ],
        "summary": "Reads the 'scrollable view' from the current position.\n",
        "operationId": "TaskHistoryCollector_ReadNextTasks",
        "description": "Reads the 'scrollable view' from the current position.\n\nThe scrollable\nposition is moved to the next newer page after the read. No item is\nreturned when the end of the collector is reached.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReadNextTasksRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaskInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/TaskHistoryCollector/{moId}/ReadPreviousTasks": {
      "post": {
        "tags": [
          "TaskHistoryCollector"
        ],
        "summary": "Reads the 'scrollable view' from the current position.\n",
        "operationId": "TaskHistoryCollector_ReadPreviousTasks",
        "description": "Reads the 'scrollable view' from the current position.\n\nThe scrollable\nposition is then moved to the next older page after the read. No item is\nreturned when the head of the collector is reached.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReadPreviousTasksRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaskInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/TaskHistoryCollector/{moId}/DestroyCollector": {
      "post": {
        "tags": [
          "TaskHistoryCollector"
        ],
        "summary": "Destroys this collector.\n",
        "operationId": "TaskHistoryCollector_DestroyCollector",
        "description": "Destroys this collector.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/TaskHistoryCollector/{moId}/ResetCollector": {
      "post": {
        "tags": [
          "TaskHistoryCollector"
        ],
        "summary": "Moves the \"scrollable view\" to the item immediately preceding the\n\"viewable latest page\".\n",
        "operationId": "TaskHistoryCollector_ResetCollector",
        "description": "Moves the \"scrollable view\" to the item immediately preceding the\n\"viewable latest page\".\n\nIf you use \"readPrev\",\n*ReadPreviousTasks* or\n*ReadPreviousEvents*,\nall items\nare retrieved from the newest item to the oldest item.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/TaskHistoryCollector/{moId}/RewindCollector": {
      "post": {
        "tags": [
          "TaskHistoryCollector"
        ],
        "summary": "Moves the \"scrollable view\" to the oldest item.\n",
        "operationId": "TaskHistoryCollector_RewindCollector",
        "description": "Moves the \"scrollable view\" to the oldest item.\n\nIf you use\n*ReadNextTasks* or\n*ReadNextEvents*,\nall items are retrieved from the oldest item to the newest item. This\nis the default setting when the collector is created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/TaskHistoryCollector/{moId}/SetCollectorPageSize": {
      "post": {
        "tags": [
          "TaskHistoryCollector"
        ],
        "summary": "Sets the \"viewable latest page\" size to contain at most the\nnumber of items specified by the maxCount parameter).\n",
        "operationId": "TaskHistoryCollector_SetCollectorPageSize",
        "description": "Sets the \"viewable latest page\" size to contain at most the\nnumber of items specified by the maxCount parameter).\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetCollectorPageSizeRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/TaskHistoryCollector/{moId}/filter": {
      "get": {
        "tags": [
          "TaskHistoryCollector"
        ],
        "summary": "The filter used to create this collector.\n",
        "operationId": "TaskHistoryCollector_getFilter",
        "description": "The filter used to create this collector.\n\nThe type of the returned filter is determined by the managed object\nfor which the collector is created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Any"
                }
              }
            }
          }
        }
      }
    },
    "/TaskHistoryCollector/{moId}/latestPage": {
      "get": {
        "tags": [
          "TaskHistoryCollector"
        ],
        "summary": "The items in the 'viewable latest page'.\n",
        "operationId": "TaskHistoryCollector_getLatestPage",
        "description": "The items in the 'viewable latest page'.\n\nAs new tasks that match the\ncollector's *TaskFilterSpec* are created, they are added to this\npage, and the oldest tasks are removed from the collector to keep the\nsize of the page to that allowed by\n*HistoryCollector.SetCollectorPageSize*.\n\nThe \"oldest task\" is the one with the oldest creation time. The\ntasks in the returned page are unordered.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaskInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/TaskManager/{moId}/CreateCollectorForTasks": {
      "post": {
        "tags": [
          "TaskManager"
        ],
        "summary": "Creates a *TaskHistoryCollector*, a\nspecialized *HistoryCollector* that gathers\n*TaskInfo* data objects.\n",
        "operationId": "TaskManager_CreateCollectorForTasks",
        "description": "Creates a *TaskHistoryCollector*, a\nspecialized *HistoryCollector* that gathers\n*TaskInfo* data objects.\n\nA *TaskHistoryCollector* does not persist\nbeyond the current client session.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCollectorForTasksRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The task collector based on the filter.\n\nRefers instance of *TaskHistoryCollector*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the filter is null or unknown.\n\n***InvalidState***: if there are more than the maximum number of\ntask collectors.\n\n***NotSupported***: if called directly on a host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/TaskManager/{moId}/CreateCollectorWithInfoFilterForTasks": {
      "post": {
        "tags": [
          "TaskManager"
        ],
        "summary": "Creates a *TaskHistoryCollector*, a\nspecialized *HistoryCollector* that gathers\n*TaskInfo* data objects.\n",
        "operationId": "TaskManager_CreateCollectorWithInfoFilterForTasks",
        "description": "Creates a *TaskHistoryCollector*, a\nspecialized *HistoryCollector* that gathers\n*TaskInfo* data objects.\n\nA *TaskHistoryCollector* does not persist\nbeyond the current client session.\n\n***Since:*** vSphere API Release 8.0.3.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCollectorWithInfoFilterForTasksRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The task collector based on the filter.\n\nRefers instance of *TaskHistoryCollector*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the filter is null or unknown.\n\n***InvalidState***: if there are more than the maximum number of\ntask collectors.\n\n***NotSupported***: if called directly on a host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/TaskManager/{moId}/CreateTask": {
      "post": {
        "tags": [
          "TaskManager"
        ],
        "summary": "Creates a new *Task*, specifying the object with which\nthe *Task* is associated, the type of task,\nand whether the task is cancelable.\n",
        "operationId": "TaskManager_CreateTask",
        "description": "Creates a new *Task*, specifying the object with which\nthe *Task* is associated, the type of task,\nand whether the task is cancelable.\n\nUse this operation in conjunction\nwith the *ExtensionManager*.\n\n***Required privileges:*** Task.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTaskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "*TaskInfo* data object describing the new task\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskInfo"
                }
              }
            }
          }
        }
      }
    },
    "/TaskManager/{moId}/description": {
      "get": {
        "tags": [
          "TaskManager"
        ],
        "summary": "Locale-specific, static strings that describe *Task*\ninformation to users.\n",
        "operationId": "TaskManager_getDescription",
        "description": "Locale-specific, static strings that describe *Task*\ninformation to users.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskDescription"
                }
              }
            }
          }
        }
      }
    },
    "/TaskManager/{moId}/maxCollector": {
      "get": {
        "tags": [
          "TaskManager"
        ],
        "summary": "Maximum number of *TaskHistoryCollector*\ndata objects that can exist concurrently, per client.\n",
        "operationId": "TaskManager_getMaxCollector",
        "description": "Maximum number of *TaskHistoryCollector*\ndata objects that can exist concurrently, per client.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/TaskManager/{moId}/recentTask": {
      "get": {
        "tags": [
          "TaskManager"
        ],
        "summary": "A list of *Task* managed objects that completed recently,\nthat are currently running, or that are queued to run.\n",
        "operationId": "TaskManager_getRecentTask",
        "description": "A list of *Task* managed objects that completed recently,\nthat are currently running, or that are queued to run.\n\nThe list contains only *Task* objects that the client\nhas permission to access, which is determined by having permission to\naccess the *Task* object's managed *entity*.\n\nThe completed *Task* objects by default include only\n*Task* objects that completed within the past 10 minutes.\nWhen connected to vCenter Server, there is an additional default limitation\nthat each of the completed *Task* objects in this list is one\nof the last 200 completed *Task* objects.\n\nThis property should not be used for tracking *Task*\ncompletion. Generally, a *ListView* is a better way to\nmonitor a specific set of *Task* objects.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/TenantTenantManager/{moId}/MarkServiceProviderEntities": {
      "post": {
        "tags": [
          "TenantTenantManager"
        ],
        "summary": "Define a set of ManagedEntity objects as used for tenant management.\n",
        "operationId": "TenantTenantManager_MarkServiceProviderEntities",
        "description": "Define a set of ManagedEntity objects as used for tenant management.\n\nThose entities are a starting point of an inventory hierarchy\n(sub-tree) that functionally exists in the tenant's inventory but are\nowned by the system user of the vCenter Server.\nThe operations which the tenant may perform on these objects depend\non the permissions granted to the tenant by the SaaS provisioning\nlayer.\nPermissions that the tenant may create on the parent objects of the\nmanagement entities do not propagate to the hierarchies of\nmanagement entities and thus have no effect on them.\nThis operation will fail for all the entities if any of them does\nnot exist.\nThe method behaviour is transactional - either all entities are\nmarked or none if an error occurs while processing them.\nThe user calling this method should hold TenantManager.Update on the\nroot folder and TenantManager.Update on each entity currently\nbeing marked as a service provider one. These are strict privilege\nrequirements allowing only administrators to call the method.\n\n***Required privileges:*** TenantManager.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkServiceProviderEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ManagedObjectNotFound***: if any of the entities doesn't exist.\n\n***AuthMinimumAdminPermission***: if this change will leave the\nsystem with no Administrator permission on the root folder\nof the service provider inventory.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/TenantTenantManager/{moId}/RetrieveServiceProviderEntities": {
      "post": {
        "tags": [
          "TenantTenantManager"
        ],
        "summary": "Retrieves the list of tenant management entities.\n",
        "operationId": "TenantTenantManager_RetrieveServiceProviderEntities",
        "description": "Retrieves the list of tenant management entities.\n\n***Required privileges:*** TenantManager.Query\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "the array of tenant management resources.\n\nRefers instances of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/TenantTenantManager/{moId}/UnmarkServiceProviderEntities": {
      "post": {
        "tags": [
          "TenantTenantManager"
        ],
        "summary": "Resets the management type of an array of ManagedEntity objects.\n",
        "operationId": "TenantTenantManager_UnmarkServiceProviderEntities",
        "description": "Resets the management type of an array of ManagedEntity objects.\n\nThis operation will fail if any of the entities does not exist.\nThe method behaviour is transactional - either all entities are\nunmarked or none if an error occurs while processing them.\nThe user calling this method should hold TenantManager.Update on the\nroot folder and TenantManager.Update on each entity currently\nbeing unmarked as a service provider one. These are strict privilege\nrequirements allowing only administrators to call the method.\n\n***Required privileges:*** TenantManager.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnmarkServiceProviderEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***ManagedObjectNotFound***: if any of the entities doesn't exist.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectNotFound"
                }
              }
            }
          }
        }
      }
    },
    "/UserDirectory/{moId}/RetrieveUserGroups": {
      "post": {
        "tags": [
          "UserDirectory"
        ],
        "summary": "Returns a list of *UserSearchResult* objects describing the\nusers and groups defined for the server.\n",
        "operationId": "UserDirectory_RetrieveUserGroups",
        "description": "Returns a list of *UserSearchResult* objects describing the\nusers and groups defined for the server.\n- On Windows, the search for users and groups is restricted to\n  the given domain. If you omit the domain argument, then\n  the search is performed on local users and groups.\n- On ESX Server (or Linux systems), the method returns the list\n  of users and groups that are specified in the /etc/passwd file.\n  If the password file contains Sun NIS or NIS+ users and groups,\n  the returned list includes information about those as well.\n  \nYou must hold the Authorization.ModifyPermissions privilege to invoke this\nmethod. If you hold the privilege on any ManagedEntity, you will\nhave access to user and group information for the server.\n\nAs of vSphere API 5.1:\n- Local user groups on ESXi are not supported and this method will\n  not return information about local groups on the ESXi host.\n  Information about Active Directory groups is not affected.\n- Some special system users on ESXi like 'nfsnobody' and 'daemon'\n  will be filtered out by this method.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveUserGroupsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserSearchResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If you specify a domain for systems that do not support\ndomains, such as an ESX Server. The method also throws\nNotSupported if you specify membership (belongsToGroup or\nbelongsToUser) and the server does not support\nby-membership queries.\n\n***NotFound***: If any of the domain, belongsToGroup, or belongsToUser\narguments refer to entities that do not exist.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/UserDirectory/{moId}/domainList": {
      "get": {
        "tags": [
          "UserDirectory"
        ],
        "summary": "List of Windows domains available for user searches, if the underlying\nsystem supports windows domain membership.\n",
        "operationId": "UserDirectory_getDomainList",
        "description": "List of Windows domains available for user searches, if the underlying\nsystem supports windows domain membership.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VStorageObjectManagerBase/{moId}/VStorageObjectCreateSnapshotEx_Task": {
      "post": {
        "tags": [
          "VStorageObjectManagerBase"
        ],
        "summary": "Creates a snapshot of a given VStorageObject.\n",
        "operationId": "VStorageObjectManagerBase_VStorageObjectCreateSnapshotEx_Task",
        "description": "Creates a snapshot of a given VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectCreateSnapshotExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VStorageObjectManagerBase/{moId}/VStorageObjectDeleteSnapshotEx_Task": {
      "post": {
        "tags": [
          "VStorageObjectManagerBase"
        ],
        "summary": "Deletes a given snapshot of a VStorageObject.\n",
        "operationId": "VStorageObjectManagerBase_VStorageObjectDeleteSnapshotEx_Task",
        "description": "Deletes a given snapshot of a VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectDeleteSnapshotExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VStorageObjectManagerBase/{moId}/VStorageObjectExtendDiskEx_Task": {
      "post": {
        "tags": [
          "VStorageObjectManagerBase"
        ],
        "summary": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n",
        "operationId": "VStorageObjectManagerBase_VStorageObjectExtendDiskEx_Task",
        "description": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n\nIf new capacity is smaller than current disk capacity, then\noperation fails due to invalid capacity. If new capacity is greater\nthan current disk capacity, then operation proceeds. If new capacity\nis equal to current disk ccapcity, then operation succeeds without\nany actual extension.\nThe extended disk region will be the same as the original disk:\n\\- For a zerothick disk, the extended disk region will be zeroedthick.\n\\- For an eagerzerothick disk, the extended disk region will be\neagerzeroedthick\n\\- A thin-provisioned disk will always be extended as a thin-provisioned\ndisk.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectExtendDiskExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while extending the virtual disk.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be extended.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VStorageObjectManagerBase/{moId}/RenameVStorageObjectEx": {
      "post": {
        "tags": [
          "VStorageObjectManagerBase"
        ],
        "summary": "Rename a virtual storage object.\n",
        "operationId": "VStorageObjectManagerBase_RenameVStorageObjectEx",
        "description": "Rename a virtual storage object.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameVStorageObjectExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The vclock info of this operation\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vslmVClockInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while renaming the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VStorageObjectManagerBase/{moId}/RevertVStorageObjectEx_Task": {
      "post": {
        "tags": [
          "VStorageObjectManagerBase"
        ],
        "summary": "Reverts to a given snapshot of a VStorageObject.\n",
        "operationId": "VStorageObjectManagerBase_RevertVStorageObjectEx_Task",
        "description": "Reverts to a given snapshot of a VStorageObject.\n\nThis operation is supported on detached VirtualDisks\nDuring revert all the snapshots which were taken after the specified\nsnapshot would get deleted.\n\nE.g. Consider Disk with 4 snapshots\n\nBaseDisk -&gt; Snap-2 -&gt; Snap-3 -&gt; Snap-4 -&gt; Running-Point\n\nIf user chooses to revert to snap-2 then snap-4 and snap-3 would also\nbe deleted. After revert operation disk would have below configuration:\n\nBaseDisk -&gt; Snap-2 -&gt; Running-Point\n\nRequires Datastore.FileManagement privilege.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevertVStorageObjectExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RevertVStorageObject_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Reverts to a given snapshot of a VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_RevertVStorageObject_Task",
        "description": "Reverts to a given snapshot of a VStorageObject.\n\nThis operation is supported on detached VirtualDisks\nDuring revert all the snapshots which were taken after the specified\nsnapshot would get deleted.\n\nE.g. Consider Disk with 4 snapshots\n\nBaseDisk -&gt; Snap-2 -&gt; Snap-3 -&gt; Snap-4 -&gt; Running-Point\n\nIf user chooses to revert to snap-2 then snap-4 and snap-3 would also\nbe deleted. After revert operation disk would have below configuration:\n\nBaseDisk -&gt; Snap-2 -&gt; Running-Point\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevertVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/AttachTagToVStorageObject": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Attach a tag to a virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_AttachTagToVStorageObject",
        "description": "Attach a tag to a virtual storage object.\n\nRequires privilege InventoryService.Tagging.AttachTag on root folder\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachTagToVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If the specified category or tag cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/ClearVStorageObjectControlFlags": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Clear control flags on VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_ClearVStorageObjectControlFlags",
        "description": "Clear control flags on VStorageObject.\n\nThe control flags are defined in\n*vslmVStorageObjectControlFlag_enum*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClearVStorageObjectControlFlagsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed.\n\n***NotFound***: If specified virtual storage object cannot\nbe found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/CloneVStorageObject_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Clone a virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_CloneVStorageObject_Task",
        "description": "Clone a virtual storage object.\n\nRequires Datastore.FileManagement privilege on both source and\ndestination datastore.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloneVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while cloning the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object cannot be\nfound.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/CreateDisk_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Create a virtual disk, which is a storage object with\n*disk*\nas consumption type.\n",
        "operationId": "VcenterVStorageObjectManager_CreateDisk_Task",
        "description": "Create a virtual disk, which is a storage object with\n*disk*\nas consumption type.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk object is created.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nmonitor the operation. The *info.result*\nproperty in the *Task* contains the newly created\n*VStorageObject* upon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when creating the virtual disk.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/CreateDiskFromSnapshot_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Creates a new Disk from given snapshot of a VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_CreateDiskFromSnapshot_Task",
        "description": "Creates a new Disk from given snapshot of a VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDiskFromSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/VStorageObjectCreateSnapshot_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Creates a snapshot of a given VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_VStorageObjectCreateSnapshot_Task",
        "description": "Creates a snapshot of a given VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectCreateSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/VStorageObjectCreateSnapshotEx_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Creates a snapshot of a given VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_VStorageObjectCreateSnapshotEx_Task",
        "description": "Creates a snapshot of a given VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectCreateSnapshotExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/DeleteSnapshot_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Deletes a given snapshot of a VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_DeleteSnapshot_Task",
        "description": "Deletes a given snapshot of a VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/VStorageObjectDeleteSnapshotEx_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Deletes a given snapshot of a VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_VStorageObjectDeleteSnapshotEx_Task",
        "description": "Deletes a given snapshot of a VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectDeleteSnapshotExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/DeleteVStorageObject_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Delete a virtual storage object and its associated backings.\n",
        "operationId": "VcenterVStorageObjectManager_DeleteVStorageObject_Task",
        "description": "Delete a virtual storage object and its associated backings.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when deleting the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be deleted.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/DeleteVStorageObjectEx_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Delete a virtual storage object and its associated backings.\n",
        "operationId": "VcenterVStorageObjectManager_DeleteVStorageObjectEx_Task",
        "description": "Delete a virtual storage object and its associated backings.\n\nReturns\nthe corresponding vclock upon succeess.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Since:*** vSphere API Release 7.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteVStorageObjectExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when deleting the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be deleted.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/DetachTagFromVStorageObject": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Detach a tag from a virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_DetachTagFromVStorageObject",
        "description": "Detach a tag from a virtual storage object.\n\nRequires privilege InventoryService.Tagging.AttachTag on root folder\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DetachTagFromVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If the specified category or tag cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/ExtendDisk_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n",
        "operationId": "VcenterVStorageObjectManager_ExtendDisk_Task",
        "description": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n\nIf new capacity is smaller than current disk capacity, then\noperation fails due to invalid capacity. If new capacity is greater\nthan current disk capacity, then operation proceeds. If new capacity\nis equal to current disk ccapcity, then operation succeeds without\nany actual extension.\nThe extended disk region will be the same as the original disk:\n\\- For a zerothick disk, the extended disk region will be zeroedthick.\n\\- For an eagerzerothick disk, the extended disk region will be\neagerzeroedthick\n\\- A thin-provisioned disk will always be extended as a thin-provisioned\ndisk.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while extending the virtual disk.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be extended.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/VStorageObjectExtendDiskEx_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n",
        "operationId": "VcenterVStorageObjectManager_VStorageObjectExtendDiskEx_Task",
        "description": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n\nIf new capacity is smaller than current disk capacity, then\noperation fails due to invalid capacity. If new capacity is greater\nthan current disk capacity, then operation proceeds. If new capacity\nis equal to current disk ccapcity, then operation succeeds without\nany actual extension.\nThe extended disk region will be the same as the original disk:\n\\- For a zerothick disk, the extended disk region will be zeroedthick.\n\\- For an eagerzerothick disk, the extended disk region will be\neagerzeroedthick\n\\- A thin-provisioned disk will always be extended as a thin-provisioned\ndisk.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VStorageObjectExtendDiskExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while extending the virtual disk.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be extended.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/InflateDisk_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Inflate a sparse or thin-provisioned virtual disk up to the full size.\n",
        "operationId": "VcenterVStorageObjectManager_InflateDisk_Task",
        "description": "Inflate a sparse or thin-provisioned virtual disk up to the full size.\n\nAdditional space allocated to the disk as a result of this operation\nwill be filled with zeros.\n\nCurrently inflateDisk API only supports the following combinations:\nValid provisioning type: THIN;\nValid Datastore: VMFS, NFS.\nInflating a disk is not applicable for VVol/VSAN datastore.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InflateDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while inflating the virtual disk.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be extended.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/ListTagsAttachedToVStorageObject": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Lists all tags attached to virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_ListTagsAttachedToVStorageObject",
        "description": "Lists all tags attached to virtual storage object.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTagsAttachedToVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of Tag-association tuples associated with the\nvirtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VslmTagEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the specified category or tag cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/ListVStorageObject": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "List all virtual storage objects located on a datastore.\n",
        "operationId": "VcenterVStorageObjectManager_ListVStorageObject",
        "description": "List all virtual storage objects located on a datastore.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of IDs of the virtual storage objects located on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ID"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found or\nis inaccessible.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidDatastore"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/ListVStorageObjectsAttachedToTag": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Lists all virtual storage objects attached to the tag.\n",
        "operationId": "VcenterVStorageObjectManager_ListVStorageObjectsAttachedToTag",
        "description": "Lists all virtual storage objects attached to the tag.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListVStorageObjectsAttachedToTagRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of IDs of the virtual storage objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ID"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the specified category or tag cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/VstorageObjectVCenterQueryChangedDiskAreas": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Get a list of areas of a virtual disk that have been modified since a\nwell-defined point in the past.\n",
        "operationId": "VcenterVStorageObjectManager_VstorageObjectVCenterQueryChangedDiskAreas",
        "description": "Get a list of areas of a virtual disk that have been modified since a\nwell-defined point in the past.\n\nThe beginning of the change interval is\nidentified by \"changeId\", while the end of the change interval is implied\nby the snapshot ID passed in.\n\nNote that the result of this function may contain \"false positives\"\n(i.e: flag areas of the disk as modified that are not). However, it is\nguaranteed that no changes will be missed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VstorageObjectVCenterQueryChangedDiskAreasRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a data structure specifying extents of the virtual disk\nthat have changed since the thime the changeId string was\nobtained.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiskChangeInfo"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object or snapshot\ncannot be found.\n\n***FileFault***: if the virtual disk files cannot be accessed/queried.\n\n***InvalidState***: if change tracking is not supported for this\nparticular disk.\n\n***InvalidArgument***: if startOffset is beyond the end of the virtual\ndisk or changeId is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/QueryVirtualDiskUuidEx": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Get the virtual disk UUID.\n",
        "operationId": "VcenterVStorageObjectManager_QueryVirtualDiskUuidEx",
        "description": "Get the virtual disk UUID.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\nA URL has the form\n> _scheme_://_authority_/folder/_path_?dcPath=_dcPath_&amp;dsName=_dsName_\n\nwhere\n- _scheme_ is <code>http</code> or <code>https</code>.\n- _authority_ specifies the hostname or IP address of the VirtualCenter or\n  ESX server and optionally the port.\n- _dcPath_ is the inventory path to the Datacenter containing the\n  Datastore.\n- _dsName_ is the name of the Datastore.\n- _path_ is a slash-delimited path from the root of the datastore.\n\n***Since:*** vSphere API Release 8.0.3.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVirtualDiskUuidExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The hex representation of the unique ID for this virtual disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs reading the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/ReconcileDatastoreInventory_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Reconcile the datastore inventory info of virtual storage objects.\n",
        "operationId": "VcenterVStorageObjectManager_ReconcileDatastoreInventory_Task",
        "description": "Reconcile the datastore inventory info of virtual storage objects.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconcileDatastoreInventoryRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RegisterDisk": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Promote a virtual disk to a First Class Disk.\n",
        "operationId": "VcenterVStorageObjectManager_RegisterDisk",
        "description": "Promote a virtual disk to a First Class Disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The registered virtual storage object for the disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObject"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while registering the virtual disk.\n\n***InvalidDatastore***: If datastore cannot be found or the operation\ncannot be performed on the datastore.\n\n***AlreadyExists***: If disk is already registered as a\nvirtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RelocateVStorageObject_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Relocate a virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_RelocateVStorageObject_Task",
        "description": "Relocate a virtual storage object.\n\nRequires Datastore.FileManagement privilege on both source and\ndestination datastore.\n\nIf there is no host that has access to both source and destination datastore,\nthen limited number of concurrent relocations are supported. This number is\nset to 10.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RelocateVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while relocating the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be relocated.\n\n***NotFound***: If specified virtual storage object cannot\nbe found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RenameVStorageObject": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Rename a virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_RenameVStorageObject",
        "description": "Rename a virtual storage object.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***FileFault***: If an error occurs while renaming the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RenameVStorageObjectEx": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Rename a virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_RenameVStorageObjectEx",
        "description": "Rename a virtual storage object.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameVStorageObjectExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The vclock info of this operation\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vslmVClockInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while renaming the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RetrieveSnapshotDetails": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Retrieves snapshot disk details of a given snapshot.\n",
        "operationId": "VcenterVStorageObjectManager_RetrieveSnapshotDetails",
        "description": "Retrieves snapshot disk details of a given snapshot.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveSnapshotDetailsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObjectSnapshotDetails"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RetrieveSnapshotInfo": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Retrieves snapshot information of a given VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_RetrieveSnapshotInfo",
        "description": "Retrieves snapshot information of a given VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveSnapshotInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObjectSnapshotInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RetrieveVStorageInfrastructureObjectPolicy": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Retrieve virtual storage infrastructure object SBPM policy on given\ndatastore.\n",
        "operationId": "VcenterVStorageObjectManager_RetrieveVStorageInfrastructureObjectPolicy",
        "description": "Retrieve virtual storage infrastructure object SBPM policy on given\ndatastore.\n\nOnly support VSAN datastore.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage infrastructure object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveVStorageInfrastructureObjectPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The policy object of virtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/vslmInfrastructureObjectPolicy"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RetrieveVStorageObject": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Retrieve a virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_RetrieveVStorageObject",
        "description": "Retrieve a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The required virtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObject"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when retrieving the virtual object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RetrieveVStorageObjectAssociations": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Retrieve vm associations for each virtual storage object in the query.\n",
        "operationId": "VcenterVStorageObjectManager_RetrieveVStorageObjectAssociations",
        "description": "Retrieve vm associations for each virtual storage object in the query.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveVStorageObjectAssociationsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of VStorageObjectVmAssociations which provides virtual\nstorage object id to vm associations mapping.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VStorageObjectAssociations"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RetrieveVStorageObjectState": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Retrieve a virtual storage object state.\n",
        "operationId": "VcenterVStorageObjectManager_RetrieveVStorageObjectState",
        "description": "Retrieve a virtual storage object state.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveVStorageObjectStateRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The required virtual storage object state.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObjectStateInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when retrieving the virtual object\nstate.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/RevertVStorageObjectEx_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Reverts to a given snapshot of a VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_RevertVStorageObjectEx_Task",
        "description": "Reverts to a given snapshot of a VStorageObject.\n\nThis operation is supported on detached VirtualDisks\nDuring revert all the snapshots which were taken after the specified\nsnapshot would get deleted.\n\nE.g. Consider Disk with 4 snapshots\n\nBaseDisk -&gt; Snap-2 -&gt; Snap-3 -&gt; Snap-4 -&gt; Running-Point\n\nIf user chooses to revert to snap-2 then snap-4 and snap-3 would also\nbe deleted. After revert operation disk would have below configuration:\n\nBaseDisk -&gt; Snap-2 -&gt; Running-Point\n\nRequires Datastore.FileManagement privilege.\n\n***Since:*** vSphere API Release 8.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevertVStorageObjectExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/ScheduleReconcileDatastoreInventory": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Schedules reconcile of the inventory info of virtual storage objects on\none of the hosts that is connected with the datastore.\n",
        "operationId": "VcenterVStorageObjectManager_ScheduleReconcileDatastoreInventory",
        "description": "Schedules reconcile of the inventory info of virtual storage objects on\none of the hosts that is connected with the datastore.\n\nThis method just\nschedules the reconcile operation for the nearby future and returns. Note\nthat since the reconcile operation will be executed after this method\nalready returns the success of this method should not be considered as\nsuccess of the actual reconcile operation.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduleReconcileDatastoreInventoryRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/SetVStorageObjectControlFlags": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Set control flags on VStorageObject.\n",
        "operationId": "VcenterVStorageObjectManager_SetVStorageObjectControlFlags",
        "description": "Set control flags on VStorageObject.\n\nThe control flags are defined in\n*vslmVStorageObjectControlFlag_enum*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetVStorageObjectControlFlagsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed.\n\n***NotFound***: If specified virtual storage object cannot\nbe found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/SetVirtualDiskUuidEx_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Set the virtual disk Uuid.\n",
        "operationId": "VcenterVStorageObjectManager_SetVirtualDiskUuidEx_Task",
        "description": "Set the virtual disk Uuid.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\nA URL has the form\n> _scheme_://_authority_/folder/_path_?dcPath=_dcPath_&amp;dsName=_dsName_\n\nwhere\n- _scheme_ is <code>http</code> or <code>https</code>.\n- _authority_ specifies the hostname or IP address of the VirtualCenter or\n  ESX server and optionally the port.\n- _dcPath_ is the inventory path to the Datacenter containing the\n  Datastore.\n- _dsName_ is the name of the Datastore.\n- _path_ is a slash-delimited path from the root of the datastore.\n\n***Since:*** vSphere API Release 8.0.3.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetVirtualDiskUuidExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs updating the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/UpdateVStorageInfrastructureObjectPolicy_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Assigns specified SBPM policy to the given virtual storage\ninfrastructure object.\n",
        "operationId": "VcenterVStorageObjectManager_UpdateVStorageInfrastructureObjectPolicy_Task",
        "description": "Assigns specified SBPM policy to the given virtual storage\ninfrastructure object.\n\nOnly support VSAN datastore.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage infrastructure object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVStorageInfrastructureObjectPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If there is issue with profile spec.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/UpdateVStorageObjectCrypto_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Update the crypto on a virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_UpdateVStorageObjectCrypto_Task",
        "description": "Update the crypto on a virtual storage object.\n\nThis is also intended for disk encryption, decryption and re-encryption.\nTo encrypt the disk, profile must contain an encryption component.\ndisksCrypto can be left as blank, which means caller doesn't care\nwhich key is used to encrypt the disk. If it's not blank, it has to\nbe of type CryptoSpecEncrypt.\nTo decrypt the disk, profile must not contain an encryption component.\ndisksCrypto can be left as blank, if not, it has be of type\nCryptoSpecDecrypt.\nTo re-encrypt the disk, profile must contain an encryption component.\ndisksCrypto cannot be left as blank. It has to be of type either\nCryptoSpecShallowRecrypt or CryptoSpecDeepRecrypt.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVStorageObjectCryptoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while updating the virtual storage\nobject policy.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/VCenterUpdateVStorageObjectMetadataEx_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Update metadata KV pairs to a virtual storage object and\nreturns the corresponding vclock upon success.\n",
        "operationId": "VcenterVStorageObjectManager_VCenterUpdateVStorageObjectMetadataEx_Task",
        "description": "Update metadata KV pairs to a virtual storage object and\nreturns the corresponding vclock upon success.\n\n***Since:*** vSphere API Release 7.0.2.0\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VCenterUpdateVStorageObjectMetadataExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found\nor is inaccessible.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VcenterVStorageObjectManager/{moId}/UpdateVStorageObjectPolicy_Task": {
      "post": {
        "tags": [
          "VcenterVStorageObjectManager"
        ],
        "summary": "Update the storage policy on a virtual storage object.\n",
        "operationId": "VcenterVStorageObjectManager_UpdateVStorageObjectPolicy_Task",
        "description": "Update the storage policy on a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVStorageObjectPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while updating the virtual storage\nobject policy.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***TaskInProgress***: If the virtual storage object is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/View/{moId}/DestroyView": {
      "post": {
        "tags": [
          "View"
        ],
        "summary": "Destroy this view.\n",
        "operationId": "View_DestroyView",
        "description": "Destroy this view.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/ViewManager/{moId}/CreateContainerView": {
      "post": {
        "tags": [
          "ViewManager"
        ],
        "summary": "Create a *ContainerView* managed object for this session.\n",
        "operationId": "ViewManager_CreateContainerView",
        "description": "Create a *ContainerView* managed object for this session.\n\nThe method returns\na reference to a *ContainerView* object that has a list of managed object references.\nThe list references objects in the container and may include references to objects from\nadditional containers. You can configure the resulting list of objects by specifying\na type list and recursion. Once you have created the view, the object list always\nrepresents the current configuration of the virtual environment and reflects any\nsubsequent changes that occur.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateContainerViewRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *ContainerView*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ViewManager/{moId}/CreateInventoryView": {
      "post": {
        "tags": [
          "ViewManager"
        ],
        "summary": "Create a new *InventoryView* managed object for this session.\n",
        "operationId": "ViewManager_CreateInventoryView",
        "description": "Create a new *InventoryView* managed object for this session.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *InventoryView*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ViewManager/{moId}/CreateListView": {
      "post": {
        "tags": [
          "ViewManager"
        ],
        "summary": "Create a *ListView* object for this session.\n",
        "operationId": "ViewManager_CreateListView",
        "description": "Create a *ListView* object for this session.\n\nThe method returns\na session object that has a list of managed object references. The list\nof references corresponds to the input object list.\nYou can modify the resulting list after you have created the object.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateListViewRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *ListView*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ViewManager/{moId}/CreateListViewFromView": {
      "post": {
        "tags": [
          "ViewManager"
        ],
        "summary": "Create a *ListView* object for this session.\n",
        "operationId": "ViewManager_CreateListViewFromView",
        "description": "Create a *ListView* object for this session.\n\nThis method uses an existing\nview to construct the object list for the new view.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateListViewFromViewRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *ListView*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/ViewManager/{moId}/viewList": {
      "get": {
        "tags": [
          "ViewManager"
        ],
        "summary": "An array of view references.\n",
        "operationId": "ViewManager_getViewList",
        "description": "An array of view references.\n\nEach array entry is a managed object reference\nto a view created by this ViewManager.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *View*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/CloneVApp_Task": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Creates a clone of this vApp.\n",
        "operationId": "VirtualApp_CloneVApp_Task",
        "description": "Creates a clone of this vApp.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\nWhen invoking this method, the following privilege checks occur:\n- The privilege VApp.Clone is required on this vApp.\n- If the target is a resource pool, the privilege\n  Resource.AssignVAppToPool is required on it.\n- If the target is a vApp, the privileges VApp.Clone and\n  VApp.AssignVApp are required on it.\n  \nAdditional privileges are required by the clone spec provided. See *VAppCloneSpec* for details.\n\n***Required privileges:*** VApp.Clone\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloneVAppRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the vApp is powered on.\n\n***TaskInProgress***: if the vApp is busy.\n\n***NotSupported***: if the operation is not supported by the current agent.\n\n***InvalidState***: if the operation cannot be performed because of the\nvApp's current state. For example, if the virtual machine\nconfiguration information is not available, or if the vApp\nis running.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***FileFault***: if there was an error accessing one of the virtual machine files.\n\n***VmConfigFault***: if one of the virtual machines are not compatible with a\ndestination host. Typically, a specific subclass of this exception is\nthrown, such as IDEDiskNotSupported.\n\n***MigrationFault***: if it is not possible to migrate one of the virtual machines\nto the destination. This is typically due to hosts being incompatible,\nsuch as mismatch in network polices or access to networks and datastores.\nTypically, a more specific subclass is thrown.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/CreateResourcePool": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Creates a new resource pool.\n",
        "operationId": "VirtualApp_CreateResourcePool",
        "description": "Creates a new resource pool.\n\n***Required privileges:*** Resource.CreatePool\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A reference to the new resource pool.\n\nRefers instance of *ResourcePool*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the ComputeResource does not support\nnested resource pools.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***DuplicateName***: if this pool already contains an object\nwith the given name.\n\n***InvalidArgument***: if the pool specification is invalid.\n\n***InsufficientResourcesFault***: if the operation would violate a resource\nusage policy. Typically, a more specific subclass, such as\nInsufficientCpuResourcesFault will be thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/CreateVApp": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Creates a new vApp container.\n",
        "operationId": "VirtualApp_CreateVApp",
        "description": "Creates a new vApp container.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** VApp.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVAppRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created vApp object.\n\nRefers instance of *VirtualApp*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the ComputeResource does not support\nnested resource pools.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***DuplicateName***: if this pool already contains an object\nwith the given name.\n\n***InvalidArgument***: if the pool specification is invalid.\n\n***InsufficientResourcesFault***: if the operation would violate a resource\nusage policy. Typically, a more specific subclass, such as\nInsufficientCpuResourcesFault will be thrown.\n\n***InvalidState***: if the resource pool does not support the operation in\nits current state. This will typically be a subclass such\nas *NoActiveHostInCluster*.\n\n***VmConfigFault***: or a more specific subclass, if errors are found in\nthe supplied in VApp configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/CreateChildVM_Task": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Creates a new virtual machine in a vApp container.\n",
        "operationId": "VirtualApp_CreateChildVM_Task",
        "description": "Creates a new virtual machine in a vApp container.\n\nThis method supports creating a virtual machine directly in a vApp. A\nvirtual machine in a vApp is not associated with a VM folder and therefore\ncannot be created using the method on a *Folder*.\n\nThis method can only be called directly on a *vApp*\nor on a resource pool that is a child of a vApp.\n\nThe privilege VirtualMachine.Inventory.Create is required on this entity. Further,\nif this is a resource pool, the privilege Resource.AssignVMToPool is required. If\nthis is a vApp, the privilege VApp.AssignVM is required.\n\nDepending on the properties of the virtual machine bring created, additional\nprivileges may be required. See *Folder.CreateVM_Task* for a description of\nthese privileges.\n\n***Required privileges:*** VirtualMachine.Inventory.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateChildVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly created *VirtualMachine*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmConfigFault***: if the configSpec has incorrect values. Typically, a more\nspecific subclass is thrown.\n\n***OutOfBounds***: if Host.capability.maxSupportedVMs is exceeded.\n\n***FileAlreadyExists***: if the requested cfgPath for the virtual machine's\nconfiguration file already exists.\n\n***FileFault***: if there is a problem creating the virtual machine on disk.\nTypically, a more specific subclass, such as NoDiskSpace, will be thrown.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***VmWwnConflict***: if the WWN of the virtual machine has been used by\nother virtual machines.\n\n***NotSupported***: if this resource pool is not a vApp or is a child\nof a vApp.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "VirtualApp_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** VApp.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/DestroyChildren": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Removes all child resource pools recursively.\n",
        "operationId": "VirtualApp_DestroyChildren",
        "description": "Removes all child resource pools recursively.\n\nAll virtual machines and vApps\nassociated with the child resource pools get associated with this resource pool.\n\nNote that resource pools contained in child vApps are not affected.\n\nThe privilege checks performed are the following.\n- Resource.DeletePool privilege must be held on this object and each of it's\n  immediate children to be destroyed.\n- If VMs are being moved, the privilege Resource.AssignVMToPool must be held\n  on this resource pool as well as on any virtual machines being moved.\n- If vApps are being moved, the privilege Resource.AssignVAppToPool\n  must be held on this resource pool as well as on any vApps being\n  moved.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VirtualApp/{moId}/ExportVApp": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Obtains an export lease on this vApp.\n",
        "operationId": "VirtualApp_ExportVApp",
        "description": "Obtains an export lease on this vApp.\n\nThe export lease contains a list\nof URLs for the disks of the virtual machines in this vApp, as well as\na ticket that gives access to these URLs.\n\nSee *HttpNfcLease* for information on how to use the lease.\n\n***Required privileges:*** VApp.Export\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "the export lease on this vApp. The export task continues\nrunning until the lease is completed or aborted.\n\nRefers instance of *HttpNfcLease*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the vApp is powered on.\n\n***TaskInProgress***: if the vApp is busy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvApp's current state. For example, if the virtual machine\nconfiguration information is not available, or if the vApp\nis running or already powering on.\n\n***FileFault***: if there was an error accessing one of the virtual machine files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/ImportVApp": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Creates a new entity in this resource pool.\n",
        "operationId": "VirtualApp_ImportVApp",
        "description": "Creates a new entity in this resource pool.\n\nThe import process consists of two\nsteps:\n1. Create the VMs and/or vApps that make up the entity.\n2. Upload virtual disk contents.\n   \nIn step 1, the client must wait for the server to create all inventory\nobjects. It does that by monitoring the *HttpNfcLease.state*\nproperty on the *HttpNfcLease* object returned from this call.\nWhen the server is done creating objects, the lease will change to the\nready state, and step 2 begins. If an error occurs while the server is\ncreating inventory objects, the lease will change to the error state, and\nthe import process is aborted.\n\nIn step 2, the client uploads disk contents using the URLs provided in the\n*HttpNfcLease.info* property of the lease. The client must call\n*HttpNfcLease.HttpNfcLeaseProgress* on the lease periodically to keep the\nlease alive and report progress to the server. Failure to do so will cause\nthe lease to time out, and the import process will be aborted.\n\nWhen the client is done uploading disks, it completes the lease by calling\n*HttpNfcLease.HttpNfcLeaseComplete*. The client can also abort the import\nprocess by calling *HttpNfcLease.HttpNfcLeaseAbort*.\n\nIf the import process fails, is aborted, or times out, all created inventory\nobjects are removed, including all virtual disks.\n\nThis operation only works if the folder's childType includes VirtualMachine.\n\nDepending on the properties of the virtual machine bring imported, additional\nprivileges may be required. See *Folder.CreateVM_Task* for a description of\nthese privileges.\n\n***Required privileges:*** VApp.Import\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportVAppRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "a *HttpNfcLease* object which is used to drive the import\nsession.\n\nRefers instance of *HttpNfcLease*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmConfigFault***: if a VM configSpec has incorrect values. Typically, a more\nspecific subclass is thrown.\n\n***OutOfBounds***: if Host.capability.maxSupportedVMs is exceeded.\n\n***FileAlreadyExists***: if the requested cfgPath for the virtual machine's\nconfiguration file already exists.\n\n***FileFault***: if there is a problem creating the virtual machine on disk.\nTypically, a more specific subclass, such as NoDiskSpace, will be thrown.\n\n***DuplicateName***: if another virtual machine in the same folder already has\nthe specified target name.\n\n***InvalidName***: if the name is not a valid entity name.\n\n***NotSupported***: if the virtual machine is being created within a folder\nwhose *Folder.childType* property is not set to \"VirtualMachine\",\na vApp is being imported into a resource pool that does not support\nnested resource pools, or a virtual machine is being imported into a resource\npool and no folder is given.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***VmWwnConflict***: if the WWN of the virtual machine has been used by\nother virtual machines.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/MoveIntoResourcePool": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Moves a set of resource pools, vApps or virtual machines into this pool.\n",
        "operationId": "VirtualApp_MoveIntoResourcePool",
        "description": "Moves a set of resource pools, vApps or virtual machines into this pool.\n\nThe\npools, vApps and virtual machines must be part of the cluster or standalone\nhost that contains this pool.\n\nFor each entity being moved, the move is subject to the following privilege\nchecks:\n- If the object being moved is a ResourcePool, then Resource.MovePool must be\n  held on the pool being moved and it's former parent pool or vApp. If the\n  target is a vApp, the privilege VApp.AssignResourcePool must be held on\n  it. If the target is a ResourcePool, Resource.MovePool must be held on it.\n- If the object being moved is a VirtualApp, VApp.Move must be held on\n  the vApp being moved and it's former parent pool or vApp. If the target\n  entity is a resource pool, Resource.AssignVAppToPool must be held on the\n  target. If the target is a vApp, the privilege VApp.AssignVApp must\n  be held on the target vApp.\n- If the object being moved is a VirtualMachine, then if the target is a\n  ResourcePool, Resource.AssignVMToPool is required on the VirtualMachine and the\n  target pool. If the target is a vApp, VApp.AssignVM is required on both\n  the VirtualMachine and the target pool.\n  \nThis operation is typically used by clients when they implement a drag-and-drop\ninterface to move a set of objects into a folder.\n\nThis operation is only transactional with respect to each individual entity.\nThe set of entities is moved sequentially, as specified in the list,\nand committed one at a time. If a failure is detected, then the method\nterminates with an exception.\n\nThe root resource pool cannot be moved.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveIntoResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DuplicateName***: if this pool already contains an object with\nthe given name.\n\n***InvalidArgument***: if an ancestor of this pool is in the list.\n\n***InsufficientResourcesFault***: if the move would violate the resource usage\npolicy. Typically, a more specific subclass, such as\nInsufficientMemoryResourcesFault.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/PowerOffVApp_Task": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Stops this vApp.\n",
        "operationId": "VirtualApp_PowerOffVApp_Task",
        "description": "Stops this vApp.\n\nThe virtual machines (or child vApps) will be stopped in the order\nspecified in the vApp configuration, if force is false. If force is set\nto true, all virtual machines are powered-off (in no specific order and\npossibly in parallel) regardless of the vApp auto-start configuration.\n\nWhile a vApp is stopping, all power operations performed on sub entities are\ndisabled through the VIM API. They will throw TaskInProgress.\n\n***Required privileges:*** VApp.PowerOff\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PowerOffVAppRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the vApp is not running\n\n***TaskInProgress***: if the vApp is busy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvApp's current state. For example, if the vApp is in the\nprocess of being started.\n\n***MissingPowerOffConfiguration***: if no vApp powerOff configuration\nhas been specified.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/PowerOnVApp_Task": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Starts this vApp.\n",
        "operationId": "VirtualApp_PowerOnVApp_Task",
        "description": "Starts this vApp.\n\nThe virtual machines (or sub vApps) will be started in the order\nspecified in the vApp configuration. If the vApp is suspended\n(@see vim.VirtualApp.Summary#suspended), all suspended virtual machines\nwill be powered-on based on the defined start-up order.\n\nWhile a vApp is starting, all power operations performed on sub entities are\ndisabled through the VIM API. They will throw TaskInProgress.\n\nIn case of a failure to power-on a virtual machine, the exception from the virtual\nmachine power on is returned, and the power-on sequence will be terminated. In\ncase of a failure, virtual machines that are already started will remain\npowered-on.\n\n***Required privileges:*** VApp.PowerOn\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the vApp is already running\n\n***TaskInProgress***: if the vApp is busy\n\n***NotEnoughLicenses***: if there are not enough licenses to power on one or more\nvirtual machines.\n\n***NotSupported***: if the vApp is marked as a template.\n\n***InvalidState***: if it fails to power on a virtual machine due to no host\navailability, or unable to access the configuration file of a VM.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***VmConfigFault***: if a configuration issue on the vApp or a virtual\nmachine in the vApp prevents the power-on to complete. Typically, a\nmore specific fault, such as InvalidPropertyType is thrown.\n\n***VAppConfigFault***: if a configuration issue on a vApp prevents the\npower-on. Typically, a more specific fault, MissingPowerOnConfiguration,\nis thrown.\n\n***FileFault***: if there is a problem accessing the virtual machine on the\nfilesystem.\n\n***MissingNetworkIpConfig***: if no network configuration exists for the primary\nnetwork for the vApp.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/QueryResourceConfigOption": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Get a value range and default values for *ResourceConfigSpec*.\n",
        "operationId": "VirtualApp_QueryResourceConfigOption",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.5.\n\nGet a value range and default values for *ResourceConfigSpec*.\n\nThis API was never implemented, and there is no replacement for it.\n\n***Required privileges:*** Resource.EditPool\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "*ResourceConfigOption* object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConfigOption"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/RefreshRuntime": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Refreshes the resource usage data that is available in\n*ResourcePoolRuntimeInfo*.\n",
        "operationId": "VirtualApp_RefreshRuntime",
        "description": "Refreshes the resource usage data that is available in\n*ResourcePoolRuntimeInfo*.\n\nThe latest runtime resource usage of this resource pool may not be\navailable immediately after operations that alter resource usage,\nsuch as powering on a virtual machine. Invoke this method when resource\nusage may have recently changed, and the most up-to-date value in the\n*ResourcePoolRuntimeInfo* is needed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VirtualApp/{moId}/RegisterChildVM_Task": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Adds an existing virtual machine to this resource pool or vApp.\n",
        "operationId": "VirtualApp_RegisterChildVM_Task",
        "description": "Adds an existing virtual machine to this resource pool or vApp.\n\nThis operation only works for vApps or resource pools that are children of\nvApps. To register a VM in a folder, see *Folder.RegisterVM_Task*.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\nIn addition to the VirtualMachine.Inventory.Register privilege, it\nrequires System.Read privilege on the datastore that the existing virtual\nmachine resides on.\n\n***Required privileges:*** VirtualMachine.Inventory.Register\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterChildVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly registered *VirtualMachine*\nupon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the operation is not supported. For example, if the\noperation is invoked on a resource pool that is unrelated to a vApp.\n\n***OutOfBounds***: if the maximum number of VMs has been exceeded.\n\n***AlreadyExists***: if the virtual machine is already registered.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***NotFound***: if the configuration file is not found on the system.\n\n***InvalidName***: if the entity name is invalid.\n\n***InvalidArgument***: if any of the arguments are invalid and a more specific\nfault type does not apply.\n\n***VmConfigFault***: if the format / configuration of the virtual machine\nis invalid. Typically, a more specific fault is thrown such as\nInvalidFormat if the configuration file cannot be read, or\nInvalidDiskFormat if the disks cannot be read.\n\n***FileFault***: if there is an error accessing the files on disk.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/Reload": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "VirtualApp_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VirtualApp/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "VirtualApp_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** VApp.Rename\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "VirtualApp_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VirtualApp/{moId}/SuspendVApp_Task": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Suspends this vApp.\n",
        "operationId": "VirtualApp_SuspendVApp_Task",
        "description": "Suspends this vApp.\n\nSuspends all powered-on virtual machines in a vApp, including virtual machines\nin child vApps. The virtual machines are suspended in the same order as\nused for a power-off operation (reverse power-on sequence).\n\nWhile a vApp is being suspended, all power operations performed on sub entities\nare disabled through the VIM API. They will throw TaskInProgress.\n\n***Required privileges:*** VApp.Suspend\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the vApp is not running\n\n***TaskInProgress***: if the vApp is busy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvApp's current state. For example, if the vApp is in the\nprocess of being started.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/unregisterVApp_Task": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Removes this vApp from the inventory without removing\nany of the virtual machine's files on disk.\n",
        "operationId": "VirtualApp_unregisterVApp_Task",
        "description": "Removes this vApp from the inventory without removing\nany of the virtual machine's files on disk.\n\nAll high-level information\nstored with the management server (ESX Server or VirtualCenter) is\nremoved, including information such as vApp configuration, statistics,\npermissions, and alarms.\n\n***Required privileges:*** VApp.Unregister\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the vApp is running.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/UpdateChildResourceConfiguration": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Changes resource configuration of a set of children of this resource pool.\n",
        "operationId": "VirtualApp_UpdateChildResourceConfiguration",
        "description": "Changes resource configuration of a set of children of this resource pool.\n\nThe\nmethod allows bulk modifications of the set of the direct children\n(virtual machines and resource pools).\n\nBulk modifications are not transactional. Each modification is made individually.\nIf a failure is encountered while applying the changes, then the processing stops,\nmeaning at least one and as many as all of the changes are not applied.\n\nA set can include a subset of the resources. Children that are not\nmentioned in the list are not changed.\n\nFor each ResourceConfigSpec, the following privilege checks apply:\n- If the ResourceConfigSpec refers to a child resource pool or a child\n  vApp, the privileges required are the same as would be required for\n  calling *ResourcePool.UpdateConfig* on that entity.\n- If the ResourceConfigSpec refers to a virtual machine,\n  VirtualMachine.Config.Resource must be held on the virtual machine.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateChildResourceConfigurationRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if a managed entity that is not a child of this group\nis included.\n\n***InsufficientResourcesFault***: if the operation would violate a resource\nusage policy. Typically, a more specific subclass, such as\nInsufficientMemoryResourcesFault will be thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/UpdateConfig": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Updates the configuration of the resource pool.\n",
        "operationId": "VirtualApp_UpdateConfig",
        "description": "Updates the configuration of the resource pool.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\nThe privilege checks for this operation are as follows:\n- If this is a resource pool, the privilege Resource.EditPool is required on\n  this and on the parent pool or vApp.\n- If this is a vApp, the privilege VApp.ResourceConfig is required on\n  this and on the parent pool or vApp.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidName***: if the name is not a valid entity name.\n\n***DuplicateName***: if the name is changed to an already existing name.\n\n***InvalidArgument***: if the parameters are out of range,\nor if the reservationLimit field is set.\n\n***InsufficientResourcesFault***: if the pool specification cannot be\nsupported by the parent resource pool or vApp.\n\n***ConcurrentAccess***: if the changeVersion does not match the server's\nchangeVersion for the configuration.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/UpdateLinkedChildren": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Reconfigure the set of linked children.\n",
        "operationId": "VirtualApp_UpdateLinkedChildren",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1.\n\nReconfigure the set of linked children.\n\nA VirtualMachine and vApp can be added as a linked child as long as it\nis not a direct child of another vApp. In case it is a linked child, the\nexisting link is removed and replaced with the new link specified in this\ncall.\n\nAn InvalidArgument fault is thrown if a link target is a direct child\nof another vApp, or if the addition of the link will result in a vApp\nwith a cycle. For example, a vApp cannot be linked to itself.\n\nThe removeSet must refer to managed entities that are currently linked\nchildren. Otherwise, an InvalidArgument exception is thrown.\n\nFor each entity being linked, the operation is subject to the following privilege\nchecks:\n- If the object being linked is a vApp, VApp.Move must be held on\n  the vApp being linked and its former parent vApp (if any). The privilege\n  VApp.AssignVApp must be held on this vApp.\n- If the object being linked is a VirtualMachine, VApp.AssignVM is required on\n  both the target vApp, the VirtualMachine, and its former parent vApp (if any).\n  \nPrivilege checks for each entity in the removeSet are similar to the entities\nin the addChangeSet, except that there is no target vApp.\n\nThis operation is only transactional with respect to each individual link change.\nThe changes are processed sequentially and committed one at a time. The\naddChangeSet is processed first, followed by the removeSet. If a failure is\ndetected, then the method terminates with an exception.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLinkedChildrenRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: See above description.\n\n***ConcurrentAccess***: If a concurrent modification happens while adding the link.\n\n***NotSupported***: If the target of the link is not in the same datacenter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConcurrentAccess"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/UpdateVAppConfig": {
      "post": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Updates the vApp configuration.\n",
        "operationId": "VirtualApp_UpdateVAppConfig",
        "description": "Updates the vApp configuration.\n\nUpdates in different areas require different privileges. See\n*VAppConfigSpec* for a full description.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVAppConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidPowerState***: if the reconfiguration is not possible given the\ncurrent powerState of the vApp.\n\n***TaskInProgress***: if the vApp is busy.\n\n***ConcurrentAccess***: if another operation conflicted with this operation.\n\n***InvalidArgument***: for wrong input.\n\n***InvalidIndexArgument***: if a wrong key is used in one of the arrays. For\nexample, for duplicated entries in entityConfig.\n\n***VmConfigFault***: for bad configuration, such as invalid\nproperty types.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "VirtualApp_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/availableField": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "VirtualApp_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/childConfiguration": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "The resource configuration of all direct children (VirtualMachine and\nResourcePool) of this resource group.\n",
        "operationId": "VirtualApp_getChildConfiguration",
        "description": "The resource configuration of all direct children (VirtualMachine and\nResourcePool) of this resource group.\n\nProperty collector update notifications might not be generated for this\nproperty. To listen for the child configuration change, please create\nPropertyCollector filter on the child entities directly.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceConfigSpec"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/childLink": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "List of linked children.\n",
        "operationId": "VirtualApp_getChildLink",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1.\n\nList of linked children.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualAppLinkInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/config": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Configuration of this resource pool.\n",
        "operationId": "VirtualApp_getConfig",
        "description": "Configuration of this resource pool.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConfigSpec"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/configIssue": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "VirtualApp_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/configStatus": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "VirtualApp_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/customValue": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Custom field values.\n",
        "operationId": "VirtualApp_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/datastore": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "A collection of references to the subset of datastore objects used by this\nvApp.\n",
        "operationId": "VirtualApp_getDatastore",
        "description": "A collection of references to the subset of datastore objects used by this\nvApp.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "VirtualApp_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "VirtualApp_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "VirtualApp_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/name": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "VirtualApp_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/namespace": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "The namespace with which the ResourcePool is associated.\n",
        "operationId": "VirtualApp_getNamespace",
        "description": "The namespace with which the ResourcePool is associated.\n\nNamespace is a\nvAPI resource which divides cluster resources and allows administrators\nto give Kubernetes environments to their development teams.\nThis property is set only at the time of creation and cannot change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/network": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "A collection of references to the subset of network objects that\nis used by this virtual machine.\n",
        "operationId": "VirtualApp_getNetwork",
        "description": "A collection of references to the subset of network objects that\nis used by this virtual machine.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Network*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/overallStatus": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "VirtualApp_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/owner": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "The ComputeResource to which this set of one or more nested resource pools\nbelong.\n",
        "operationId": "VirtualApp_getOwner",
        "description": "The ComputeResource to which this set of one or more nested resource pools\nbelong.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ComputeResource*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/parent": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "VirtualApp_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/parentFolder": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "A reference to the parent folder in the VM and Template folder hierarchy.\n",
        "operationId": "VirtualApp_getParentFolder",
        "description": "A reference to the parent folder in the VM and Template folder hierarchy.\n\nThis\nis only set for a root vApp. A root vApp is a vApp that is not a child of\nanother vApp.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Folder*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/parentVApp": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Reference to the parent vApp.\n",
        "operationId": "VirtualApp_getParentVApp",
        "description": "Reference to the parent vApp.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/permission": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "VirtualApp_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/recentTask": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "VirtualApp_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/resourcePool": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "The set of child resource pools.\n",
        "operationId": "VirtualApp_getResourcePool",
        "description": "The set of child resource pools.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *ResourcePool*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/runtime": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Runtime information about a resource pool.\n",
        "operationId": "VirtualApp_getRuntime",
        "description": "Runtime information about a resource pool.\n\nThe *ResourcePoolResourceUsage* information within\n*ResourcePoolRuntimeInfo* can be transiently stale.\nUse *ResourcePool.RefreshRuntime* method to\nupdate the information.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePoolRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/summary": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Basic information about a resource pool.\n",
        "operationId": "VirtualApp_getSummary",
        "description": "Basic information about a resource pool.\n\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePoolSummary"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/tag": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "VirtualApp_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "VirtualApp_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/vAppConfig": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "Configuration of this package.\n",
        "operationId": "VirtualApp_getVAppConfig",
        "description": "Configuration of this package.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VAppConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/value": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "VirtualApp_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualApp/{moId}/vm": {
      "get": {
        "tags": [
          "VirtualApp"
        ],
        "summary": "The set of virtual machines associated with this resource pool.\n",
        "operationId": "VirtualApp_getVm",
        "description": "The set of virtual machines associated with this resource pool.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *VirtualMachine*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/CopyVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Copy a virtual disk, performing conversions as specified in the spec.\n",
        "operationId": "VirtualDiskManager_CopyVirtualDisk_Task",
        "description": "Copy a virtual disk, performing conversions as specified in the spec.\n\nIf source (or destination) name is specified as a URL, then the\ncorresponding datacenter parameter may be omitted.\n\nIf source and destination resolve to the same file system location,\nthe call has no effect, regardless of destSpec content.\n\nRequires Datastore.FileManagement privilege on both source and destination\ndatastores.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CopyVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs cloning the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the source\nor destination datastore.\n\n***InvalidDiskFormat***: if the destination's format is not supported.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/CreateVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Create a virtual disk.\n",
        "operationId": "VirtualDiskManager_CreateVirtualDisk_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.5, use\n*HostVStorageObjectManager.HostCreateDisk_Task* instead.\n\nCreate a virtual disk.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk is created.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs creating the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/DefragmentVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Defragment a sparse virtual disk.\n",
        "operationId": "VirtualDiskManager_DefragmentVirtualDisk_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.5, use\n*VirtualMachine.DefragmentAllDisks* instead.\n\nDefragment a sparse virtual disk.\n\nThis is defragmentation of the virtual disk file(s) in the host operating\nsystem, not defragmentation of the guest operating system filesystem inside\nthe virtual disk.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DefragmentVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs defragmenting the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/DeleteVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Delete a virtual disk.\n",
        "operationId": "VirtualDiskManager_DeleteVirtualDisk_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.5, use\n*HostVStorageObjectManager.HostDeleteVStorageObject_Task* instead.\n\nDelete a virtual disk.\n\nAll files relating to the disk\nwill be deleted.\n\nDeletion of virtual disk is prohibited if it is attached to VMs.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk is removed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs deleting the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/EagerZeroVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Explicitly zero out unaccessed parts zeroedthick disk.\n",
        "operationId": "VirtualDiskManager_EagerZeroVirtualDisk_Task",
        "description": "Explicitly zero out unaccessed parts zeroedthick disk.\n\nEffectively a no-op if the disk is already eagerZeroedThick.\nUnlike zeroFillVirtualDisk, which wipes the entire disk, this\noperation only affects previously unaccessed parts of the disk.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EagerZeroVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs while eager-zeroing the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/ExtendVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Expand the capacity of a virtual disk to the new capacity.\n",
        "operationId": "VirtualDiskManager_ExtendVirtualDisk_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.5, use\n*HostVStorageObjectManager.HostExtendDisk_Task* instead.\n\nExpand the capacity of a virtual disk to the new capacity.\n\nIf the eagerZero flag is not specified,\n\\- the extended disk region of a zerothick disk will be zeroedthick\n\\- the extended disk region of a eagerzerothick disk will be eagerzeroedthick\n\\- a thin-provisioned disk will always be extended as a thin-provisioned disk.\nIf the eagerZero flag TRUE, the extended region of the disk will\nalways be eagerly zeroed.\nIf the eagerZero flag FALSE, the extended region of a zeroedthick or\neagerzeroedthick the disk will not be eagerly zeroed. This condition has\nno effect on a thin source disk.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs extending the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/ImportUnmanagedSnapshot": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Import an unmanaged-snapshot from Virtual-Volume(VVol) enabled\nStorage Array.\n",
        "operationId": "VirtualDiskManager_ImportUnmanagedSnapshot",
        "description": "Import an unmanaged-snapshot from Virtual-Volume(VVol) enabled\nStorage Array.\n\nStorage Array may support users to take snapshots indepedent of\nVMware stack. Such copies or snapshots are known as\n'Unmanaged-Snapshots'.\nWe are providing an ability to end-users to import such\nunmanaged-snapshots as Virtual Disks.\n\nEnd-user needs to know the VVol-Identifier to import unmanaged\nsnapshot as VirtualDisk.\n\nOnce VirtualDisk is created, user can use 'Datastore Browser' to use\nwith rest of Virtual Machine provisioning APIs.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportUnmanagedSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: if VVol is not found\n\n***InvalidDatastore***: if the operation cannot be performed on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/InflateVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Inflate a sparse or thin-provisioned virtual disk up to the full size.\n",
        "operationId": "VirtualDiskManager_InflateVirtualDisk_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.5, use\n*HostVStorageObjectManager.HostInflateDisk_Task* instead.\n\nInflate a sparse or thin-provisioned virtual disk up to the full size.\n\nAdditional space allocated to the disk as a result of this operation\nwill be filled with zeroes.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InflateVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs inflating the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/MoveVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Move a virtual disk and all related files from the source location specified\nby <code>sourceName</code> and <code>sourceDatacenter</code> to the destination\nlocation specified by <code>destName</code> and <code>destDatacenter</code>.\n",
        "operationId": "VirtualDiskManager_MoveVirtualDisk_Task",
        "description": "Move a virtual disk and all related files from the source location specified\nby <code>sourceName</code> and <code>sourceDatacenter</code> to the destination\nlocation specified by <code>destName</code> and <code>destDatacenter</code>.\n\nIf source (or destination) name is specified as a URL, then the\ncorresponding datacenter parameter may be omitted.\n\nIf source and destination resolve to the same file system location,\nthe call has no effect.\n\nRequires Datastore.FileManagement privilege on both source and destination\ndatastores.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs renaming the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the source\nor destination datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/QueryVirtualDiskFragmentation": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Return the percentage of fragmentation of the sparse virtual disk.\n",
        "operationId": "VirtualDiskManager_QueryVirtualDiskFragmentation",
        "description": "Return the percentage of fragmentation of the sparse virtual disk.\n\nThis is the fragmentation of virtual disk file(s) in the host operating\nsystem, not the fragmentation of the guest operating systemS filesystem\ninside the virtual disk.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVirtualDiskFragmentationRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the percentage of fragmentation (as an integer between 0 and 100)\nof the sparse virtual disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs reading the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/QueryVirtualDiskGeometry": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Get the disk geometry information for the virtual disk.\n",
        "operationId": "VirtualDiskManager_QueryVirtualDiskGeometry",
        "description": "Get the disk geometry information for the virtual disk.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVirtualDiskGeometryRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The geometry information for this virtual disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HostDiskDimensionsChs"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs reading the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/QueryVirtualDiskUuid": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Get the virtual disk SCSI inquiry page 0x83 data.\n",
        "operationId": "VirtualDiskManager_QueryVirtualDiskUuid",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.5, use\n*HostVStorageObjectManager.HostRetrieveVStorageObject*\ninstead.\n\nGet the virtual disk SCSI inquiry page 0x83 data.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVirtualDiskUuidRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The hex representation of the unique ID for this virtual disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs reading the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/ReleaseManagedSnapshot": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Release a snapshot previously imported with importUnmanagedSnapshot\n",
        "operationId": "VirtualDiskManager_ReleaseManagedSnapshot",
        "description": "Release a snapshot previously imported with importUnmanagedSnapshot\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReleaseManagedSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***FileNotFound***: if vdisk is not found\n\n***InvalidDatastore***: if the operation cannot be performed on the\ndatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/SetVirtualDiskUuid": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Set the virtual disk SCSI inquiry page 0x83 data.\n",
        "operationId": "VirtualDiskManager_SetVirtualDiskUuid",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.5, use\n*HostVStorageObjectManager.HostRegisterDisk* to register\na disk as vStorageObject with new unique UUID.\n\nSet the virtual disk SCSI inquiry page 0x83 data.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetVirtualDiskUuidRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***FileFault***: if an error occurs updating the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/ShrinkVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Shrink a sparse virtual disk.\n",
        "operationId": "VirtualDiskManager_ShrinkVirtualDisk_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.5, use\n*VirtualMachine.ShrinkDisk_Task* instead.\n\nShrink a sparse virtual disk.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nThe optional parameter <code>copy</code> specifies whether to shrink the\ndisk in copy-shrink mode or in-place mode. In copy-shrink mode,\nadditional space is required, but will result in a shrunk disk that is\nalso defragmented. In-place shrink does not require additional space,\nbut will increase fragmentation. The default behavior is to perform\ncopy-shrink if the parameter is not specified.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShrinkVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs shrinking the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualDiskManager/{moId}/ZeroFillVirtualDisk_Task": {
      "post": {
        "tags": [
          "VirtualDiskManager"
        ],
        "summary": "Overwrite all blocks of the virtual disk with zeros.\n",
        "operationId": "VirtualDiskManager_ZeroFillVirtualDisk_Task",
        "description": "Overwrite all blocks of the virtual disk with zeros.\n\nAll data will be lost.\n\nThe datacenter parameter may be omitted if a URL is used to name the disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZeroFillVirtualDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: if an error occurs zero filling the virtual disk.\n\n***InvalidDatastore***: if the operation cannot be performed on the datastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/AcquireMksTicket": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Creates and returns a one-time credential used in establishing a\nremote mouse-keyboard-screen connection to this virtual\nmachine.\n",
        "operationId": "VirtualMachine_AcquireMksTicket",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.1, use *VirtualMachine.AcquireTicket* instead.\n\nCreates and returns a one-time credential used in establishing a\nremote mouse-keyboard-screen connection to this virtual\nmachine.\n\nThe correct function of this method depends on being able to\nretrieve TCP binding information about the server end of the\nclient connection that is requesting the ticket. If such\ninformation is not available, the NotSupported fault is thrown.\nThis method is appropriate for SOAP and authenticated connections,\nwhich are both TCP-based connections.\n\n***Required privileges:*** VirtualMachine.Interact.ConsoleInteract\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "A one-time credential used in establishing a remote\nmouse-keyboard-screen connection.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualMachineMksTicket"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/AcquireTicket": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Creates and returns a one-time credential used in establishing a\nspecific connection to this virtual machine, for example, a ticket\ntype of mks can be used to establish a remote mouse-keyboard-screen\nconnection.\n",
        "operationId": "VirtualMachine_AcquireTicket",
        "description": "Creates and returns a one-time credential used in establishing a\nspecific connection to this virtual machine, for example, a ticket\ntype of mks can be used to establish a remote mouse-keyboard-screen\nconnection.\n\nA client using this ticketing mechanism must have network\nconnectivity to the ESX server where the virtual machine is running,\nand the ESX server must be reachable to the management client from\nthe address made available to the client via the ticket.\n\nAcquiring a virtual machine ticket requires different privileges\ndepending on the types of ticket:\n- VirtualMachine.Interact.DeviceConnection if requesting a device\n  ticket.\n- VirtualMachine.Interact.GuestControl if requesting a guestControl\n  or guestIntegrity ticket.\n- VirtualMachine.Interact.ConsoleInteract if requesting an mks\n  or webmks ticket.\n- VirtualMachine.Interact.DnD if requesting a drag and drop\n  ticket.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcquireTicketRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A one-time credential used in establishing a remote\nconnection to this virtual machine.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualMachineTicket"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the virtual machine is not connected.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/AnswerVM": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Responds to a question that is blocking this virtual machine.\n",
        "operationId": "VirtualMachine_AnswerVM",
        "description": "Responds to a question that is blocking this virtual machine.\n\n***Required privileges:*** VirtualMachine.Interact.AnswerQuestion\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnswerVMRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if the questionId does not apply to this virtual machine.\nFor example, this can happen if another client already answered the message.\n\n***ConcurrentAccess***: if the question has been or is being answered by\nanother thread or user.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConcurrentAccess"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/ApplyEvcModeVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Applies the EVC mode masks to the virtual machine.\n",
        "operationId": "VirtualMachine_ApplyEvcModeVM_Task",
        "description": "Applies the EVC mode masks to the virtual machine.\n\nExisting masks will be replaced by the input masks.\nIf the mask parameter is not set, then the masks on the virtual machine\nare removed.\nSee *EVCMode.featureMask* for the list of masks to provide.\nThese can be retrieved from *Capability.supportedEVCMode*,\nwhich is accessible in *ServiceInstance.capability*.\n\nThis operation is only supported if\n*VirtualMachineCapability.perVmEvcSupported* is true.\n\n***Required privileges:*** VirtualMachine.Config.Settings\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyEvcModeVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is not poweredOff.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/AttachDisk_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Attach an existing disk to this virtual machine.\n",
        "operationId": "VirtualMachine_AttachDisk_Task",
        "description": "Attach an existing disk to this virtual machine.\n\nA minimum virtual machine version of 'vmx-13' is required for this\noperation to succeed. If a compatible VM version is not satisfied,\na *DeviceUnsupportedForVmVersion* fault will be thrown.\n\n***Required privileges:*** VirtualMachine.Config.AddExistingDisk\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the disk object cannot be found.\n\n***VmConfigFault***: if the virtual machine's configuration is invalid.\n\n***FileFault***: if there is a problem creating or accessing the virtual\nmachine's files for this operation.\n\n***InvalidState***: if the operation cannot be performed in the current\nstate of the virtual machine. For example, because the virtual\nmachine's configuration is not available.\n\n***InvalidDatastore***: If the datastore cannot be found or inaccessible.\n\n***InvalidController***: If the specified controller cannot be found or\nthe specified unitNumber is already taken, or\nthe controller has no free slots.\n\n***MissingController***: If the virtual machine has no or more than one\navailable controllers when controllerKey is\nunset.\n\n***DeviceUnsupportedForVmVersion***: If the virtual machine's version is\nincompatible for the given device.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/CheckCustomizationSpec": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Checks the customization specification against the virtual machine configuration.\n",
        "operationId": "VirtualMachine_CheckCustomizationSpec",
        "description": "Checks the customization specification against the virtual machine configuration.\n\nFor example, this is used on a source virtual machine before a clone operation to\ncatch customization failure before the disk copy. This checks the specification's\ninternal consistency as well as for compatibility with this virtual machine's\nconfiguration.\n\n***Required privileges:*** VirtualMachine.Provisioning.Customize\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckCustomizationSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***CustomizationFault***: A subclass of CustomizationFault is thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizationFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/CloneVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Creates a clone of this virtual machine.\n",
        "operationId": "VirtualMachine_CloneVM_Task",
        "description": "Creates a clone of this virtual machine.\n\nIf the virtual machine\nis used as a template, this method corresponds to the deploy command.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\nThe privilege required on the source virtual machine depends on the source\nand destination types:\n- source is virtual machine, destination is virtual machine -\n  VirtualMachine.Provisioning.Clone\n- source is virtual machine, destination is template -\n  VirtualMachine.Provisioning.CreateTemplateFromVM\n- source is template, destination is virtual machine -\n  VirtualMachine.Provisioning.DeployTemplate\n- source is template, destination is template -\n  VirtualMachine.Provisioning.CloneTemplate\n- source is encrypted virtual machine - Cryptographer.Clone\n  \nIf customization is requested in the CloneSpec, then the\nVirtualMachine.Provisioning.Customize privilege must also be\nheld on the source virtual machine.\n\nThe Resource.AssignVMToPool privilege is also required for the\nresource pool specified in the CloneSpec, if the destination is not a\ntemplate.\nThe Datastore.AllocateSpace privilege is required on all datastores\nwhere the clone is created.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloneVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly added *VirtualMachine* upon\nsuccess.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the host cannot run this virtual machine.\n\n***CustomizationFault***: if a customization error happens.\nTypically, a specific subclass of this exception is thrown.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the operation is not supported by the current agent.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***FileFault***: if there is an error accessing the virtual machine files.\n\n***VmConfigFault***: if the virtual machine is not compatible with the\ndestination host. Typically, a specific subclass of this exception is\nthrown, such as IDEDiskNotSupported.\n\n***MigrationFault***: if it is not possible to migrate the virtual machine to\nthe destination host. This is typically due to hosts being incompatible,\nsuch as mismatch in network polices or access to networks and datastores.\nTypically, a more specific subclass is thrown.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***NoPermission***: if the virtual machine is encrypted, but encryption\nis not enabled on the destination and the user does not have\nCryptographer.RegisterHost permission on the host.\n\n***NoPermission***: if source virtual machine is encrypted, but the\nthe user does not have Cryptographer.Clone permission on it.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/ConsolidateVMDisks_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Consolidate the virtual disk files of the virtual machine by finding hierarchies\nof redo logs that can be combined without violating data dependency.\n",
        "operationId": "VirtualMachine_ConsolidateVMDisks_Task",
        "description": "Consolidate the virtual disk files of the virtual machine by finding hierarchies\nof redo logs that can be combined without violating data dependency.\n\nThe\nredundant redo logs after merging are then deleted.\nConsolidation improves I/O performance since less number of virtual disk\nfiles need to be traversed; it also reduces the storage usage. However\nadditional space is temporarily required to perform the operation. Use *VirtualMachine.EstimateStorageForConsolidateSnapshots_Task* to estimate the\ntemporary space required.\nConsolidation can be I/O intensive, it is advisable to invoke this operation\nwhen guest is not under heavy I/O usage.\n\n***Required privileges:*** VirtualMachine.State.RemoveSnapshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***FileFault***: if if there is a problem creating or accessing the\nvirtual machine's files for this operation. Typically a more\nspecific fault for example *NoDiskSpace* is\nthrown.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual\nmachine configuration information is not available.\n\n***VmConfigFault***: if a virtual machine configuration issue prevents\nconsolidation. Typically, a more specific fault is thrown\nsuch as *InvalidDiskFormat* if a disk cannot\nbe read, or *InvalidSnapshotFormat* if the\nsnapshot configuration is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/CreateScreenshot_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Create a screen shot of a virtual machine.\n",
        "operationId": "VirtualMachine_CreateScreenshot_Task",
        "description": "Create a screen shot of a virtual machine.\n\n***Required privileges:*** VirtualMachine.Interact.CreateScreenshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***FileFault***: if there is a problem with creating or accessing one\nor more files needed for this operation.\n\n***InvalidPowerState***: if the virtual machine is not powered on.\n\n***InvalidState***: if the virtual machine is not ready to respond to\nsuch requests.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/CreateSecondaryVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Creates a secondary virtual machine to be part of this fault tolerant group.\n",
        "operationId": "VirtualMachine_CreateSecondaryVM_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0, use *VirtualMachine.CreateSecondaryVMEx_Task* instead.\n\nCreates a secondary virtual machine to be part of this fault tolerant group.\n\nIf a host is specified, the secondary virtual machine will be created on it.\nOtherwise, a host will be selected by the system.\n\nIf the primary virtual machine (i.e., this virtual machine) is powered on when\nthe secondary is created, an attempt will be made to power on the secondary on\na system selected host. If the cluster is a DRS cluster, DRS will be\ninvoked to obtain a placement for the new secondary virtual machine. If the DRS\nrecommendation (see *ClusterRecommendation*)\nis automatic, it will be automatically executed. Otherwise, the recommendation will\nbe returned to the caller of this method and the secondary will remain powered off\nuntil the recommendation is approved using *ClusterComputeResource.ApplyRecommendation*.\nFailure to power on the secondary virtual machine will not fail the creation of the secondary.\n\n***Required privileges:*** VirtualMachine.Interact.CreateSecondary\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSecondaryVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* returns an instance of the\n*FaultToleranceSecondaryOpResult* data object, which\ncontains a reference to the created *VirtualMachine*\nand the status of powering it on, if attempted.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the virtual machine is marked as a template, or\nit is not in a vSphere HA enabled cluster.\n\n***InvalidState***: if the virtual machine's configuration information\nis not available.\n\n***ManagedObjectNotFound***: if a host is specified and it does not exist.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***VmFaultToleranceIssue***: if any error is encountered with the\nfault tolerance configuration of the virtual machine. Typically,\na more specific fault like FaultToleranceNotLicensed is thrown.\n\n***FileFault***: if there is a problem accessing the virtual machine on the\nfilesystem.\n\n***VmConfigFault***: if a configuration issue prevents creating the secondary.\nTypically, a more specific fault such as\nVmConfigIncompatibleForFaultTolerance is thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/CreateSecondaryVMEx_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Creates a secondary virtual machine to be part of this fault tolerant group.\n",
        "operationId": "VirtualMachine_CreateSecondaryVMEx_Task",
        "description": "Creates a secondary virtual machine to be part of this fault tolerant group.\n\nIf a host is specified, the secondary virtual machine will be created on it.\nOtherwise, a host will be selected by the system.\n\nIf a FaultToleranceConfigSpec is specified, the virtual machine's\nconfiguration files and disks will be created in the specified datastores.\n\nIf the primary virtual machine (i.e., this virtual machine) is powered on when\nthe secondary is created, an attempt will be made to power on the secondary on\na system selected host. If the cluster is a DRS cluster, DRS will be\ninvoked to obtain a placement for the new secondary virtual machine. If the DRS\nrecommendation (see *ClusterRecommendation*)\nis automatic, it will be automatically executed. Otherwise, the recommendation will\nbe returned to the caller of this method and the secondary will remain powered off\nuntil the recommendation is approved using *ClusterComputeResource.ApplyRecommendation*.\nFailure to power on the secondary virtual machine will not fail the creation of the secondary.\n\n***Required privileges:*** VirtualMachine.Interact.CreateSecondary\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSecondaryVMExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* returns an instance of the\n*FaultToleranceSecondaryOpResult* data object, which\ncontains a reference to the created *VirtualMachine*\nand the status of powering it on, if attempted.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the virtual machine is marked as a template, or\nit is not in a vSphere HA enabled cluster.\n\n***InvalidState***: if the virtual machine's configuration information\nis not available.\n\n***ManagedObjectNotFound***: if a host is specified and it does not exist.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***VmFaultToleranceIssue***: if any error is encountered with the\nfault tolerance configuration of the virtual machine. Typically,\na more specific fault like FaultToleranceNotLicensed is thrown.\n\n***FileFault***: if there is a problem accessing the virtual machine on the\nfilesystem.\n\n***VmConfigFault***: if a configuration issue prevents creating the secondary.\nTypically, a more specific fault such as\nVmConfigIncompatibleForFaultTolerance is thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/CreateSnapshot_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Creates a new snapshot of this virtual machine.\n",
        "operationId": "VirtualMachine_CreateSnapshot_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 8.0GA, this method is deprecated. Please\nuse *VirtualMachine.CreateSnapshotEx_Task* instead.\n\nCreates a new snapshot of this virtual machine.\n\nAs a side effect,\nthis updates the current snapshot.\n\nSnapshots are not supported for Fault Tolerance primary and secondary\nvirtual machines.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter.\n\n***Required privileges:*** VirtualMachine.State.CreateSnapshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* contains the newly created *VirtualMachineSnapshot* upon\nsuccess.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host product does not support snapshots or if the host\ndoes not support quiesced snapshots and the quiesce parameter is set to true; or\nif the virtual machine is a Fault Tolerance primary or secondary\n\n***SnapshotFault***: if an error occurs during the snapshot operation.\nTypically a more specific fault like MultipleSnapshotsNotSupported\nis thrown.\n\n***FileFault***: if there is a problem with creating or accessing one\nor more files needed for this operation.\n\n***VmConfigFault***: if the virtual machine's configuration is invalid.\nTypically, a more specific fault like InvalidSnapshotState is thrown.\n\n***InvalidName***: if the specified snapshot name is invalid.\n\n***InvalidPowerState***: if the operation cannot be performed in the current\npower state of the virtual machine.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/CreateSnapshotEx_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Creates a new snapshot of this virtual machine.\n",
        "operationId": "VirtualMachine_CreateSnapshotEx_Task",
        "description": "Creates a new snapshot of this virtual machine.\n\nAs a side effect,\nthis updates the current snapshot.\n\nSnapshots are not supported for Fault Tolerance primary and secondary\nvirtual machines.\n\nAny % (percent) character used in this name parameter must be escaped,\nunless it is used to start an escape sequence. Clients may also escape\nany other characters in this name parameter.\n\n***Required privileges:*** VirtualMachine.State.CreateSnapshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSnapshotExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. The *info.result* property\nin the *Task* contains the newly created\n*VirtualMachineSnapshot* upon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if quiesceSpec is invalid.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host product does not support snapshots or\nif the host does not support quiesced snapshots and the quiesce\nspec is set; or if the virtual machine is a Fault\nTolerance primary or secondary; or if an unsupported quiesce\nspec is set.\n\n***SnapshotFault***: if an error occurs during the snapshot operation.\nTypically a more specific fault like MultipleSnapshotsNotSupported\nis thrown.\n\n***FileFault***: if there is a problem with creating or accessing one\nor more files needed for this operation.\n\n***VmConfigFault***: if the virtual machine's configuration is invalid.\nTypically, a more specific fault like InvalidSnapshotState is\nthrown.\n\n***InvalidName***: if the specified snapshot name is invalid.\n\n***InvalidPowerState***: if the operation cannot be performed in the\ncurrent power state of the virtual machine.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/CryptoUnlock_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Unlocks an encrypted virtual machine by sending the encryption keys for\nthe Virtual Machine Home and all the Virtual Disks to the ESX Server.\n",
        "operationId": "VirtualMachine_CryptoUnlock_Task",
        "description": "Unlocks an encrypted virtual machine by sending the encryption keys for\nthe Virtual Machine Home and all the Virtual Disks to the ESX Server.\n\n***Required privileges:*** Cryptographer.RegisterVM\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: when the required Key Management Server is not\nconfigured.\n\n***InvalidVmState***: when the virtual machine failed to unlock.\n\n***NotSupported***: if the ESX server doesn't support encryption.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/CustomizeVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Customizes a virtual machine's guest operating system.\n",
        "operationId": "VirtualMachine_CustomizeVM_Task",
        "description": "Customizes a virtual machine's guest operating system.\n\n***Required privileges:*** VirtualMachine.Provisioning.Customize\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomizeVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***CustomizationFault***: A subclass of CustomizationFault is thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizationFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/DefragmentAllDisks": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Defragment all virtual disks attached to this virtual machine.\n",
        "operationId": "VirtualMachine_DefragmentAllDisks",
        "description": "Defragment all virtual disks attached to this virtual machine.\n\n***Required privileges:*** VirtualMachine.Interact.DefragmentAllDisks\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the virtual machine is not connected.\n\n***InvalidPowerState***: if the virtual machine is poweredOn.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***FileFault***: if there is an error accessing the disk files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "VirtualMachine_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** VirtualMachine.Inventory.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/DetachDisk_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Detach a disk from this virtual machine.\n",
        "operationId": "VirtualMachine_DetachDisk_Task",
        "description": "Detach a disk from this virtual machine.\n\n***Required privileges:*** VirtualMachine.Config.RemoveDisk\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DetachDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the disk object cannot be found.\n\n***VmConfigFault***: if the virtual machine's configuration is invalid.\n\n***FileFault***: if there is a problem creating or accessing the virtual\nmachine's files for this operation.\n\n***InvalidState***: if the operation cannot be performed in the current\nstate of the virtual machine. For example, because the virtual\nmachine's configuration is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/DisableSecondaryVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Disables the specified secondary virtual machine in this fault tolerant group.\n",
        "operationId": "VirtualMachine_DisableSecondaryVM_Task",
        "description": "Disables the specified secondary virtual machine in this fault tolerant group.\n\nThe specified secondary will not be automatically started on a subsequent\npower-on of the primary virtual machine.\nThis operation could leave the primary virtual machine in a non-fault\ntolerant state.\n\n***Required privileges:*** VirtualMachine.Interact.DisableSecondary\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisableSecondaryVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmFaultToleranceIssue***: if any error is encountered with the\nfault tolerance configuration of the virtual machine. Typically,\na more specific fault like InvalidOperationOnSecondaryVm is thrown.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the host is in maintenance mode or if\nthe virtual machine's configuration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/DropConnections": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Force the virtual machine to drop the specified connections.\n",
        "operationId": "VirtualMachine_DropConnections",
        "description": "Force the virtual machine to drop the specified connections.\n\nAttempt to drop the specified virtual machine connections. An attempt\nwill be made to drop all of the specified connections before returning.\n\n***Since:*** vSphere API Release 7.0.1.0\n\n***Required privileges:*** VirtualMachine.Interact.ConsoleInteract\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DropConnectionsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "true All of the specified connections have been dropped.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: If the virtual machine is not powered on.\nNo connection drop actions will have been\nattempted if this is thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/EnableSecondaryVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Enables the specified secondary virtual machine in this fault tolerant group.\n",
        "operationId": "VirtualMachine_EnableSecondaryVM_Task",
        "description": "Enables the specified secondary virtual machine in this fault tolerant group.\n\nThis operation is used to enable a secondary virtual machine that was\npreviously disabled by the *VirtualMachine.DisableSecondaryVM_Task*\ncall. The specified secondary will be automatically started whenever the\nprimary is powered on.\n\nIf the primary virtual machine (i.e., this virtual machine) is powered on when\nthe secondary is enabled, an attempt will be made to power on the secondary. If\na host was specified in the method call, this host will be used. If a host is\nnot specified, one will be selected by the system. In the latter case, if the cluster\nis a DRS cluster, DRS will be invoked to obtain a placement for the new secondary\nvirtual machine. If the DRS recommendation (see *ClusterRecommendation*)\nis automatic, it will be executed. Otherwise, the recommendation will be\nreturned to the caller of this method and the secondary will remain powered off\nuntil the recommendation is approved using *ClusterComputeResource.ApplyRecommendation*.\n\n***Required privileges:*** VirtualMachine.Interact.EnableSecondary\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableSecondaryVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation. The *info.result* property in the\n*Task* returns an instance of the\n*FaultToleranceSecondaryOpResult* data object, which\ncontains a reference to the *VirtualMachine*\nand the status of powering it on, if attempted.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmConfigFault***: if a configuration issue prevents enabling the secondary.\nTypically, a more specific fault such as\nVmConfigIncompatibleForFaultTolerance is thrown.\n\n***VmFaultToleranceIssue***: if any error is encountered with the\nfault tolerance configuration of the virtual machine. Typically,\na more specific fault like InvalidOperationOnSecondaryVm is thrown.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***ManagedObjectNotFound***: if a host is specified and it does not exist.\n\n***InvalidState***: if the virtual machine's configuration information is not\navailable, if the secondary virtual machine is not disabled, or if a\npower-on is attempted and one is already in progress.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/EstimateStorageForConsolidateSnapshots_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Estimate the temporary space required to consolidation disk\nfiles.\n",
        "operationId": "VirtualMachine_EstimateStorageForConsolidateSnapshots_Task",
        "description": "Estimate the temporary space required to consolidation disk\nfiles.\n\nThe estimation is a lower bound if the childmost writable disk\nfile will be consolidated for an online virtual machine, it is\naccurate for all other situations. This is because the space\nrequirement depending on the size of the childmost disk file and how\nwrite intensive the guest is.\n\nThis method can be used prior to invoke consolidation via\n*VirtualMachine.ConsolidateVMDisks_Task*.\n\n***Required privileges:*** VirtualMachine.State.RemoveSnapshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n\n***FileFault***: if if there is a problem accessing the\nvirtual machine's files for this operation. Typically a more\nspecific fault *FileLocked* is thrown.\n\n***VmConfigFault***: if a virtual machine configuration issue prevents\nthe estimation. Typically, a more specific fault is thrown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/ExportVm": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Obtains an export lease on this virtual machine.\n",
        "operationId": "VirtualMachine_ExportVm",
        "description": "Obtains an export lease on this virtual machine.\n\nThe export lease contains\na list of URLs for the virtual disks for this virtual machine, as well as\na ticket giving access to the URLs.\n\nSee *HttpNfcLease* for information on how to use the lease.\n\n***Required privileges:*** VApp.Export\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The export lease on this *VirtualMachine*. The\nexport task continues running until the lease is completed by the\ncaller.\n\nRefers instance of *HttpNfcLease*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the virtual machine is powered on.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n\n***FileFault***: if there is an error accessing the virtual machine files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/ExtractOvfEnvironment": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Returns the OVF environment for a virtual machine.\n",
        "operationId": "VirtualMachine_ExtractOvfEnvironment",
        "description": "Returns the OVF environment for a virtual machine.\n\nIf the virtual machine has no\nvApp configuration, an empty string is returned. Also, sensitive information\nis omitted, so this method is not guaranteed to return the complete OVF\nenvironment.\n\n***Required privileges:*** VApp.ExtractOvfEnvironment\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the virtual machine is not running\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/InstantClone_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Creates a powered-on Instant Clone of a virtual machine.\n",
        "operationId": "VirtualMachine_InstantClone_Task",
        "description": "Creates a powered-on Instant Clone of a virtual machine.\n\nThe new\nvirtual machine will be created on the same host and start with the\nidentical running point as the original virtual machine, sharing memory\nstate when possible and sharing disk state.\nThe original virtual machine must be in a powered-on state.\nThe privilege required for Instant Clone operation are:\n- VirtualMachine.Provisioning.Clone\n- VirtualMachine.Interact.PowerOn\n- VirtualMachine.Inventory.CreateFromExisting\n- Datastore.AllocateSpace\n- Resource.AssignVMToPool\n  \n***Required privileges:*** VirtualMachine.Provisioning.Clone\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstantCloneRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: in the following cases:\n- Source virtual machine is not powered on\n- Source virtual machine configuration is not supported for\n  Instant Clone operation\n- Relocation specification has unsupported settings \n  \n***InvalidState***: if the operation cannot be performed because of the\nhost or virtual machine's current state. For example, if the host\nis in maintenance mode or if the source virtual machine is not\npowered on.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***FileFault***: if there is an error accessing the virtual machine\nfiles.\n\n***InsufficientResourcesFault***: if this operation would violate a\nresource usage policy.\n\n***DisallowedMigrationDeviceAttached***: if any of the devices attached\nto the source virtual machine are not supported for the Instant\nClone operation or if device change specification contains\nchanges that are not supported.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/MakePrimaryVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Makes the specified secondary virtual machine from this fault tolerant group as\nthe primary virtual machine.\n",
        "operationId": "VirtualMachine_MakePrimaryVM_Task",
        "description": "Makes the specified secondary virtual machine from this fault tolerant group as\nthe primary virtual machine.\n\n***Required privileges:*** VirtualMachine.Interact.MakePrimary\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MakePrimaryVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmFaultToleranceIssue***: if any error is encountered with the\nfault tolerance configuration of the virtual machine. Typically,\na more specific fault like InvalidOperationOnSecondaryVm is thrown.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the host is in maintenance mode or if\nthe virtual machine's configuration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/MarkAsTemplate": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Marks a VirtualMachine object as being used as a template.\n",
        "operationId": "VirtualMachine_MarkAsTemplate",
        "description": "Marks a VirtualMachine object as being used as a template.\n\nNote: A VirtualMachine marked as a template cannot be powered on.\n\n***Required privileges:*** VirtualMachine.Provisioning.MarkAsTemplate\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: if marking a virtual machine as a template is not supported.\n\n***InvalidPowerState***: if the virtual machine is not powered off.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n\n***VmConfigFault***: if the template is incompatible with the host, such\nas the files are not accessible.\n\n***FileFault***: if there is an error accessing the virtual machine files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/MarkAsVirtualMachine": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Clears the 'isTemplate' flag and reassociates the virtual machine with\na resource pool and host.\n",
        "operationId": "VirtualMachine_MarkAsVirtualMachine",
        "description": "Clears the 'isTemplate' flag and reassociates the virtual machine with\na resource pool and host.\n\n***Required privileges:*** VirtualMachine.Provisioning.MarkAsVM\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkAsVirtualMachineRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: if marking a template as a virtual machine is not\nsupported.\n\n***InvalidState***: if the virtual machine is not marked as a template.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***VmConfigFault***: if the virtual machine is not compatible with the\nhost. For example, a DisksNotSupported fault if the destination host\ndoes not support the disk backings of the template.\n\n***FileFault***: if there is an error accessing the virtual machine files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/MigrateVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Migrates a virtual machine's execution to a specific resource pool or host.\n",
        "operationId": "VirtualMachine_MigrateVM_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.5, use *VirtualMachine.RelocateVM_Task*\ninstead.\n\nMigrates a virtual machine's execution to a specific resource pool or host.\n\nRequires Resource.HotMigrate privilege if the virtual machine is powered on or\nResource.ColdMigrate privilege if the virtual machine is powered off or\nsuspended.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MigrateVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the virtual machine is marked as a template.\n\n***InvalidArgument***: in the following cases:\n- the target host and target pool are not associated with the\n  same compute resource\n- the host parameter is left unset when the target pool is\n  associated with a non-DRS cluster\n  \n***InvalidPowerState***: if the state argument is set and the virtual\nmachine does not have that power state.\n\n***FileFault***: if, in a case where the virtual machine\nconfiguration file must be copied, the destination location for\nthat file does not have the necessary file access permissions.\n\n***VmConfigFault***: if the virtual machine is not compatible with the\ndestination host. Typically, a specific subclass of this exception is\nthrown, such as IDEDiskNotSupported.\n\n***MigrationFault***: if it is not possible to migrate the virtual machine to\nthe destination host. This is typically due to hosts being incompatible,\nsuch as mismatch in network polices or access to networks and datastores.\nTypically, a more specific subclass is thrown.\n\n***Timedout***: if one of the phases of the migration process times out.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state or the target host's current state.\nFor example, if the virtual machine configuration information is not\navailable or if the target host is disconnected or in maintenance mode.\n\n***NoActiveHostInCluster***: if a target host is not specified and the\ncluster associated with the target pool does not contain at least one\npotential target host. A host must be connected and not in maintenance\nmode in order to be considered as a potential target host.\n\n***NoPermission***: if the virtual machine is encrypted, but encryption is\nnot enabled on the destination host and the user does not have\nCryptographer.RegisterHost permission on it.\n\n***NoPermission***: if the virtual machine is encrypted, but the\nthe user does not have Cryptographer.Migrate permission on the VM.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/MountToolsInstaller": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Mounts the VMware Tools CD installer as a CD-ROM for the guest operating system.\n",
        "operationId": "VirtualMachine_MountToolsInstaller",
        "description": "Mounts the VMware Tools CD installer as a CD-ROM for the guest operating system.\n\nTo monitor the status of the tools install, clients should check the tools status,\n*GuestInfo.toolsVersionStatus* and\n*GuestInfo.toolsRunningStatus*\n\n***Required privileges:*** VirtualMachine.Interact.ToolsInstall\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the virtual machine is not running,\nor the VMware Tools CD is already mounted.\n\n***VmToolsUpgradeFault***: if the VMware Tools CD failed to mount.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/PowerOffVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Powers off this virtual machine.\n",
        "operationId": "VirtualMachine_PowerOffVM_Task",
        "description": "Powers off this virtual machine.\n\nIf this virtual machine is a fault tolerant primary virtual machine, this\nwill result in the secondary virtual machine(s) getting powered off as well.\n\n***Required privileges:*** VirtualMachine.Interact.PowerOff\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is not poweredOn.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the virtual machine is marked as a template.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/PowerOnVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Powers on this virtual machine.\n",
        "operationId": "VirtualMachine_PowerOnVM_Task",
        "description": "Powers on this virtual machine.\n\nIf the virtual machine is suspended,\nthis method resumes execution from the suspend point.\n\nWhen powering on a virtual machine in a cluster, the system might implicitly\nor due to the host argument, do an implicit relocation of the virtual machine\nto another host. Hence, errors related to this relocation can be thrown. If the\ncluster is a DRS cluster, DRS will be invoked if the virtual machine can be\nautomatically placed by DRS (see *DrsBehavior_enum*).\nBecause this method does not return a DRS *ClusterRecommendation*, no\nvmotion nor host power operations will be done as part of a DRS-facilitated power\non. To have DRS consider such operations use *Datacenter.PowerOnMultiVM_Task*.\nAs of vSphere API 5.1, use of this method with vCenter Server is deprecated;\nuse *Datacenter.PowerOnMultiVM_Task* instead.\n\nIf this virtual machine is a fault tolerant primary virtual machine, its\nsecondary virtual machines will be started on system-selected\nhosts. If the virtual machines are in a VMware DRS enabled cluster,\nthen DRS will be invoked to obtain placements for the secondaries but\nno vmotion nor host power operations will be considered for these power ons.\n\n***Required privileges:*** VirtualMachine.Interact.PowerOn\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PowerOnVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is poweredOn.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***NotEnoughLicenses***: if there are not enough licenses to power on this\nvirtual machine.\n\n***NotSupported***: if the virtual machine is marked as a template.\n\n***InvalidState***: if the host is in maintenance mode or if\nthe virtual machine's configuration information is not available\nor if the virtual machine is already powering on\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***VmConfigFault***: if a configuration issue prevents the power-on.\nTypically, a more specific fault, such as UnsupportedVmxLocation, is\nthrown.\n\n***FileFault***: if there is a problem accessing the virtual machine on the\nfilesystem.\n\n***DisallowedOperationOnFailoverHost***: if the host specified is a failover\nhost. See *ClusterFailoverHostAdmissionControlPolicy*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/PromoteDisks_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Promotes disks on this virtual machine that have delta disk backings.\n",
        "operationId": "VirtualMachine_PromoteDisks_Task",
        "description": "Promotes disks on this virtual machine that have delta disk backings.\n\nA delta disk backing is a way to preserve a virtual disk backing\nat some point in time. A delta disk backing is a file backing which in\nturn points to the original virtual disk backing (the parent). After a delta\ndisk backing is added, all writes go to the delta disk backing. All reads\nfirst try the delta disk backing and then try the parent backing if needed.\n\nPromoting does two things\n1. If the unlink parameter is true, any disk backing which is shared\n   shared by multiple virtual machines is copied so that this virtual machine\n   has its own unshared version. Copied files always end up in the virtual\n   machine's home directory. To promote the disks of a powered on VM,\n   the VM cannot have snapshots.\n2. Any disk backing which is not shared between multiple virtual\n   machines and is not associated with a snapshot is consolidated\n   with its child backing.\n   \nIf the unlink parameter is true, the net effect of this operation is improved\nread performance, at the cost of disk space. If the unlink parameter is\nfalse the net effect is improved read performance at the cost of inhibiting\nfuture sharing.\n\nThis operation is only supported if\n*HostCapability.deltaDiskBackingsSupported* is true.\n\nThis operation is only supported on VirtualCenter. If no work is required,\nan invocation completes successfully.\n\n***Required privileges:*** VirtualMachine.Provisioning.PromoteDisks\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteDisksRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host doesn't support disk promotion APIs.\n\n***InvalidState***: if the virtual machine's power state changes\nduring the execution of this method.\n\n***InvalidState***: if the virtual machine is not ready to respond to\nsuch requests.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/PutUsbScanCodes": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Inject a sequence of USB HID scan codes into the keyboard.\n",
        "operationId": "VirtualMachine_PutUsbScanCodes",
        "description": "Inject a sequence of USB HID scan codes into the keyboard.\n\n***Required privileges:*** VirtualMachine.Interact.PutUsbScanCodes\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutUsbScanCodesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Number of keys injected.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/QueryChangedDiskAreas": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Get a list of areas of a virtual disk belonging to this VM that have\nbeen modified since a well-defined point in the past.\n",
        "operationId": "VirtualMachine_QueryChangedDiskAreas",
        "description": "Get a list of areas of a virtual disk belonging to this VM that have\nbeen modified since a well-defined point in the past.\n\nThe beginning of\nthe change interval is identified by \"changeId\", while the end of the\nchange interval is implied by the snapshot ID passed in.\n\nNote that the result of this function may contain \"false positives\"\n(i.e: flag areas of the disk as modified that are not). However, it is\nguaranteed that no changes will be missed.\n\n***Required privileges:*** VirtualMachine.Provisioning.DiskRandomRead\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryChangedDiskAreasRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a data structure specifying extents of the virtual disk that\nhave changed since the thime the changeId string was obtained.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiskChangeInfo"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the snapshot specified does not exist.\n\n***InvalidArgument***: if deviceKey does not specify a virtual disk, startOffset\nis beyond the end of the virtual disk or changeId is invalid or change\ntracking is not supported for this particular disk.\n\n***FileFault***: if the virtual disk files cannot be accessed/queried.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/QueryConnections": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Ask the virtual machine for a list of connections.\n",
        "operationId": "VirtualMachine_QueryConnections",
        "description": "Ask the virtual machine for a list of connections.\n\nThe virtual machine returns a list of connections.\nIt is possible for the array returned to be empty - a virtual machine\nmay have no connections.\n\n***Since:*** vSphere API Release 7.0.1.0\n\n***Required privileges:*** VirtualMachine.Interact.ConsoleInteract\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualMachineConnection"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: If the virtual machine is not powered on.\n\n***Timedout***: If the the virtual machine did not respond\nto the request in a timely manner.\n\n***VmConfigFault***: If an error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/QueryFaultToleranceCompatibility": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "This API can be invoked to determine whether a virtual machine is\ncompatible for legacy Fault Tolerance.\n",
        "operationId": "VirtualMachine_QueryFaultToleranceCompatibility",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nThis API can be invoked to determine whether a virtual machine is\ncompatible for legacy Fault Tolerance.\n\nThe API only checks for\nVM-specific factors that impact compatibility for RecordReplay based\nFault Tolerance. Other requirements for Fault Tolerance such as host\nprocessor compatibility, logging nic configuration and licensing are\nnot covered by this API.\nThe query returns a list of faults, each fault corresponding to a\nspecific incompatibility. If a given virtual machine is\ncompatible for Fault Tolerance, then the fault list returned will be\nempty.\n\n***Required privileges:*** VirtualMachine.Config.QueryFTCompatibility\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MethodFault"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the operation cannot be performed because of\nthe virtual machine's current state.\n\n***VmConfigFault***: if the virtual machine's configuration is invalid.\n\n***NotSupported***: if the virtual machine is a template or this operation\nis not supported.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/QueryFaultToleranceCompatibilityEx": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "This API can be invoked to determine whether a virtual machine is\ncompatible for Fault Tolerance.\n",
        "operationId": "VirtualMachine_QueryFaultToleranceCompatibilityEx",
        "description": "This API can be invoked to determine whether a virtual machine is\ncompatible for Fault Tolerance.\n\nThe API only checks for VM-specific\nfactors that impact compatibility for Fault Tolerance. Other\nrequirements for Fault Tolerance such as host processor compatibility,\nlogging nic configuration and licensing are not covered by this API.\nThe query returns a list of faults, each fault corresponding to a\nspecific incompatibility. If a given virtual machine is\ncompatible for Fault Tolerance, then the fault list returned will be\nempty.\n\n***Required privileges:*** VirtualMachine.Config.QueryFTCompatibility\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryFaultToleranceCompatibilityExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MethodFault"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the operation cannot be performed because of\nthe virtual machine's current state.\n\n***VmConfigFault***: if the virtual machine's configuration is invalid.\n\n***NotSupported***: if the virtual machine is a template or this operation\nis not supported.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/QueryUnownedFiles": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "For all files that belong to the vm, check that the file owner\nis set to the current datastore principal user, as set by\n*HostDatastoreSystem.ConfigureDatastorePrincipal*\n",
        "operationId": "VirtualMachine_QueryUnownedFiles",
        "description": "For all files that belong to the vm, check that the file owner\nis set to the current datastore principal user, as set by\n*HostDatastoreSystem.ConfigureDatastorePrincipal*\n\n***Required privileges:*** VirtualMachine.Config.QueryUnownedFiles\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The list of file paths for vm files whose ownership is\nnot correct.\nUse *FileManager.ChangeOwner* to set the file ownership.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/RebootGuest": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Issues a command to the guest operating system asking it to perform\na reboot.\n",
        "operationId": "VirtualMachine_RebootGuest",
        "description": "Issues a command to the guest operating system asking it to perform\na reboot.\n\nReturns immediately and does not wait for the guest operating system\nto complete the operation.\n\n***Required privileges:*** VirtualMachine.Interact.Reset\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is not powered on.\n\n***ToolsUnavailable***: if VMware Tools is not running.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/ReconfigVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Reconfigures this virtual machine.\n",
        "operationId": "VirtualMachine_ReconfigVM_Task",
        "description": "Reconfigures this virtual machine.\n\nAll the changes in the given configuration\nare applied to the virtual machine as an atomic operation.\n\nReconfiguring the virtual machine may require any of the following privileges\ndepending on what is being changed:\n- VirtualMachine.Interact.DeviceConnection if changing the runtime connection\n  state of a device as embodied by the Connectable property.\n- VirtualMachine.Interact.SetCDMedia if changing the backing of a CD-ROM\n  device\n- VirtualMachine.Interact.SetFloppyMedia if changing the backing of a\n  floppy device\n- VirtualMachine.Config.Rename if renaming the virtual machine\n- VirtualMachine.Config.Annotation if setting annotation a value\n- VirtualMachine.Config.AddExistingDisk if adding a virtual disk device\n  that is backed by an existing virtual disk file\n- VirtualMachine.Config.AddNewDisk if adding a virtual disk device for which\n  the backing virtual disk file is to be created\n- VirtualMachine.Config.RemoveDisk if removing a virtual disk device that\n  refers to a virtual disk file\n- VirtualMachine.Config.CPUCount if changing the number of CPUs\n- VirtualMachine.Config.Memory if changing the amount of memory\n- VirtualMachine.Config.RawDevice if adding, removing or editing a raw\n  device mapping (RDM) or SCSI passthrough device\n- VirtualMachine.Config.AddRemoveDevice if adding or removing any\n  device other than disk, raw, or USB device\n- VirtualMachine.Config.EditDevice if changing the settings of any\n  device\n- VirtualMachine.Config.Settings if changing any basic settings such as\n  those in ToolsConfigInfo, FlagInfo, or DefaultPowerOpInfo\n- VirtualMachine.Config.Resource if changing resource allocations,\n  affinities, or setting network traffic shaping or virtual disk shares\n- VirtualMachine.Config.AdvancedConfig if changing values in\n  extraConfig\n- VirtualMachine.Config.SwapPlacement if changing swapPlacement\n- VirtualMachine.Config.HostUSBDevice if adding, removing or editing a\n  VirtualUSB device backed by the host USB device.\n- VirtualMachine.Config.DiskExtend if extending an existing VirtualDisk\n  device.\n- VirtualMachine.Config.ChangeTracking if enabling/disabling changed\n  block tracking for the virtual machine's disks.\n- VirtualMachine.Config.MksControl if toggling display connection\n  limits or the guest auto-lock feature.\n- DVSwitch.CanUse if connecting a VirtualEthernetAdapter to a port\n  in a DistributedVirtualSwitch.\n- DVPortgroup.CanUse if connecting a VirtualEthernetAdapter to a\n  DistributedVirtualPortgroup.\n- Cryptographer.Encrypt if vm home folder is encrypted or existing\n  disk is encryted.\n- Cryptographer.Decrypt if vm home folder is decrypted or existing\n  disk is decryted.\n- Cryptographer.Recrypt if vm home folder is recrypted or existing\n  disk is recryted.\n- Cryptographer.AddDisk if encrypted disk is attached to the vm.\n- Cryptographer.RegisterHost on the host if the virtual machine is\n  encrypted, but encryption is not enabled on the host.\n  \nCreating a virtual machine may require the following privileges:\n- VirtualMachine.Config.RawDevice if adding a raw device\n- VirtualMachine.Config.AddExistingDisk if adding a VirtualDisk and\n  the fileOperation is unset\n- VirtualMachine.Config.AddNewDisk if adding a VirtualDisk and\n  the fileOperation is set\n- VirtualMachine.Config.HostUSBDevice if adding a VirtualUSB device\n  backed by the host USB device.\n  \nIn addition, this operation may require the following privileges:\n- Datastore.AllocateSpace on any datastore where virtual disks will\n  be created or extended.\n- Network.Assign on any network the virtual machine will be\n  connected to.\n  \nTo create a VirtualDisk on a persistent memory storage, the storage\nmust be specified via\n*profile* while the datastore\nproperty of corresponding VirtualDisk backing must be unset.\n\nTo create a VirtualNVDIMM device, the storage\n*profile* must be set to the\ndefault persistent memory storage profile while the datastore property of\n*the device backing* must be\nunset.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is poweredOn and the virtual hardware\ncannot support the configuration changes.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***TooManyDevices***: if the device specifications exceed the allowed limits.\n\n***ConcurrentAccess***: if the changeVersion does not match the server's\nchangeVersion for the configuration.\n\n***FileFault***: if there is a problem creating or accessing the virtual machine's\nfiles for this operation. Typically a more specific fault like NoDiskSpace\nor FileAlreadyExists is thrown.\n\n***InvalidName***: if the specified name is invalid.\n\n***DuplicateName***: if the specified name already exists in the parent folder.\n\n***InvalidState***: if the operation cannot be performed in the current state\nof the virtual machine. For example, because the virtual machine's\nconfiguration is not available.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***VmConfigFault***: if the spec is invalid. Typically, a more specific subclass\nis thrown.\n\n***CpuHotPlugNotSupported***: if the current configuration of the VM does not\nsupport hot-plugging of CPUs.\n\n***MemoryHotPlugNotSupported***: if the current configuration of the VM does not\nsupport hot-plugging of memory.\n\n***VmWwnConflict***: if the WWN of the virtual machine has been used by\nother virtual machines.\n\n***NoPermission***: if crypto operation is requested on the vm home\nfolder, but the user does not have the corresponding crypto\nprivilege on the virtual machine:\nEncrypt - Cryptographer.Encrypt\nDecrypt - Cryptographer.Decrypt\nRecrypt - Cryptographer.Recrypt\n\n***NoPermission***: if crypto operation is requested on the vms disks,\nbut the user does not have the corresponding crypto privilege\non the virtual machine:\nEncrypt - Cryptographer.Encrypt\nDecrypt - Cryptographer.Decrypt\nRecrypt - Cryptographer.Recrypt\nAddDisk - Cryptographer.AddDisk\n\n***NoPermission***: if the virtual machine is encrypted and the\nencryption is not enabled on the host, but the user does not have\nCryptographer.RegisterHost privilege on the host.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/RefreshStorageInfo": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Explicitly refreshes the storage information of this virtual machine,\nupdating properties *VirtualMachine.storage*, *VirtualMachine.layoutEx*\nand *VirtualMachineSummary.storage*.\n",
        "operationId": "VirtualMachine_RefreshStorageInfo",
        "description": "Explicitly refreshes the storage information of this virtual machine,\nupdating properties *VirtualMachine.storage*, *VirtualMachine.layoutEx*\nand *VirtualMachineSummary.storage*.\n\nThis is an asynchronous operation which will return immediately; changes\nmay not be reflected in vCenter for some time.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VirtualMachine/{moId}/Reload": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "VirtualMachine_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VirtualMachine/{moId}/reloadVirtualMachineFromPath_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Reloads the configuration for this virtual machine from a given\ndatastore path.\n",
        "operationId": "VirtualMachine_reloadVirtualMachineFromPath_Task",
        "description": "Reloads the configuration for this virtual machine from a given\ndatastore path.\n\nThis is equivalent to unregistering and registering the\nvirtual machine from a different path. The virtual machine's hardware\nconfiguration, snapshots, guestinfo variables etc. will be\nreplaced based on the new configuration file. Other information\nassociated with the virtual machine object, such as events and\npermissions, will be preserved.\n\nThis method is only supported on vCenter Server. It can be invoked on\ninaccessible or orphaned virtual machines, but it cannot be invoked on\npowered on, connected virtual machines. Both the source virtual machine\nobject and the destination path should be of the same type i.e. virtual\nmachine or template. Reloading a virtual machine with a template or\nvice-versa is not supported.\n\n_Note:_ Since the API replaces the source configuration with that\nof the destination, if the destination configuration does not refer to a\nvalid virtual machine, it will create an invalid virtual machine object.\nThis API should not be invoked on fault tolerant virtual machines since\ndoing so will leave the original virtual machine's configuration in an\ninvalid state. It is recommended that you turn off fault tolerance before\ninvoking this API.\n\n***Required privileges:*** VirtualMachine.Config.ReloadFromPath\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reloadVirtualMachineFromPathRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if invoked on ESX server or if invoked on a virtual\nmachine with the destination path for a template and vice-versa.\n\n***InvalidPowerState***: if the virtual machine is powered on.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***FileFault***: if there is a problem creating or accessing the files\nneeded for this operation.\n\n***InvalidState***: if the virtual machine is busy or not ready to\nrespond to such requests.\n\n***VmConfigFault***: if the format / configuration of the virtual machine\nis invalid. Typically, a more specific fault is thrown such as\nInvalidFormat if the configuration file cannot be read, or\nInvalidDiskFormat if the disks cannot be read.\n\n***AlreadyExists***: if the virtual machine is already registered.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/RelocateVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Relocates a virtual machine to the location specified by\n*VirtualMachineRelocateSpec*.\n",
        "operationId": "VirtualMachine_RelocateVM_Task",
        "description": "Relocates a virtual machine to the location specified by\n*VirtualMachineRelocateSpec*.\n\nStarting from VCenter 5.1, this API also supports relocating a template\nto a new host should the current host become inactive.\nStarting from vCenter 6.0 this API also supports relocating a VM to a new\nvCenter service.\n\nRequires the following additional permissions:\n- Resource.HotMigrate if the virtual machine is powered on.\n- Datastore.AllocateSpec if the virtual machine or its disks are\n  being relocated to a new datastore.\n- Resource.AssignVMToPool if the resource pool is changing.\n- VirtualMachine.Inventory.Register against the destination folder if\n  the virtual machine is moving to a new vCenter service.\n- VirtualMachine.Inventory.Move against the virtual machine, source\n  folder, and destination folder if the virtual machine is changing\n  folders within the same vCenter service.\n- Network.Assign against the new network if the virtual machine is\n  changing networks.\n  \nIf this virtual machine is configured with a VirtualNVDIMM device, and if\nthe virtual machine will be moved to a different host, the VirtualNVDIMM\nwill be automatically relocated to the destination host's Non-Volatile\nMemory storage.\nIf this Virtual machine is configured with virtual disks via\npersistent memory storage profile:\n- If spec specifies only compute location change, these virtual disks\n  will be automatically moved to a persistent memory storage in\n  destination host that supports the profile.\n- If spec specifies primary datastore change via\n  *datastore*, unlike regular\n  virtual disks, these disks will not be automatically moved to the\n  specified datastore, instead they will stay on a persistent\n  memory storage in destination host that supports the profile.\n- To explicityly move these disks to a location other than\n  persistent memory storage, use disk locator to specify the\n  new destination datastore along with a storage profile that removes\n  the persistent memory storage requirement. Note that this\n  downgrades the disk I/O performance.\n- On the other hand, to move a virtual disk from a regular storage to\n  persistent memory, use\n  *deviceChange*\n  to specify a storage profile of persistent memory storage. Note\n  that this upgrades the disk I/O performance.\n  \n***Required privileges:*** Resource.ColdMigrate\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RelocateVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: in the following cases:\n- the target host and target pool are not associated with the\n  same compute resource\n- the target pool represents a cluster without DRS enabled,\n  and the host is not specified\n- the virtual machine is powered on, its home or any of its disks\n  will change storage location, and the host is not specified\n- Datastore is not accessible in a cross-datacenter move\n- Datastore in a diskLocator entry is not specified\n- the specified device ID cannot be found in the virtual machine's current\n  configuration\n  \n***NotSupported***: if the virtual machine is marked as template and\nthe datastore is changing or if it is a cross vCenter vMotion operation.\n\n***Timedout***: if one of the phases of the relocate process times out.\n\n***InvalidState***: if the operation cannot be performed because of the\nhost or virtual machine's current state. For example, if the host is in\nmaintenance mode, or if the virtual machine's configuration information\nis not available.\n\n***InvalidDatastore***: if the operation cannot be performed on the\ntarget datastores.\n\n***FileFault***: if there is an error accessing the virtual machine files.\n\n***VmConfigFault***: if the virtual machine is not compatible with the\ndestination host. Typically, a specific subclass of this exception is\nthrown, such as IDEDiskNotSupported.\n\n***MigrationFault***: if it is not possible to migrate the virtual machine to\nthe destination host. This is typically due to hosts being incompatible,\nsuch as mismatch in network polices or access to networks and datastores.\nTypically, a more specific subclass is thrown.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***DisallowedOperationOnFailoverHost***: if the virtual machine is powered on\nand is being migrated to a failover host. See\n*ClusterFailoverHostAdmissionControlPolicy*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/RemoveAllSnapshots_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Remove all the snapshots associated with this virtual machine.\n",
        "operationId": "VirtualMachine_RemoveAllSnapshots_Task",
        "description": "Remove all the snapshots associated with this virtual machine.\n\nIf the virtual\nmachine\ndoes not have any snapshots, then this operation simply returns successfully.\n\n***Required privileges:*** VirtualMachine.State.RemoveSnapshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveAllSnapshotsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host product does not support snapshots.\n\n***InvalidPowerState***: if the operation cannot be performed in the current\npower state of the virtual machine.\n\n***SnapshotFault***: if an error occurs during the snapshot operation.\nTypically, a more specific fault like InvalidSnapshotFormat\nis thrown.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "VirtualMachine_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** VirtualMachine.Config.Rename\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/ResetVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Resets power on this virtual machine.\n",
        "operationId": "VirtualMachine_ResetVM_Task",
        "description": "Resets power on this virtual machine.\n\nIf the current state is poweredOn,\nthen this method first performs powerOff(hard). Once the power state\nis poweredOff, then this method performs powerOn(option).\n\nAlthough this method functions as a powerOff followed by a powerOn, the\ntwo operations are atomic with respect to other clients, meaning that\nother power operations cannot be performed until the reset method completes.\n\n***Required privileges:*** VirtualMachine.Interact.Reset\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is suspended or poweredOff.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***NotEnoughLicenses***: if there are not enough licenses to reset\nthis virtual machine.\n\n***NotSupported***: if the virtual machine is marked as a template.\n\n***InvalidState***: if the host is in maintenance mode.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/ResetGuestInformation": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Clears cached guest information.\n",
        "operationId": "VirtualMachine_ResetGuestInformation",
        "description": "Clears cached guest information.\n\nGuest information can be cleared\nonly if the virtual machine is powered off.\n\nThis method can be useful if stale information is cached,\npreventing an IP address or MAC address from being reused.\n\n***Required privileges:*** VirtualMachine.Config.ResetGuestInfo\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the virtual machine is not powered off.\n\n***NotSupported***: if the virtual machine is marked as a template.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/RevertToCurrentSnapshot_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Reverts the virtual machine to the current snapshot.\n",
        "operationId": "VirtualMachine_RevertToCurrentSnapshot_Task",
        "description": "Reverts the virtual machine to the current snapshot.\n\nThis is equivalent to\ndoing snapshot.currentSnapshot.revert.\n\nIf no snapshot exists, then the operation does nothing,\nand the virtual machine state remains unchanged.\n\n***Required privileges:*** VirtualMachine.State.RevertToSnapshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevertToCurrentSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host product does not support snapshots.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***SnapshotFault***: if an error occurs during the snapshot operation.\nTypically, a more specific fault like InvalidSnapshotFormat\nis thrown.\n\n***InvalidPowerState***: if the operation cannot be performed in the current\npower state of the virtual machine.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available or if an OVF consumer is\nblocking the operation.\n\n***VmConfigFault***: if a configuration issue prevents the power-on. Typically, a\nmore specific fault, such as UnsupportedVmxLocation, is thrown.\n\n***FileFault***: if there is a problem accessing the virtual machine on the\nfilesystem.\n\n***NotFound***: if the virtual machine does not have a current snapshot.\n\n***DisallowedOperationOnFailoverHost***: if the virtual machine is being\nreverted to a powered on state and the host specified is a failover host.\nSee *ClusterFailoverHostAdmissionControlPolicy*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/SendNMI": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Send a non-maskable interrupt (NMI).\n",
        "operationId": "VirtualMachine_SendNMI",
        "description": "Send a non-maskable interrupt (NMI).\n\nCurrently, there is no way to verify if the NMI was actually\nreceived by the guest OS.\n\n***Required privileges:*** VirtualMachine.Interact.GuestControl\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the virtual machine is not powered on.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "VirtualMachine_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VirtualMachine/{moId}/SetDisplayTopology": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Sets the console window's display topology as specified.\n",
        "operationId": "VirtualMachine_SetDisplayTopology",
        "description": "Sets the console window's display topology as specified.\n\n***Required privileges:*** VirtualMachine.Interact.ConsoleInteract\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDisplayTopologyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: if the Guest Operating system does\nnot support setting the display topology\n\n***InvalidPowerState***: if the power state is not poweredOn.\n\n***InvalidState***: if the virtual machine is not connected.\n\n***ToolsUnavailable***: if VMware Tools is not running.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/SetScreenResolution": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Sets the console window's resolution as specified.\n",
        "operationId": "VirtualMachine_SetScreenResolution",
        "description": "Sets the console window's resolution as specified.\n\n***Required privileges:*** VirtualMachine.Interact.ConsoleInteract\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetScreenResolutionRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: if the Guest Operating system does\nnot support setting the screen resolution.\n\n***InvalidPowerState***: if the power state is not poweredOn.\n\n***InvalidState***: if the virtual machine is not connected.\n\n***ToolsUnavailable***: if VMware Tools is not running.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/ShutdownGuest": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Issues a command to the guest operating system asking it to perform\na clean shutdown of all services.\n",
        "operationId": "VirtualMachine_ShutdownGuest",
        "description": "Issues a command to the guest operating system asking it to perform\na clean shutdown of all services.\n\nReturns immediately and does not wait for the guest operating system\nto complete the operation.\n\n***Required privileges:*** VirtualMachine.Interact.PowerOff\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is not powered on.\n\n***ToolsUnavailable***: if VMware Tools is not running.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/StandbyGuest": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Issues a command to the guest operating system asking it to prepare for\na suspend operation.\n",
        "operationId": "VirtualMachine_StandbyGuest",
        "description": "Issues a command to the guest operating system asking it to prepare for\na suspend operation.\n\nReturns immediately and does not wait for the guest operating system\nto complete the operation.\n\n***Required privileges:*** VirtualMachine.Interact.Suspend\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is not powered on.\n\n***ToolsUnavailable***: if VMware Tools is not running.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/StartRecording_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Initiates a recording session on this virtual machine.\n",
        "operationId": "VirtualMachine_StartRecording_Task",
        "deprecated": true,
        "description": "Deprecated as of vsphere API 5.1.\n\nInitiates a recording session on this virtual machine.\n\nAs a side effect,\nthis operation creates a snapshot on the virtual machine, which in turn\nbecomes the current snapshot.\n\nThis is an experimental interface that is not intended for use in production code.\n\n***Required privileges:*** VirtualMachine.Interact.Record\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartRecordingRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation. The *info.result* property\nin the *Task* contains the newly created *VirtualMachineSnapshot*\nassociated with the recording on success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host product does not support record\nfunctionality or if the virtual machine does not support this\n\n***VmConfigIncompatibleForRecordReplay***: if the virtual machine\nconfiguration is incompatible for recording.\n\n***SnapshotFault***: if an error occurs during the snapshot operation.\nTypically, a more specific fault like MultipleSnapshotsNotSupported\nis thrown.\n\n***InvalidName***: if the specified snapshot name is invalid.\n\n***FileFault***: if there is a problem with creating or accessing one\nor more files needed for this operation.\n\n***InvalidPowerState***: if the operation cannot be performed in the\ncurrent power state of the virtual machine.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, the virtual machine\nconfiguration information is not available.\n\n***RecordReplayDisabled***: if the record/replay config flag has not been\nenabled for this virtual machine.\n\n***HostIncompatibleForRecordReplay***: if the virtual machine is located\non a host that does not support record/replay.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/StartReplaying_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Starts a replay session on this virtual machine.\n",
        "operationId": "VirtualMachine_StartReplaying_Task",
        "deprecated": true,
        "description": "Deprecated as of vsphere API 5.1.\n\nStarts a replay session on this virtual machine.\n\nAs a side effect,\nthis operation updates the current snapshot of the virtual machine.\n\nThis is an experimental interface that is not intended for use in production code.\n\n***Required privileges:*** VirtualMachine.Interact.Replay\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartReplayingRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host product does not support record/replay\nfunctionality or if the virtual machine does not support this\ncapability.\n\n***InvalidArgument***: if replaySnapshot is not a valid snapshot\nassociated with a recorded session on this virtual machine.\n\n***SnapshotFault***: if an error occurs during the snapshot operation.\nTypically, a more specific fault like InvalidSnapshotFormat\nis thrown.\n\n***FileFault***: if there is a problem with creating or accessing one\nor more files needed for this operation.\n\n***VmConfigIncompatibleForRecordReplay***: if the virtual machine\nconfiguration is incompatible for replaying.\n\n***InvalidPowerState***: if the operation cannot be performed in the\ncurrent power state of the virtual machine.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, the virtual machine\nconfiguration information is not available.\n\n***NotFound***: if replaySnapshot is no longer present.\n\n***RecordReplayDisabled***: if the record/replay config flag has not been\nenabled for this virtual machine.\n\n***HostIncompatibleForRecordReplay***: if the virtual machine is located\non a host that does not support record/replay.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/StopRecording_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Stops a currently active recording session on this virtual machine.\n",
        "operationId": "VirtualMachine_StopRecording_Task",
        "deprecated": true,
        "description": "Deprecated as of vsphere API 5.1.\n\nStops a currently active recording session on this virtual machine.\n\nThis is an experimental interface that is not intended for use in production code.\n\n***Required privileges:*** VirtualMachine.Interact.Record\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host product does not support record/replay\nfunctionality or if the virtual machine does not support this\ncapability.\n\n***SnapshotFault***: if an error occurs during the snapshot operation.\nTypically, a more specific fault like InvalidSnapshotFormat\nis thrown.\n\n***FileFault***: if there is a problem with creating or accessing one\nor more files needed for this operation.\n\n***InvalidPowerState***: if the operation cannot be performed in the current\npower state of the virtual machine.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, the virtual machine\ndoes not have an active recording session.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/StopReplaying_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Stops a replay session on this virtual machine.\n",
        "operationId": "VirtualMachine_StopReplaying_Task",
        "deprecated": true,
        "description": "Deprecated as of vsphere API 5.1.\n\nStops a replay session on this virtual machine.\n\nThis is an experimental interface that is not intended for use in production code.\n\n***Required privileges:*** VirtualMachine.Interact.Replay\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host product does not support record/replay\nfunctionality or if the virtual machine does not support this\ncapability.\n\n***SnapshotFault***: if an error occurs during the snapshot operation.\nTypically, a more specific fault like InvalidSnapshotFormat\nis thrown.\n\n***FileFault***: if there is a problem with creating or accessing one\nor more files needed for this operation.\n\n***InvalidPowerState***: if the operation cannot be performed in the\ncurrent power state of the virtual machine.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, the virtual machine\ndoes not have an active recording session.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/SuspendVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Suspends execution in this virtual machine.\n",
        "operationId": "VirtualMachine_SuspendVM_Task",
        "description": "Suspends execution in this virtual machine.\n\n***Required privileges:*** VirtualMachine.Interact.Suspend\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is not poweredOn.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the virtual machine is marked as a template.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/TerminateVM": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Do an immediate power off of a VM.\n",
        "operationId": "VirtualMachine_TerminateVM",
        "description": "Do an immediate power off of a VM.\n\nThis API issues a SIGKILL to the vmx process of the VM.\nPending synchronous I/Os may not be written out before the vmx\nprocess dies depending on accessibility of the datastore.\n\n***Required privileges:*** VirtualMachine.Interact.PowerOff\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: if this operation is not supported.\n\n***InvalidState***: if the VM is not powered on or another issue prevents the\noperation from being performed.\n\n***TaskInProgress***: if the virtual machine is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/TerminateFaultTolerantVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Terminates the specified secondary virtual machine in a fault tolerant group.\n",
        "operationId": "VirtualMachine_TerminateFaultTolerantVM_Task",
        "description": "Terminates the specified secondary virtual machine in a fault tolerant group.\n\nThis\ncan be used to test fault tolerance on a given virtual machine, and should\nbe used with care.\n\n***Required privileges:*** VirtualMachine.Interact.TerminateFaultTolerantVM\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TerminateFaultTolerantVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmFaultToleranceIssue***: if any error is encountered with the\nfault tolerance configuration of the virtual machine. Typically,\na more specific fault like InvalidOperationOnSecondaryVm is thrown.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the host is in maintenance mode or if\nthe virtual machine's configuration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/TurnOffFaultToleranceForVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Removes all secondary virtual machines associated with the fault tolerant\ngroup and turns off protection for this virtual machine.\n",
        "operationId": "VirtualMachine_TurnOffFaultToleranceForVM_Task",
        "description": "Removes all secondary virtual machines associated with the fault tolerant\ngroup and turns off protection for this virtual machine.\n\nThis operation can only be invoked from the primary virtual machine in\nthe group.\n\n***Required privileges:*** VirtualMachine.Interact.TurnOffFaultTolerance\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***VmFaultToleranceIssue***: if any error is encountered with the\nfault tolerance configuration of the virtual machine. Typically,\na more specific fault like InvalidOperationOnSecondaryVm is thrown.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the host is in maintenance mode or if\nthe virtual machine's configuration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/UnmountToolsInstaller": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Unmounts VMware Tools installer CD.\n",
        "operationId": "VirtualMachine_UnmountToolsInstaller",
        "description": "Unmounts VMware Tools installer CD.\n\n***Required privileges:*** VirtualMachine.Interact.ToolsInstall\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: if the virtual machine is not running,\nVMware Tools is not running or the VMware Tools CD is already mounted.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/UnregisterVM": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Removes this virtual machine from the inventory without removing\nany of the virtual machine's files on disk.\n",
        "operationId": "VirtualMachine_UnregisterVM",
        "description": "Removes this virtual machine from the inventory without removing\nany of the virtual machine's files on disk.\n\nAll high-level information\nstored with the management server (ESX Server or VirtualCenter) is\nremoved, including information such as statistics, resource pool association,\npermissions, and alarms.\n\nUse the Folder.RegisterVM method to recreate a\nVirtualMachine object from the set of virtual machine files by passing in\nthe path to the configuration file. However, the VirtualMachine managed object\nthat results typically has different objects ID and may inherit a different\nset of permissions.\n\n***Required privileges:*** VirtualMachine.Inventory.Unregister\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidPowerState***: if the virtual machine is powered on.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/UpgradeTools_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Begins the tools upgrade process.\n",
        "operationId": "VirtualMachine_UpgradeTools_Task",
        "description": "Begins the tools upgrade process.\n\nTo monitor the status of the tools install, clients should check the tools status,\n*GuestInfo.toolsVersionStatus* and\n*GuestInfo.toolsRunningStatus*.\n\n***Required privileges:*** VirtualMachine.Interact.ToolsInstall\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpgradeToolsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the virtual machine is not running\nor is suspended.\n\n***NotSupported***: if upgrading tools is not supported.\n\n***TaskInProgress***: if an upgrade is already taking place.\n\n***VmToolsUpgradeFault***: if the upgrade failed.\n\n***ToolsUnavailable***: if VMware Tools is not running.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/UpgradeVM_Task": {
      "post": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Upgrades this virtual machine's virtual hardware to the latest revision\nthat is supported by the virtual machine's current host.\n",
        "operationId": "VirtualMachine_UpgradeVM_Task",
        "description": "Upgrades this virtual machine's virtual hardware to the latest revision\nthat is supported by the virtual machine's current host.\n\n***Required privileges:*** VirtualMachine.Config.UpgradeVirtualHardware\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpgradeVMRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidPowerState***: if the power state is not poweredOff.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***AlreadyUpgraded***: if the virtual machine's hardware is already up-to-date.\n\n***NoDiskFound***: if no virtual disks are attached to this virtual machine.\n\n***InvalidState***: if the host is in maintenance mode,\nif an invalid version string is specified, or\nif the virtual machine is in a state in which the operation\ncannot be performed. For example, if the configuration\ninformation is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "VirtualMachine_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/availableField": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "VirtualMachine_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/capability": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Information about the runtime capabilities of this virtual machine.\n",
        "operationId": "VirtualMachine_getCapability",
        "description": "Information about the runtime capabilities of this virtual machine.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualMachineCapability"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/config": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Configuration of this virtual machine, including the name and UUID.\n",
        "operationId": "VirtualMachine_getConfig",
        "description": "Configuration of this virtual machine, including the name and UUID.\n\nThis property is set when a virtual machine is created or when\nthe *reconfigVM* method is called.\n\nThe virtual machine configuration is not guaranteed to be available.\nFor example, the configuration information would be unavailable\nif the server is unable to access the virtual machine files on disk,\nand is often also unavailable during the initial phases of\nvirtual machine creation.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VirtualMachineConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/configIssue": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "VirtualMachine_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/configStatus": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "VirtualMachine_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/customValue": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Custom field values.\n",
        "operationId": "VirtualMachine_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/datastore": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "A collection of references to the subset of datastore objects in the datacenter\nthat is used by this virtual machine.\n",
        "operationId": "VirtualMachine_getDatastore",
        "description": "A collection of references to the subset of datastore objects in the datacenter\nthat is used by this virtual machine.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "VirtualMachine_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "VirtualMachine_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "VirtualMachine_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/environmentBrowser": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "The current virtual machine's environment browser object.\n",
        "operationId": "VirtualMachine_getEnvironmentBrowser",
        "description": "The current virtual machine's environment browser object.\n\nThis contains\ninformation on all the configurations that can be used on the\nvirtual machine. This is identical to the environment browser on\nthe *ComputeResource* to which this virtual machine belongs.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *EnvironmentBrowser*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/guest": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Information about VMware Tools and about the virtual machine\nfrom the perspective of VMware Tools.\n",
        "operationId": "VirtualMachine_getGuest",
        "description": "Information about VMware Tools and about the virtual machine\nfrom the perspective of VMware Tools.\n\nInformation about the guest operating system is available in VirtualCenter. Guest\noperating system information reflects the last known state of the virtual machine.\nFor powered on machines, this is current information. For powered off machines,\nthis is the last recorded state before the virtual machine was powered off.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/GuestInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/guestHeartbeatStatus": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "The guest heartbeat.\n",
        "operationId": "VirtualMachine_getGuestHeartbeatStatus",
        "description": "The guest heartbeat.\n\nThe heartbeat status is classified as:\n- gray - VMware Tools are not installed or not running.\n- red - No heartbeat. Guest operating system may have stopped responding.\n- yellow - Intermittent heartbeat. May be due to guest load.\n- green - Guest operating system is responding normally.\n  \nThe guest heartbeat is a statistics metric. Alarms can be configured on\nthis metric to trigger emails or other actions.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/layout": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Detailed information about the files that comprise this virtual machine.\n",
        "operationId": "VirtualMachine_getLayout",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use *VirtualMachine.layoutEx* instead.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\nDetailed information about the files that comprise this virtual machine.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VirtualMachineFileLayout"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/layoutEx": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Detailed information about the files that comprise this virtual machine.\n",
        "operationId": "VirtualMachine_getLayoutEx",
        "description": "Detailed information about the files that comprise this virtual machine.\n\nCan be explicitly refreshed by the *VirtualMachine.RefreshStorageInfo* operation.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VirtualMachineFileLayoutEx"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/name": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "VirtualMachine_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/network": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "A collection of references to the subset of network objects in the datacenter that\nis used by this virtual machine.\n",
        "operationId": "VirtualMachine_getNetwork",
        "description": "A collection of references to the subset of network objects in the datacenter that\nis used by this virtual machine.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Network*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/overallStatus": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "VirtualMachine_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/parent": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "VirtualMachine_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/parentVApp": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Reference to the parent vApp.\n",
        "operationId": "VirtualMachine_getParentVApp",
        "description": "Reference to the parent vApp.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/permission": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "VirtualMachine_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/recentTask": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "VirtualMachine_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/resourceConfig": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "The resource configuration for a virtual machine.\n",
        "operationId": "VirtualMachine_getResourceConfig",
        "description": "The resource configuration for a virtual machine.\n\nThe shares\nin this specification are evaluated relative to the resource pool\nto which it is assigned. This will return null if the product\nthe virtual machine is registered on does not support resource\nconfiguration.\n\nTo retrieve the configuration, you typically use\n*childConfiguration*.\n\nTo change the configuration, use\n*ResourcePool.UpdateChildResourceConfiguration*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ResourceConfigSpec"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/resourcePool": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "The current resource pool that specifies resource allocation\nfor this virtual machine.\n",
        "operationId": "VirtualMachine_getResourcePool",
        "description": "The current resource pool that specifies resource allocation\nfor this virtual machine.\n\nThis property is set when a virtual machine is created or associated with\na different resource pool.\n\nReturns null if the virtual machine is a template or the session has no access\nto the resource pool.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ResourcePool*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/rootSnapshot": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "The roots of all snapshot trees for the virtual machine.\n",
        "operationId": "VirtualMachine_getRootSnapshot",
        "description": "The roots of all snapshot trees for the virtual machine.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *VirtualMachineSnapshot*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/runtime": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Execution state and history for this virtual machine.\n",
        "operationId": "VirtualMachine_getRuntime",
        "description": "Execution state and history for this virtual machine.\n\nThe contents of this property change when:\n- the virtual machine's power state changes.\n- an execution message is pending.\n- an event occurs.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualMachineRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/snapshot": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Current snapshot and tree.\n",
        "operationId": "VirtualMachine_getSnapshot",
        "description": "Current snapshot and tree.\n\nThe property is valid if snapshots have been created\nfor this virtual machine.\n\nThe contents of this property change in response to the methods:\n- *createSnapshot*\n- *revertToCurrentSnapshot*\n- *remove*\n- *revert*\n- *removeAllSnapshots*\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VirtualMachineSnapshotInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/storage": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Storage space used by the virtual machine, split by datastore.\n",
        "operationId": "VirtualMachine_getStorage",
        "description": "Storage space used by the virtual machine, split by datastore.\n\nCan be explicitly refreshed by the *VirtualMachine.RefreshStorageInfo* operation.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VirtualMachineStorageInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/summary": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "Basic information about this virtual machine.\n",
        "operationId": "VirtualMachine_getSummary",
        "description": "Basic information about this virtual machine.\n\nThis includes:\n- runtimeInfo\n- guest\n- basic configuration\n- alarms\n- performance information\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualMachineSummary"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/tag": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "VirtualMachine_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "VirtualMachine_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachine/{moId}/value": {
      "get": {
        "tags": [
          "VirtualMachine"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "VirtualMachine_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineCompatibilityChecker/{moId}/CheckCompatibility_Task": {
      "post": {
        "tags": [
          "VirtualMachineCompatibilityChecker"
        ],
        "summary": "Tests whether or not a virtual machine could be placed on\nthe given host in the given resource pool.\n",
        "operationId": "VirtualMachineCompatibilityChecker_CheckCompatibility_Task",
        "description": "Tests whether or not a virtual machine could be placed on\nthe given host in the given resource pool.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckCompatibilityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidState***: if the operation cannot be performed because of the\nhost or virtual machine's current state. For example, if the host\nis in maintenance mode or if the virtual machine's configuration\ninformation is not available.\n\n***InvalidArgument***: if the desired host and pool are not associated\nwith the same compute resource, the host parameter is left unset\nwhen the specified pool is associated with a non-DRS cluster, or\nif the specified vm does not exist.\n\n***DatacenterMismatch***: if the provided host and pool do not belong\nto the same datacenter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineCompatibilityChecker/{moId}/CheckPowerOn_Task": {
      "post": {
        "tags": [
          "VirtualMachineCompatibilityChecker"
        ],
        "summary": "Tests whether the provided virtual machine can be powered on\non the given host and/or resource pool.\n",
        "operationId": "VirtualMachineCompatibilityChecker_CheckPowerOn_Task",
        "description": "Tests whether the provided virtual machine can be powered on\non the given host and/or resource pool.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckPowerOnRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the desired host and pool are not associated\nwith the same compute resource, the host parameter is left unset\nwhen the specified pool is associated with a non-DRS cluster, or\nif the provided vm does not exist.\n\n***DatacenterMismatch***: if the provided host and pool do not belong\nto the same datacenter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineCompatibilityChecker/{moId}/CheckVmConfig_Task": {
      "post": {
        "tags": [
          "VirtualMachineCompatibilityChecker"
        ],
        "summary": "Tests whether the provided virtual machine specification can be applied\non the given host and resource pool.\n",
        "operationId": "VirtualMachineCompatibilityChecker_CheckVmConfig_Task",
        "description": "Tests whether the provided virtual machine specification can be applied\non the given host and resource pool.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckVmConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the desired host and pool are not associated\nwith the same compute resource, the host parameter is left unset\nwhen the specified pool is associated with a non-DRS cluster, or\nif the provided vm does not exist.\n\n***DatacenterMismatch***: if the provided host and pool do not belong\nto the same datacenter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineGuestCustomizationManager/{moId}/AbortCustomization_Task": {
      "post": {
        "tags": [
          "VirtualMachineGuestCustomizationManager"
        ],
        "summary": "Abort any running guest customization process in the guest and remove\nthe guest customization lock in the guest as well.\n",
        "operationId": "VirtualMachineGuestCustomizationManager_AbortCustomization_Task",
        "description": "Abort any running guest customization process in the guest and remove\nthe guest customization lock in the guest as well.\n\nAs a result of the\noperation, the guest configuration may be left in an undefined state,\nwhich is however fine because guest customization is idempotent.\nA later successful guest customization can set the guest configuration\nto a valid state.\nThe virtual machine must be in the powered-on state and the VMware Tools\nmust be running.\nThe VM is typically a cloned VM after the InstantClone operation. See\n*VirtualMachine.InstantClone_Task*.\n\n***Required privileges:*** VirtualMachine.Provisioning.Customize\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AbortCustomizationRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the VMware\nTools is not running.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestPermissionDenied***: if the provided guest authentication\nis not sufficient to perform the guest customization.\n\n***CustomizationFault***: if a customization error occurs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineGuestCustomizationManager/{moId}/CustomizeGuest_Task": {
      "post": {
        "tags": [
          "VirtualMachineGuestCustomizationManager"
        ],
        "summary": "Customize a running virtual machine.\n",
        "operationId": "VirtualMachineGuestCustomizationManager_CustomizeGuest_Task",
        "description": "Customize a running virtual machine.\n\nThe virtual machine must be in the powered-on state and the VMware Tools\nmust be running.\nThe VM is typically a cloned VM after the InstantClone operation. See\n*VirtualMachine.InstantClone_Task*.\n\n***Required privileges:*** VirtualMachine.Provisioning.Customize\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomizeGuestRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the VMware\nTools is not running.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestPermissionDenied***: if the provided guest authentication\nis not sufficient to perform the guest customization.\n\n***CustomizationFault***: if a customization error occurs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineGuestCustomizationManager/{moId}/StartGuestNetwork_Task": {
      "post": {
        "tags": [
          "VirtualMachineGuestCustomizationManager"
        ],
        "summary": "Start the network service in the guest, e.g.\n",
        "operationId": "VirtualMachineGuestCustomizationManager_StartGuestNetwork_Task",
        "description": "Start the network service in the guest, e.g.\n\nacquire IPs from DHCP.\nThe virtual machine must be in the powered-on state and the VMware Tools\nmust be running.\nThe VM is typically a cloned VM after the InstantClone operation. See\n*VirtualMachine.InstantClone_Task*.\n\n***Required privileges:*** VirtualMachine.Provisioning.Customize\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartGuestNetworkRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nthe operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidPowerState***: if the VM is not powered on.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the VMware\nTools is not running.\n\n***InvalidGuestLogin***: if the the guest authentication information\nwas not accepted.\n\n***GuestPermissionDenied***: if the provided guest authentication\nis not sufficient to perform the guest customization.\n\n***CustomizationFault***: if a customization error occurs.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineProvisioningChecker/{moId}/CheckClone_Task": {
      "post": {
        "tags": [
          "VirtualMachineProvisioningChecker"
        ],
        "summary": "Tests the feasibility of a proposed\n*VirtualMachine.CloneVM_Task* operation.\n",
        "operationId": "VirtualMachineProvisioningChecker_CheckClone_Task",
        "description": "Tests the feasibility of a proposed\n*VirtualMachine.CloneVM_Task* operation.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckCloneRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: in the following cases:\n- the target host and target pool are not associated with the\n  same compute resource\n- the target pool represents a cluster without DRS enabled,\n  and the host is not specified\n- Datastore in a diskLocator entry is not specified\n- the specified device ID cannot be found in the virtual machine's current\n  configuration\n- the object specified in relocate cannot be found\n- the target pool is not specified while checking feasibility of\n  cloning to a different datacenter or a different vCenter\n  service\n- the datastore is not specified when testType parameter includes\n  datastore tests while checking feasibility of cloning to a\n  different datacenter or a different vCenter service\n  \n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineProvisioningChecker/{moId}/CheckInstantClone_Task": {
      "post": {
        "tags": [
          "VirtualMachineProvisioningChecker"
        ],
        "summary": "Tests the feasibility of a proposed\n*VirtualMachine.InstantClone_Task* operation.\n",
        "operationId": "VirtualMachineProvisioningChecker_CheckInstantClone_Task",
        "description": "Tests the feasibility of a proposed\n*VirtualMachine.InstantClone_Task* operation.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckInstantCloneRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: in the following cases:\n- The destination host does not support Instant Clone.\n- The source and destination host are not the same.\n- The relocate spec in the Instant Clone spec has\n  Datastore set.\n- The relocate spec in the Instant Clone spec has host set.\n- The Instant clone spec does not have name set.\n- The source VM is a template.\n- The source VM is not powered on.\n- The source VM has PMEM devices/disks configured.\n  \n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual\nmachine configuration information is not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineProvisioningChecker/{moId}/CheckMigrate_Task": {
      "post": {
        "tags": [
          "VirtualMachineProvisioningChecker"
        ],
        "summary": "Tests the feasibility of a proposed\n*VirtualMachine.MigrateVM_Task* operation.\n",
        "operationId": "VirtualMachineProvisioningChecker_CheckMigrate_Task",
        "description": "Tests the feasibility of a proposed\n*VirtualMachine.MigrateVM_Task* operation.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckMigrateRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the target host(s) and target pool for a\nmigration are not associated with the same compute resource,\nor if the host parameter is left unset when the target pool is\nassociated with a non-DRS cluster.\n\n***InvalidPowerState***: if the state argument is set and at least one\nof the specified virtual machines is not in that power state.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineProvisioningChecker/{moId}/CheckRelocate_Task": {
      "post": {
        "tags": [
          "VirtualMachineProvisioningChecker"
        ],
        "summary": "Tests the feasibility of a proposed\n*VirtualMachine.RelocateVM_Task* operation.\n",
        "operationId": "VirtualMachineProvisioningChecker_CheckRelocate_Task",
        "description": "Tests the feasibility of a proposed\n*VirtualMachine.RelocateVM_Task* operation.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckRelocateRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if the virtual machine is marked as a template.\n\n***InvalidArgument***: in the following cases:\n- the target host and target pool are not associated with the\n  same compute resource\n- the target pool represents a cluster without DRS enabled,\n  and the host is not specified\n- Datastore in a diskLocator entry is not specified\n- the specified device ID cannot be found in the virtual machine's current\n  configuration\n- the object specified in relocate cannot be found\n- the target pool is not specified while checking feasibility of\n  relocation to a different datacenter or different vCenter\n  service\n- the datastore is not specified when testType parameter includes\n  datastore tests while checking feasibility of relocation to a\n  different datacenter or a different vCenter service\n  \n***InvalidState***: if the operation cannot be performed because of the\nhost or virtual machine's current state. For example, if the host is in\nmaintenance mode, or if the virtual machine's configuration information\nis not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineProvisioningChecker/{moId}/QueryVMotionCompatibilityEx_Task": {
      "post": {
        "tags": [
          "VirtualMachineProvisioningChecker"
        ],
        "summary": "Investigates the general VMotion compatibility of a set of virtual machines\nwith a set of hosts.\n",
        "operationId": "VirtualMachineProvisioningChecker_QueryVMotionCompatibilityEx_Task",
        "description": "Investigates the general VMotion compatibility of a set of virtual machines\nwith a set of hosts.\n\nThe virtual machine may be in any power state. Hosts\nmay be in any connection state and also may be in maintenance mode.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVMotionCompatibilityExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/ExportSnapshot": {
      "post": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "Obtains an export lease on this snapshot.\n",
        "operationId": "VirtualMachineSnapshot_ExportSnapshot",
        "description": "Obtains an export lease on this snapshot.\n\nThe export lease contains\na list of URLs for the virtual disks for this snapshot, as well as\na ticket giving access to the URLs.\n\nSee *HttpNfcLease* for information on how to use the lease.\n\n***Required privileges:*** VApp.Export\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The export lease on this *VirtualMachineSnapshot*. The\nexport task continues running until the lease is completed by the\ncaller.\n\nRefers instance of *HttpNfcLease*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidState***: if the operation cannot be performed because of the\nvirtual machine's current state. For example, if the virtual machine\nconfiguration information is not available.\n\n***FileFault***: if there is an error accessing the virtual machine files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/RemoveSnapshot_Task": {
      "post": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "Removes this snapshot and deletes any associated storage.\n",
        "operationId": "VirtualMachineSnapshot_RemoveSnapshot_Task",
        "description": "Removes this snapshot and deletes any associated storage.\n\n***Required privileges:*** VirtualMachine.State.RemoveSnapshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskInProgress"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/RenameSnapshot": {
      "post": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "Rename this snapshot with either a new name or a new description or both.\n",
        "operationId": "VirtualMachineSnapshot_RenameSnapshot",
        "description": "Rename this snapshot with either a new name or a new description or both.\n\nAt least one of these must be specified when calling the rename method.\n\n***Required privileges:*** VirtualMachine.State.RenameSnapshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: if the host product does not support snapshot rename.\n\n***InvalidName***: if the specified snapshot name is not valid.\n\n***TaskInProgress***: if the virtual machine is busy.\n\n***InvalidPowerState***: if the operation cannot be performed in the current\npower state of the virtual machine.\n\n***InvalidState***: if the operation cannot be performed in the current state\nof the virtual machine. For example, the virtual machine's configuration\nis not available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/RevertToSnapshot_Task": {
      "post": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "Change the execution state of the virtual machine to the state of this snapshot.\n",
        "operationId": "VirtualMachineSnapshot_RevertToSnapshot_Task",
        "description": "Change the execution state of the virtual machine to the state of this snapshot.\n\n***Required privileges:*** VirtualMachine.State.RevertToSnapshot\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevertToSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***TaskInProgress***: if the virtual machine is busy.\n\n***NotSupported***: if the host product does not support snapshots.\n\n***InsufficientResourcesFault***: if this operation would violate a resource\nusage policy.\n\n***InvalidPowerState***: if the operation cannot be performed in the current\npower state of the virtual machine.\n\n***InvalidState***: if the operation cannot be performed in the current state\nof the virtual machine. For example, the virtual machine's configuration\nis not available.\n\n***VmConfigFault***: if a configuration issue prevents the power-on. Typically, a\nmore specific fault, such as UnsupportedVmxLocation, is thrown.\n\n***FileFault***: if there is a problem accessing the virtual machine on the\nfilesystem.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "VirtualMachineSnapshot_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/availableField": {
      "get": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "VirtualMachineSnapshot_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/childSnapshot": {
      "get": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "All snapshots for which this snapshot is the parent.\n",
        "operationId": "VirtualMachineSnapshot_getChildSnapshot",
        "description": "All snapshots for which this snapshot is the parent.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *VirtualMachineSnapshot*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/config": {
      "get": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "Information about the configuration of this virtual machine when this snapshot was\ntaken.\n",
        "operationId": "VirtualMachineSnapshot_getConfig",
        "description": "Information about the configuration of this virtual machine when this snapshot was\ntaken.\n\nThe datastore paths for the virtual machine disks point to the head of the disk\nchain that represents the disk at this given snapshot. The fileInfo.fileLayout\nfield is not set.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualMachineConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/value": {
      "get": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "VirtualMachineSnapshot_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VirtualMachineSnapshot/{moId}/vm": {
      "get": {
        "tags": [
          "VirtualMachineSnapshot"
        ],
        "summary": "The virtual machine for which the snapshot was taken.\n",
        "operationId": "VirtualMachineSnapshot_getVm",
        "description": "The virtual machine for which the snapshot was taken.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *VirtualMachine*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/AddNetworkResourcePool": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Add a network resource pool.\n",
        "operationId": "VmwareDistributedVirtualSwitch_AddNetworkResourcePool",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0\nUse *DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task* instead\nto add a Virtual NIC network resource pool.\n\nAdd a network resource pool.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddNetworkResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/CreateDVPortgroup_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Creates a single *DistributedVirtualPortgroup* and adds it\nto the distributed virtual switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_CreateDVPortgroup_Task",
        "description": "Creates a single *DistributedVirtualPortgroup* and adds it\nto the distributed virtual switch.\n\n***Required privileges:*** DVPortgroup.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDVPortgroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object. The\n*Task*.*Task.info*.*TaskInfo.result* property\ncontains a managed object reference to the new portgroup.\nThe *DistributedVirtualSwitch.portgroup* property also contains\nthe reference.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: if a portgroup with the same name already exists\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***InvalidName***: if name of the portgroup is invalid\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/AddDVPortgroup_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Creates one or more *DistributedVirtualPortgroup*s and adds them to\nthe distributed virtual switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_AddDVPortgroup_Task",
        "description": "Creates one or more *DistributedVirtualPortgroup*s and adds them to\nthe distributed virtual switch.\n\n***Required privileges:*** DVPortgroup.Create\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddDVPortgroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\nThe method does not return a value in the\n*Task*.*Task.info*.*TaskInfo.result* property.\nUse the *DistributedVirtualSwitch.portgroup* property to obtain\nmanaged object references to the new portgroups.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/Destroy_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n",
        "operationId": "VmwareDistributedVirtualSwitch_Destroy_Task",
        "description": "Destroys this object, deleting its contents and removing it from its parent\nfolder (if any).\n\nNOTE: The appropriate privilege must be held on the parent of the destroyed\nentity as well as the entity itself.\nThis method can throw one of several exceptions. The exact set of exceptions\ndepends on the kind of entity that is being removed. See comments for\neach entity for more information on destroy behavior.\n\n***Required privileges:*** DVSwitch.Delete\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/EnableNetworkResourceManagement": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Enable/Disable network I/O control on the vSphere Distributed Switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_EnableNetworkResourceManagement",
        "description": "Enable/Disable network I/O control on the vSphere Distributed Switch.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableNetworkResourceManagementRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if the enabling/disabling fails.\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/FetchDVPortKeys": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Return the keys of ports that meet the criteria.\n",
        "operationId": "VmwareDistributedVirtualSwitch_FetchDVPortKeys",
        "description": "Return the keys of ports that meet the criteria.\n\nOn an ESXi host,\nthe property shows only the connected ports currently on the host.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FetchDVPortKeysRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/FetchDVPorts": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Return the ports that meet the criteria.\n",
        "operationId": "VmwareDistributedVirtualSwitch_FetchDVPorts",
        "description": "Return the ports that meet the criteria.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FetchDVPortsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DistributedVirtualPort"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/LookupDvPortGroup": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Returns the portgroup identified by the key within this VDS.\n",
        "operationId": "VmwareDistributedVirtualSwitch_LookupDvPortGroup",
        "description": "Returns the portgroup identified by the key within this VDS.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LookupDvPortGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *DistributedVirtualPortgroup*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the portgroup for the specified key is not found.\n\n***NotSupported***: If the operation is not supported.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/MergeDvs_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Merge an existing DistributedVirtualSwitch (source) to this switch\n(destination).\n",
        "operationId": "VmwareDistributedVirtualSwitch_MergeDvs_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5.\n\nMerge an existing DistributedVirtualSwitch (source) to this switch\n(destination).\n\nThe host members and the connected entity of the source\nswitch will be transferred to the destination switch. This operation\ndisconnects the entities from the source switch, tears down its host\nproxy switches, creates new proxies for the destination switch,\nand reconnects the entities to the destination switch.\n\nIn summary, this operation does the following:\n- Adds the\n  <code>config</code>.*DVSConfigInfo.maxPorts*\n  of the source switch to the <code>maxPorts</code> of the\n  destination switch.\n- The host members of the source switch leave the source switch\n  and join the destination switch with the same Physical NIC and\n  VirtualSwitch (if applicable). A set of new uplink ports,\n  compliant with the\n  *DVSConfigSpec.uplinkPortPolicy*,\n  is created as the hosts join the destination switch.\n- The portgroups on the source switch are copied over to destination\n  switch, by calculating the effective default port config and\n  creating a portgroup of the same name in the destination switch. If\n  the name already exists, the copied portgroup uses names following a\n  \"Copy of switch-portgroup-name\" scheme to avoid conflict. The same\n  number of ports are created inside each copied portgroup.\n- The standalone distributed virtual ports are not copied,\n  unless there is a virtual\n  machine or host virtual NIC connecting to it. In that case, the\n  operation calculates the effective port config and creates a port\n  in the destination switch with the same name. Name conflict is\n  resolved using numbers like \"original-port-name(1)\". The uplink ports\n  are not copied over.\n- The virtual machine and host virtual NICs are disconnected from the source\n  switch and reconnected with the destination switch, to the\n  copied standalone port or portgroup.\n- If you are using a *VmwareDistributedVirtualSwitch* -\n  Unless the PVLAN map contains exactly the same entries between\n  the source and destination VMware distributed virtual switches,\n  the method raises a fault if\n  *VmwareDistributedVirtualSwitchPvlanSpec.pvlanId*\n  is set in any port, portgroup, or switch that will be copied.\n  \n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergeDvsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host.\n\n***ResourceInUse***: If failed to delete the source switch\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/MoveDVPort_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Move the ports out of their current portgroup into the specified portgroup.\n",
        "operationId": "VmwareDistributedVirtualSwitch_MoveDVPort_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nMove the ports out of their current portgroup into the specified portgroup.\n\nIf the moving of any of the ports results in a violation of the portgroup\npolicy, or type of the source or destination portgroup, the operation\nraises a fault. A conflict port cannot be moved.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveDVPortRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/PerformDvsProductSpecOperation_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "This method updates the *DistributedVirtualSwitch* product specifications.\n",
        "operationId": "VmwareDistributedVirtualSwitch_PerformDvsProductSpecOperation_Task",
        "description": "This method updates the *DistributedVirtualSwitch* product specifications.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PerformDvsProductSpecOperationRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/QueryUsedVlanIdInDvs": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Return the used VLAN ID (PVLAN excluded) in the switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_QueryUsedVlanIdInDvs",
        "description": "Return the used VLAN ID (PVLAN excluded) in the switch.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/ReconfigureDvs_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Reconfigures a distributed virtual switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_ReconfigureDvs_Task",
        "description": "Reconfigures a distributed virtual switch.\n\nYou can use this method\nto set switch properties or to reset the switch to a previous state.\n\n**Reconfiguring a Standard Distributed Virtual Switch**\n\nTo reconfigure a *DistributedVirtualSwitch*,\nuse a *DVSConfigSpec*\nto set the switch properties.\n\n**Reconfiguring a VMware Distributed Virtual Switch**\n\nIf you use a *VmwareDistributedVirtualSwitch*,\nyou can perform the following switch reconfiguration:\n- Use a *VMwareDVSConfigSpec*\n  to set the switch properties.\n- Use the *VMwareDVSConfigSpec*\n  returned by *DistributedVirtualSwitch.DVSRollback_Task*\n  to reset the switch to a previous state.\n  \nReconfiguring the switch may require any of the following privileges,\ndepending on what is being changed:\n- DVSwitch.PolicyOp if *DVSConfigSpec.policy*\n  is set.\n- DVSwitch.PortSetting if *DVSConfigSpec.defaultPortConfig*\n  is set.\n- DVSwitch.HostOp if *DVSConfigSpec.policy*\n  is set. The\n  user will also need the Host.Config.Network\n  privilege on the host.\n- DVSwitch.Vspan if *VMwareDVSConfigSpec.vspanConfigSpec*\n  is set.\n- DVSwitch.Modify for anything else.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureDvsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: if called directly on a host or if the spec\nincludes settings for any vNetwork Distributed\nSwitch feature that is not supported on this\nswitch.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*DVSConfigInfo.extensionKey*.\n\n***ResourceNotAvailable***: If there is no port available in the portgroup\n\n***VspanPortConflict***: if dvPort is used as both the transmitted source and destination ports in Distributed Port Mirroring sessions.\n\n***VspanPromiscuousPortNotSupported***: if a promiscuous port is used as transmitted source or destination in the Distributed Port Mirroring sessions.\n\n***VspanSameSessionPortConflict***: if a dvPort is used as both the source and destination in the same Distributed Port Mirroring session.\n\n***VspanDestPortConflict***: if a dvPort is used as desination ports in multiple Distributed Port Mirroring sessions.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/ReconfigureDVPort_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Reconfigure individual ports.\n",
        "operationId": "VmwareDistributedVirtualSwitch_ReconfigureDVPort_Task",
        "description": "Reconfigure individual ports.\n\n***Required privileges:*** DVSwitch.PortConfig\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconfigureDVPortRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host or if the switch\nimplementation doesn't support this API or if the spec\nincludes settings for any vSphere Distributed Switch\nfeature that is not supported on this switch.\n\n***InvalidArgument***: If the array have different elements for the\nsame port.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/DvsReconfigureVmVnicNetworkResourcePool_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "reconfigure the Virtual NIC network resource pool configuration.\n",
        "operationId": "VmwareDistributedVirtualSwitch_DvsReconfigureVmVnicNetworkResourcePool_Task",
        "description": "reconfigure the Virtual NIC network resource pool configuration.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DvsReconfigureVmVnicNetworkResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other reconfigure failures.\n\n***NotFound***: if the resource pool does not exist on the dvs.\n\n***DuplicateName***: if a virtual NIC network resource pool with the same name already exists.\n\n***ConcurrentAccess***: if a Virtual NIC network resource pool is modified by\ntwo or more clients at the same time.\n\n***ResourceInUse***: If Virtual NIC network resource pool being removed\nis associated with a network entity\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n\n***ConflictingConfiguration***: if the any property being set is in conflict.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/RectifyDvsHost_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Update the switch configuration on the host to bring them in sync with the\ncurrent configuration in vCenter Server.\n",
        "operationId": "VmwareDistributedVirtualSwitch_RectifyDvsHost_Task",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0.\nUse\n*DistributedVirtualSwitchManager*.*DistributedVirtualSwitchManager.RectifyDvsOnHost_Task* instead.\n\nUpdate the switch configuration on the host to bring them in sync with the\ncurrent configuration in vCenter Server.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RectifyDvsHostRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/RefreshDVPortState": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Refresh port states.\n",
        "operationId": "VmwareDistributedVirtualSwitch_RefreshDVPortState",
        "description": "Refresh port states.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshDVPortStateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/Reload": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Reload the entity state.\n",
        "operationId": "VmwareDistributedVirtualSwitch_Reload",
        "description": "Reload the entity state.\n\nClients only need to call this method\nif they changed some external state that affects the service\nwithout using the Web service interface to perform the change.\nFor example, hand-editing a virtual machine configuration file\naffects the configuration of the associated virtual machine but\nthe service managing the virtual machine might not monitor the\nfile for changes. In this case, after such an edit, a client\nwould call \"reload\" on the associated virtual machine to ensure\nthe service and its clients have current data for the\nvirtual machine.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/RemoveNetworkResourcePool": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Remove a network resource pool.\n",
        "operationId": "VmwareDistributedVirtualSwitch_RemoveNetworkResourcePool",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0\nUse *DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task* instead\nto remove a Virtual NIC network resource pool.\n\nRemove a network resource pool.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveNetworkResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***NotFound***: if the resource pool does not exist on the dvs.\n\n***InvalidName***: if the name of the resource pool is invalid.\n\n***ResourceInUse***: If network resource pool is associated with a network entity\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/Rename_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Renames this managed entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_Rename_Task",
        "description": "Renames this managed entity.\n\nAny % (percent) character used in this name parameter\nmust be escaped, unless it is used to start an escape\nsequence. Clients may also escape any other characters in\nthis name parameter.\n\nSee also *ManagedEntity.name*.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor the\noperation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DuplicateName***: If another object in the same folder has the target name.\n\n***InvalidName***: If the new name is not a valid entity name.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/DVSRollback_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "This method determines if the distributed virtual switch configuration\nhas changed.\n",
        "operationId": "VmwareDistributedVirtualSwitch_DVSRollback_Task",
        "description": "This method determines if the distributed virtual switch configuration\nhas changed.\n\nIf it has changed, the method returns a\n*VMwareDVSConfigSpec*.\nUse the *DistributedVirtualSwitch.ReconfigureDvs_Task* method to apply\nthe rollback configuration to the switch.\nYou can use the rollback method only on a *VmwareDistributedVirtualSwitch*.\n- If you specify the <code>entityBackup</code> parameter, the returned\n  configuration specification represents the exported switch configuration.\n  If the <code>entityBackup</code> matches the current switch\n  configuration, the method does not return a configuration specification.\n- If <code>entityBackup</code> is not specified, the returned configuration\n  specification represents a previous state of the switch, if available.\n  When you use a VMware distributed virtual switch, each time you reconfigure\n  the switch, the Server saves the switch configuration before applying the updates.\n  If the vCenter Server is restarted, the saved configuration is not preserved\n  and the method does not return a configuration specification.\n  \nTo use the rollback method, you must have the DVSwitch.Read privilege.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DVSRollbackRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\nIf the distributed virtual switch configuration has changed, the\n*Task*.*Task.info*.*TaskInfo.result*\nproperty contains the *DVSConfigSpec* object.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***RollbackFailure***: if there is no configuration specified in entityBackup and\nthe previous configuration does not exist either.\n\n***DvsFault***: if operation fails.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/setCustomValue": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Assigns a value to a custom field.\n",
        "operationId": "VmwareDistributedVirtualSwitch_setCustomValue",
        "description": "Assigns a value to a custom field.\n\nThe setCustomValue method requires\nwhichever updatePrivilege is defined as one of the\n*CustomFieldDef.fieldInstancePrivileges*\nfor the CustomFieldDef whose value is being changed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setCustomValueRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/UpdateDvsCapability": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Set the capability of the switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_UpdateDvsCapability",
        "description": "Set the capability of the switch.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDvsCapabilityRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotSupported***: If called directly on a host or if the switch\nimplementation doesn't support this API.\n\n***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/UpdateDVSHealthCheckConfig_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Update health check configuration.\n",
        "operationId": "VmwareDistributedVirtualSwitch_UpdateDVSHealthCheckConfig_Task",
        "description": "Update health check configuration.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDVSHealthCheckConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a *Task* object with which to monitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***NotSupported***: if health check is not supported on the switch.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/UpdateDVSLacpGroupConfig_Task": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Update Link Aggregation Control Protocol groups.\n",
        "operationId": "VmwareDistributedVirtualSwitch_UpdateDVSLacpGroupConfig_Task",
        "description": "Update Link Aggregation Control Protocol groups.\n\nIt can be called if the value of\n*VMwareDVSConfigInfo.lacpApiVersion* is\n*multipleLag*\nelse an exception ConflictingConfiguration will be thrown.\n\n***Required privileges:*** DVSwitch.Modify\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDVSLacpGroupConfigRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***NotSupported***: if multiple Link Aggregation Control Protocol\nis not supported on the switch.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/UpdateNetworkResourcePool": {
      "post": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Update the network resource pool configuration.\n",
        "operationId": "VmwareDistributedVirtualSwitch_UpdateNetworkResourcePool",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0\nUse *DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task* instead\nto update the Virtual NIC network resource pool.\n\nUpdate the network resource pool configuration.\n\n***Required privileges:*** DVSwitch.ResourceManagement\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNetworkResourcePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***DvsFault***: if operation fails on any host or if there are other update failures.\n\n***NotFound***: if the resource pool does not exist on the dvs.\n\n***InvalidName***: if the name of the resource pool is invalid.\n\n***ConcurrentAccess***: if a network resource pool is modified by\ntwo or more clients at the same time.\n\n***NotSupported***: if network I/O control is not supported on\nthe vSphere Distributed Switch.\n\n***DvsNotAuthorized***: if login-session's extension key does not match\nthe switch's configured\n*extensionKey*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VimFault"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/alarmActionsEnabled": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Whether alarm actions are enabled for this entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getAlarmActionsEnabled",
        "description": "Whether alarm actions are enabled for this entity.\n\nTrue if enabled; false otherwise.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/availableField": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "List of custom field definitions that are valid for the object's type.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getAvailableField",
        "description": "List of custom field definitions that are valid for the object's type.\n\nThe fields are sorted by *CustomFieldDef.name*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldDef"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/capability": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Capability of the switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getCapability",
        "description": "Capability of the switch.\n\nCapabilities are indicated at the port,\nportgroup and switch levels, and for version-specific features.\nWhen you retrieve this property from an ESXi host,\n*DistributedVirtualSwitch.capability*.*DVSCapability.dvsOperationSupported*\nshould always be set to false.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DVSCapability"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/config": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Switch configuration data.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getConfig",
        "description": "Switch configuration data.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DVSConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/configIssue": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Current configuration issues that have been detected for this entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getConfigIssue",
        "description": "Current configuration issues that have been detected for this entity.\n\nTypically,\nthese issues have already been logged as events. The entity stores these\nevents as long as they are still current. The\n*configStatus* property provides an overall status\nbased on these events.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/configStatus": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getConfigStatus",
        "description": "The configStatus indicates whether or not the system has detected a configuration\nissue involving this entity.\n\nFor example, it might have detected a\nduplicate IP address or MAC address, or a host in a cluster\nmight be out of compliance. The meanings of the configStatus values are:\n- red: A problem has been detected involving the entity.\n- yellow: A problem is about to occur or a transient condition\n  has occurred (For example, reconfigure fail-over policy).\n- green: No configuration issues have been detected.\n- gray: The configuration status of the entity is not being monitored.\n  \nA green status indicates only that a problem has not been detected;\nit is not a guarantee that the entity is problem-free.\n\nThe *configIssue* property contains a list of the\nproblems that have been detected.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/customValue": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Custom field values.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getCustomValue",
        "description": "Custom field values.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/declaredAlarmState": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "A set of alarm states for alarms that apply to this managed entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getDeclaredAlarmState",
        "description": "A set of alarm states for alarms that apply to this managed entity.\n\nThe set includes alarms defined on this entity\nand alarms inherited from the parent entity,\nor from any ancestors in the inventory hierarchy.\n\nAlarms are inherited if they can be triggered by this entity or its descendants.\nThis set does not include alarms that are defined on descendants of this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/disabledMethod": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "List of operations that are disabled, given the current runtime\nstate of the entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getDisabledMethod",
        "description": "List of operations that are disabled, given the current runtime\nstate of the entity.\n\nFor example, a power-on operation always fails if a\nvirtual machine is already powered on. This list can be used by clients to\nenable or disable operations in a graphical user interface.\n\nNote: This list is determined by the current runtime state of an entity,\nnot by its permissions.\n\nThis list may include the following operations for a HostSystem:\n- *HostSystem.EnterMaintenanceMode_Task*\n- *HostSystem.ExitMaintenanceMode_Task*\n- *HostSystem.RebootHost_Task*\n- *HostSystem.ShutdownHost_Task*\n- *HostSystem.ReconnectHost_Task*\n- *HostSystem.DisconnectHost_Task*\n  \nThis list may include the following operations for a VirtualMachine:\n- *VirtualMachine.AnswerVM*\n- *ManagedEntity.Rename_Task*\n- *VirtualMachine.CloneVM_Task*\n- *VirtualMachine.PowerOffVM_Task*\n- *VirtualMachine.PowerOnVM_Task*\n- *VirtualMachine.SuspendVM_Task*\n- *VirtualMachine.ResetVM_Task*\n- *VirtualMachine.ReconfigVM_Task*\n- *VirtualMachine.RelocateVM_Task*\n- *VirtualMachine.MigrateVM_Task*\n- *VirtualMachine.CustomizeVM_Task*\n- *VirtualMachine.ShutdownGuest*\n- *VirtualMachine.StandbyGuest*\n- *VirtualMachine.RebootGuest*\n- *VirtualMachine.CreateSnapshot_Task*\n- *VirtualMachine.RemoveAllSnapshots_Task*\n- *VirtualMachine.RevertToCurrentSnapshot_Task*\n- *VirtualMachine.MarkAsTemplate*\n- *VirtualMachine.MarkAsVirtualMachine*\n- *VirtualMachine.ResetGuestInformation*\n- *VirtualMachine.MountToolsInstaller*\n- *VirtualMachine.UnmountToolsInstaller*\n- *ManagedEntity.Destroy_Task*\n- *VirtualMachine.UpgradeVM_Task*\n- *VirtualMachine.ExportVm*\n  \nThis list may include the following operations for a ResourcePool:\n- *ResourcePool.ImportVApp*\n- *ResourcePool.CreateChildVM_Task*\n- *ResourcePool.UpdateConfig*\n- *Folder.CreateVM_Task*\n- *ManagedEntity.Destroy_Task*\n- *ManagedEntity.Rename_Task*\n  \nThis list may include the following operations for a VirtualApp:\n- *ManagedEntity.Destroy_Task*\n- *VirtualApp.CloneVApp_Task*\n- *VirtualApp.unregisterVApp_Task*\n- *VirtualApp.ExportVApp*\n- *VirtualApp.PowerOnVApp_Task*\n- *VirtualApp.PowerOffVApp_Task*\n- *VirtualApp.UpdateVAppConfig*\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/effectiveRole": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Access rights the current session has to this entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getEffectiveRole",
        "description": "Access rights the current session has to this entity.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/name": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Name of this entity, unique relative to its parent.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getName",
        "description": "Name of this entity, unique relative to its parent.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element will be escaped. Similarly, any % (percent) character used in\nthis name element will be escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/networkResourcePool": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Network resource pool information for the switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getNetworkResourcePool",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0\nUse *DVSConfigInfo.vmVnicNetworkResourcePool*\nto get the Virtual NIC resource pool information.\nUse *DVSConfigInfo.infrastructureTrafficResourceConfig*\nto get the host infrastructure resource information.\n\nNetwork resource pool information for the switch.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DVSNetworkResourcePool"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/overallStatus": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "General health of this managed entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getOverallStatus",
        "description": "General health of this managed entity.\n\nThe overall status of the managed entity is computed as the worst status\namong its alarms and the configuration issues detected on the entity.\nThe status is reported as one of the following values:\n- red: The entity has alarms or configuration issues with a red status.\n- yellow: The entity does not have alarms or configuration issues with a\n  red status, and has at least one with a yellow status.\n- green: The entity does not have alarms or configuration issues with a\n  red or yellow status, and has at least one with a green status.\n- gray: All of the entity's alarms have a gray status and the\n  configuration status of the entity is not being monitored.\n  \nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedEntityStatus_enum"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/parent": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Parent of this entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getParent",
        "description": "Parent of this entity.\n\nThis value is null for the root object and for\n*VirtualMachine* objects that are part of\na *VirtualApp*.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *ManagedEntity*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/permission": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "List of permissions defined for this entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getPermission",
        "description": "List of permissions defined for this entity.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/portgroup": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Portgroups that are defined on the switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getPortgroup",
        "description": "Portgroups that are defined on the switch.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *DistributedVirtualPortgroup*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/recentTask": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "The set of recent tasks operating on this managed entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getRecentTask",
        "description": "The set of recent tasks operating on this managed entity.\n\nThis is a subset\nof *TaskManager.recentTask* belong to this entity. A task in this\nlist could be in one of the four states: pending, running, success or error.\n\nThis property can be used to deduce intermediate power states for\na virtual machine entity. For example, if the current powerState is \"poweredOn\"\nand there is a running task performing the \"suspend\" operation, then the virtual\nmachine's intermediate state might be described as \"suspending.\"\n\nMost tasks (such as power operations) obtain exclusive access to the virtual\nmachine, so it is unusual for this list to contain more than one running task.\nOne exception, however, is the task of cloning a virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/runtime": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Runtime information of the distributed virtual switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getRuntime",
        "description": "Runtime information of the distributed virtual switch.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/DVSRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/summary": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Summary of the switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getSummary",
        "description": "Summary of the switch.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DVSSummary"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/tag": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "The set of tags associated with this managed entity.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getTag",
        "description": "The set of tags associated with this managed entity.\n\nExperimental. Subject to change.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/triggeredAlarmState": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getTriggeredAlarmState",
        "description": "A set of alarm states for alarms triggered by this entity\nor by its descendants.\n\nTriggered alarms are propagated up the inventory hierarchy\nso that a user can readily tell when a descendant has triggered an alarm.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter. Any other version value will not\nproduce any property values as no updates are generated.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlarmState"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/uuid": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "Generated UUID of the switch.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getUuid",
        "description": "Generated UUID of the switch.\n\nUnique across vCenter Server\ninventory and instances.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/VmwareDistributedVirtualSwitch/{moId}/value": {
      "get": {
        "tags": [
          "VmwareDistributedVirtualSwitch"
        ],
        "summary": "List of custom field values.\n",
        "operationId": "VmwareDistributedVirtualSwitch_getValue",
        "description": "List of custom field values.\n\nEach value uses a key to associate\nan instance of a *CustomFieldStringValue* with\na custom field definition.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/VsanUpgradeSystem/{moId}/PerformVsanUpgrade_Task": {
      "post": {
        "tags": [
          "VsanUpgradeSystem"
        ],
        "summary": "Start VSAN on-disk format upgrade process on a particular cluster.\n",
        "operationId": "VsanUpgradeSystem_PerformVsanUpgrade_Task",
        "description": "Start VSAN on-disk format upgrade process on a particular cluster.\n\nIn order to perform this on-disk format upgrade, the upgrade process\nwill perform a rolling evacuation/remove/re-add operation to accomplish\nthe upgrade. In other words, one disk group at a time, it will evacuate\nthe data from the disk group, then remove the old format from the now\nempty disk group, then reformat the disk group with the new format.\nOnce all disk groups have been upgraded, and if the performObjectUpgrade\nparameter is set, the VSAN object version is also upgraded. Before\nthe object version is upgraded, it is possible to downgrade the cluster\nby passing the downgradeFormat parameter. Once objects are of the new\nobject version however, downgrade (and thus rollback) are no longer\npossible. The new object version is required to allow objects to benefit\nfrom new VSAN features.\nThis is a long running (hours to days) task. In addition to normal\ntask progress reporting, use the queryUpgradeStatus() API which allows\nto retrieve in-depth status updates from the upgrade process. In there\nwill be a detailed log of every operation the upgrade process has taken\nor issues it encountered. Some are simple log messages, others refer\nto operations like evacuating a disk group. For such log entries, the\ntask object of the evacuation task is provided to allow \"sub-task\"\ntracking.\nBefore starting, the upgrade process will perform a pre-flight check,\nand abort if any of the pre-conditions are not met. See\n\nSee also *VsanUpgradeSystem.PerformVsanUpgradePreflightCheck*for details on the pre-conditions being checked for.\nThe upgrade process performs additional \"pre-flight checks\" before\nproceeding to upgrade the next host. The upgrade process will be halted\nif any of those pre-flight checks fail.\nIf the upgrade process has been halted due to a problem, or even due to\na crash or other failure, it can be re-started at any point in time.\nThe upgrade will resume where it left off and only do the parts that\nare still outstanding. If the upgrade process stopped after removing\nVSAN from a disk group, but before re-adding those disks to VSAN, the\nupgrade process can recover from that. The pre-flight check results\nindicate such a condition. The upgrade process will however only re-add\nthose disks if the restoreBackup parameter is passed in as true.\nPrivilege \"Host.Config.Storage\" on all hosts under specified cluster\nis required..\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PerformVsanUpgradeRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VsanFault"
                }
              }
            }
          }
        }
      }
    },
    "/VsanUpgradeSystem/{moId}/PerformVsanUpgradePreflightCheck": {
      "post": {
        "tags": [
          "VsanUpgradeSystem"
        ],
        "summary": "Perform an upgrade pre-flight check on a cluster.\n",
        "operationId": "VsanUpgradeSystem_PerformVsanUpgradePreflightCheck",
        "description": "Perform an upgrade pre-flight check on a cluster.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PerformVsanUpgradePreflightCheckRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Pre-flight check result.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckResult"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VsanFault"
                }
              }
            }
          }
        }
      }
    },
    "/VsanUpgradeSystem/{moId}/QueryVsanUpgradeStatus": {
      "post": {
        "tags": [
          "VsanUpgradeSystem"
        ],
        "summary": "Retrieve the latest status of a running, or the previously completed,\nupgrade process.\n",
        "operationId": "VsanUpgradeSystem_QueryVsanUpgradeStatus",
        "description": "Retrieve the latest status of a running, or the previously completed,\nupgrade process.\n\nInformation about previous upgrade runs are not\nalways, e.g. when VC gets restarted.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVsanUpgradeStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Status\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeStatus"
                }
              }
            }
          },
          "500": {
            "description": "Failure\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VsanFault"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/AddIssue": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Adds an issue to this agency.\n",
        "operationId": "Agency_AddIssue",
        "deprecated": true,
        "description": "Deprecated.\n\nAdds an issue to this agency.\n\n*Issue.key* and *Issue.time* is\noverwritten so that *Issue.key* becomes unique on this server and\n*Issue.time* is the current time.\n\nRequires modify privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddIssueRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The same issue where the key and time is set.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Issue"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: Thrown if issue typeId is unknown.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgument"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/DestroyAgency": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Destroys this Agency.\n",
        "operationId": "Agency_DestroyAgency",
        "description": "Destroys this Agency.\n\nAny agents that the <code>Agency</code> has are\nremoved. Until the agents have been removed, it is possible to view the\nruntime state of this <code>Agency</code> but it is not possible to modify\nits configuration or change its goal state. After all agents have been\nremoved, any subsequent call on this <code>Agency</code> will throw a\n<code>ManagedObjectNotFound</code> exception.\n\nRequires modify privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/Agency/{moId}/Agency_Disable": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Sets the goal state of this <code>Agency</code> to <code>disabled</code>.\n",
        "operationId": "Agency_Agency_Disable",
        "deprecated": true,
        "description": "Deprecated its definition is not consistent across agent VMs and VIBs.\nIt is impossible to be defined since there is no corresponding\nstate of ESXi vibs.\n\nSets the goal state of this <code>Agency</code> to <code>disabled</code>.\n\nThis powers off any powered on agent virtual machines, but continues\nprovisioning agents to hosts that are added to the compute resources in\nthe agency's scope, and removes agents from hosts that are taken out of\nthe scope.\n\nRequires modify privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/Agency/{moId}/Agency_Enable": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Sets the goal state of this <code>Agency</code> to <code>enabled</code>.\n",
        "operationId": "Agency_Agency_Enable",
        "deprecated": true,
        "description": "Deprecated since agencies are always created as enabled. In addition,\nenabling already uninstalled agency is not supported.\n\nSets the goal state of this <code>Agency</code> to <code>enabled</code>.\n\nThis causes the agency to continuously deploy and monitor agents.\n\nRequires modify privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/Agency/{moId}/QueryAgent": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "An array of agents deployed by this agent manager.\n",
        "operationId": "Agency_QueryAgent",
        "deprecated": true,
        "description": "Deprecated use *Agency.agent* instead.\n\nAn array of agents deployed by this agent manager.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Agent*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/QueryConfig": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "The configuration of this <code>Agency</code>.\n",
        "operationId": "Agency_QueryConfig",
        "deprecated": true,
        "description": "Deprecated use *Agency.config* instead.\n\nThe configuration of this <code>Agency</code>.\n\nSpecifies how this\n<code>Agency</code> deploys its agents and VIBs.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The configuration of this <code>Agency</code>.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/QueryIssue": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Current issues that have been detected for this entity.\n",
        "operationId": "Agency_QueryIssue",
        "description": "Current issues that have been detected for this entity.\n\nEach issue can be remediated\nby invoking *EamObject.Resolve* or *EamObject.ResolveAll*.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryIssueRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A possibly empty array of issues that match the input <code>issueKey</code> array. Note\nthat the returned array can be smaller than <code>issueKey</code> if one or more\nissue keys refers to issues that this entity does not have.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Issue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/AgencyQueryRuntime": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Gets the runtime information for this agency.\n",
        "operationId": "Agency_AgencyQueryRuntime",
        "deprecated": true,
        "description": "Deprecated use *Agency.runtime* instead.\n\nGets the runtime information for this agency.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The runtime information.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EamObjectRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/QuerySolutionId": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "The ID of the solution that owns this <code>Agency</code>.\n",
        "operationId": "Agency_QuerySolutionId",
        "deprecated": true,
        "description": "Deprecated use *Agency.solutionId* instead.\n\nThe ID of the solution that owns this <code>Agency</code>.\n\nIf the agency\nis owned by a VC extension, this is the extension's key. Otherwise, this\nis same as *Agency.owner*. The users in the latter case are\neither regular or solution users.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The solution ID.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/RegisterAgentVm": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Adds an agent VM to this agency.\n",
        "operationId": "Agency_RegisterAgentVm",
        "deprecated": true,
        "description": "Deprecated use automatically provisioned VMs and register hooks to have\ncontrol post provisioning and power on.\n\nAdds an agent VM to this agency.\n\nUsed if\n*AgencyConfigInfo.manuallyProvisioned* is set to true. The method\ndoes nothing if the agent VM is already registered with this agency.\n\nRequires modify privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAgentVmRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Agent*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***ManagedObjectNotFound***: Thrown if agentVm does not exist in vCenter.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectNotFound"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/Resolve": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Resolves the issues specified in the input.\n",
        "operationId": "Agency_Resolve",
        "description": "Resolves the issues specified in the input.\n\nIf an issue is remediable, ESX\nAgent Manager\ntries to resolve the misconfiguration that caused the issue. If it is not\nremediable, the offending issue is removed and ESX Agent Manager assumes that the issue has been\nresolved.\n\nRequires modify privileges.\n\nSee also *Issue*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A possibly empty array of issue keys for the issues that were not found on the\nentity. This can happen if <code>resolve</code> is called with issue keys that were\nresolved just prior to calling <code>resolve</code> or if an issue is currenly not resolvable.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/ResolveAll": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Resolve all outstanding issues.\n",
        "operationId": "Agency_ResolveAll",
        "description": "Resolve all outstanding issues.\n\nThe method calls *EamObject.Resolve*\nwith all issues the <code>EsxAgentManager</code>, <code>Agency</code>, or\n<code>Agent</code> have encountered. It is the equivalent of calling the following methods:\n- <code>agent.resolve(getIssueKeys(agent.getRuntime().getIssue()));</code>\n  for <code>Agent</code> objects\n- <code>agency.resolve(getIssueKeys(agency.getRuntime().getIssue()));</code>\n  for <code>Agency</code> objects\n- <code>esxAgentManager.resolve(getIssueKeys(esxAgentManager.getIssue()));</code>\n  for the <code>EsxAgentManager</code> object.\n  \nRequires modify privileges.\n\nSee also *Issue*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/Agency/{moId}/Uninstall": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Sets the goal state of this <code>Agency</code> to\n<code>uninstalled</code>.\n",
        "operationId": "Agency_Uninstall",
        "description": "Sets the goal state of this <code>Agency</code> to\n<code>uninstalled</code>.\n\nThis initiates the uninstallation of this\n<code>Agency</code>, which causes all agents to be removed.\n\nThe best practice when destroying an agency is to call\n<code>uninstall</code>, wait for the runtime status to turn green, and\nthen invoke *Agency.DestroyAgency*. When waiting for this\n<code>Agency</code> to be uninstalled the solution can then attend to and\nresolve any raised issues.\n\nRequires modify privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/Agency/{moId}/UnregisterAgentVm": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Removes an agent VM to this agency.\n",
        "operationId": "Agency_UnregisterAgentVm",
        "deprecated": true,
        "description": "Deprecated use automatically provisioned VMs and register hooks to have\ncontrol post provisioning and power on.\n\nRemoves an agent VM to this agency.\n\nUsed if\n*AgencyConfigInfo.manuallyProvisioned* is set to true. The method\ndoes nothing if the agent VM is not registered with this agency.\n\nRequires modify privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnregisterAgentVmRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/Agency/{moId}/Update": {
      "post": {
        "tags": [
          "Agency"
        ],
        "summary": "Updates the agency configuration used by this <code>Agency</code> to\ndeploy agents and VIBs.\n",
        "operationId": "Agency_Update",
        "description": "Updates the agency configuration used by this <code>Agency</code> to\ndeploy agents and VIBs.\n\nvSphere ESX Agent Manager generates a diff between\nthe old configuration and the new one and updates the <code>Agency</code>\naccordingly.\n\nRequires modify privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidAgentConfiguration***: Thrown if one or more agent configurations are invalid.\n\n***InvalidAgencyScope***: Thrown if one or more compute resources in the scope cannot be\nfound in vCenter or there is no configured resource pool or\nfolder where the VMs to be deployed.\n\n***EamInvalidUrl***: Thrown if either the agent virtual machine URL or VIB URL\ncannot be parsed or if the resource refered to cannot be\ndownloaded.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EamFault"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/agent": {
      "get": {
        "tags": [
          "Agency"
        ],
        "summary": "An array of agents deployed by this agent manager.\n",
        "operationId": "Agency_getAgent",
        "description": "An array of agents deployed by this agent manager.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instances of *Agent*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/config": {
      "get": {
        "tags": [
          "Agency"
        ],
        "summary": "The configuration of this <code>Agency</code>.\n",
        "operationId": "Agency_getConfig",
        "description": "The configuration of this <code>Agency</code>.\n\nSpecifies how this\n<code>Agency</code> deploys its agents and VIBs.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The configuration of this <code>Agency</code>.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/owner": {
      "get": {
        "tags": [
          "Agency"
        ],
        "summary": "The principal name of the user that owns this <code>Agency</code>.\n",
        "operationId": "Agency_getOwner",
        "description": "The principal name of the user that owns this <code>Agency</code>.\n\nIf the\nagency is owned by a VC extension, this method returns null.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "the owner's principal name\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/runtime": {
      "get": {
        "tags": [
          "Agency"
        ],
        "summary": "Gets the runtime information for this agency.\n",
        "operationId": "Agency_getRuntime",
        "description": "Gets the runtime information for this agency.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The runtime information.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EamObjectRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agency/{moId}/solutionId": {
      "get": {
        "tags": [
          "Agency"
        ],
        "summary": "The ID of the solution that owns this <code>Agency</code>.\n",
        "operationId": "Agency_getSolutionId",
        "description": "The ID of the solution that owns this <code>Agency</code>.\n\nIf the agency\nis owned by a VC extension, this is the extension's key. Otherwise, this\nis same as *Agency.owner*. The users in the latter case are\neither regular or solution users.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The solution ID.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agent/{moId}/MarkAsAvailable": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Mark this agent's VM as available.\n",
        "operationId": "Agent_MarkAsAvailable",
        "description": "Mark this agent's VM as available.\n\nUsed when the agency this agent belongs to\nhas\n*AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterProvisioning* or\n*AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterPowerOn* set to\n<code>true</code> and *AgentRuntimeInfo.vmHook* is present.\nSee *AgentRuntimeInfo.vmHook*\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/Agent/{moId}/AgentQueryConfig": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "The configuration of this <code>Agent</code>.\n",
        "operationId": "Agent_AgentQueryConfig",
        "deprecated": true,
        "description": "Deprecated use *Agent.config* instead.\n\nThe configuration of this <code>Agent</code>.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agent/{moId}/QueryIssue": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Current issues that have been detected for this entity.\n",
        "operationId": "Agent_QueryIssue",
        "description": "Current issues that have been detected for this entity.\n\nEach issue can be remediated\nby invoking *EamObject.Resolve* or *EamObject.ResolveAll*.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryIssueRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A possibly empty array of issues that match the input <code>issueKey</code> array. Note\nthat the returned array can be smaller than <code>issueKey</code> if one or more\nissue keys refers to issues that this entity does not have.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Issue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agent/{moId}/AgentQueryRuntime": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Runtime information for the agent.\n",
        "operationId": "Agent_AgentQueryRuntime",
        "deprecated": true,
        "description": "Deprecated use *Agent.runtime* instead.\n\nRuntime information for the agent.\n\nThis includes important information\nabout the current deployment of the agent's VIB, virtual machine, and\nhost.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The <code>Agent</code>'s runtime information.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agent/{moId}/Resolve": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Resolves the issues specified in the input.\n",
        "operationId": "Agent_Resolve",
        "description": "Resolves the issues specified in the input.\n\nIf an issue is remediable, ESX\nAgent Manager\ntries to resolve the misconfiguration that caused the issue. If it is not\nremediable, the offending issue is removed and ESX Agent Manager assumes that the issue has been\nresolved.\n\nRequires modify privileges.\n\nSee also *Issue*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A possibly empty array of issue keys for the issues that were not found on the\nentity. This can happen if <code>resolve</code> is called with issue keys that were\nresolved just prior to calling <code>resolve</code> or if an issue is currenly not resolvable.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agent/{moId}/ResolveAll": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Resolve all outstanding issues.\n",
        "operationId": "Agent_ResolveAll",
        "description": "Resolve all outstanding issues.\n\nThe method calls *EamObject.Resolve*\nwith all issues the <code>EsxAgentManager</code>, <code>Agency</code>, or\n<code>Agent</code> have encountered. It is the equivalent of calling the following methods:\n- <code>agent.resolve(getIssueKeys(agent.getRuntime().getIssue()));</code>\n  for <code>Agent</code> objects\n- <code>agency.resolve(getIssueKeys(agency.getRuntime().getIssue()));</code>\n  for <code>Agency</code> objects\n- <code>esxAgentManager.resolve(getIssueKeys(esxAgentManager.getIssue()));</code>\n  for the <code>EsxAgentManager</code> object.\n  \nRequires modify privileges.\n\nSee also *Issue*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/Agent/{moId}/config": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "The configuration of this <code>Agent</code>.\n",
        "operationId": "Agent_getConfig",
        "description": "The configuration of this <code>Agent</code>.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentConfigInfo"
                }
              }
            }
          }
        }
      }
    },
    "/eam/Agent/{moId}/runtime": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Runtime information for this agent.\n",
        "operationId": "Agent_getRuntime",
        "description": "Runtime information for this agent.\n\nThis includes important information\nabout the current deployment of the agent's VIB, virtual machine, and\nhost.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "This <code>Agent</code>'s runtime information.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentRuntimeInfo"
                }
              }
            }
          }
        }
      }
    },
    "/eam/EamObject/{moId}/QueryIssue": {
      "post": {
        "tags": [
          "EamObject"
        ],
        "summary": "Current issues that have been detected for this entity.\n",
        "operationId": "EamObject_QueryIssue",
        "description": "Current issues that have been detected for this entity.\n\nEach issue can be remediated\nby invoking *EamObject.Resolve* or *EamObject.ResolveAll*.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryIssueRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A possibly empty array of issues that match the input <code>issueKey</code> array. Note\nthat the returned array can be smaller than <code>issueKey</code> if one or more\nissue keys refers to issues that this entity does not have.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Issue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/EamObject/{moId}/Resolve": {
      "post": {
        "tags": [
          "EamObject"
        ],
        "summary": "Resolves the issues specified in the input.\n",
        "operationId": "EamObject_Resolve",
        "description": "Resolves the issues specified in the input.\n\nIf an issue is remediable, ESX\nAgent Manager\ntries to resolve the misconfiguration that caused the issue. If it is not\nremediable, the offending issue is removed and ESX Agent Manager assumes that the issue has been\nresolved.\n\nRequires modify privileges.\n\nSee also *Issue*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A possibly empty array of issue keys for the issues that were not found on the\nentity. This can happen if <code>resolve</code> is called with issue keys that were\nresolved just prior to calling <code>resolve</code> or if an issue is currenly not resolvable.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/EamObject/{moId}/ResolveAll": {
      "post": {
        "tags": [
          "EamObject"
        ],
        "summary": "Resolve all outstanding issues.\n",
        "operationId": "EamObject_ResolveAll",
        "description": "Resolve all outstanding issues.\n\nThe method calls *EamObject.Resolve*\nwith all issues the <code>EsxAgentManager</code>, <code>Agency</code>, or\n<code>Agent</code> have encountered. It is the equivalent of calling the following methods:\n- <code>agent.resolve(getIssueKeys(agent.getRuntime().getIssue()));</code>\n  for <code>Agent</code> objects\n- <code>agency.resolve(getIssueKeys(agency.getRuntime().getIssue()));</code>\n  for <code>Agency</code> objects\n- <code>esxAgentManager.resolve(getIssueKeys(esxAgentManager.getIssue()));</code>\n  for the <code>EsxAgentManager</code> object.\n  \nRequires modify privileges.\n\nSee also *Issue*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/CreateAgency": {
      "post": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "Creates an Agency.\n",
        "operationId": "EsxAgentManager_CreateAgency",
        "description": "Creates an Agency.\n\nThe initial goal state is given to the method by the\nsecond parameter. Throws <code>InvalidArgument</code> if the\n<code>agencyName</code> is not set in the <code>agencyConfigInfo</code>.\n\nRequires modify privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAgencyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created agency.\n\nRefers instance of *Agency*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidAgentConfiguration***: Thrown if the agent configuration is empty or if one or more\nagent configurations are invalid.\n\n***InvalidAgencyScope***: Thrown if one or more compute resources in the scope cannot be\nfound in vCenter or there is no configured resource pool or\nfolder where the VMs to be deployed.\n\n***EamInvalidUrl***: Thrown if either the agent virtual machine URL or VIB URL\ncannot be parsed or if the resource refered to cannot be\ndownloaded.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EamFault"
                }
              }
            }
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/GetMaintenanceModePolicy": {
      "post": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "Obtains maintenance policy for for clusters not managed by vSphere\nLifecycle Manasger.\n",
        "operationId": "EsxAgentManager_GetMaintenanceModePolicy",
        "description": "Obtains maintenance policy for for clusters not managed by vSphere\nLifecycle Manasger.\n\nSee also *EsxAgentManagerMaintenanceModePolicy_enum*.\n\n***Since:*** vEAM API 7.4\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Currently configured policy.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/QueryAgency": {
      "post": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "An array of all *Agency* objects.\n",
        "operationId": "EsxAgentManager_QueryAgency",
        "deprecated": true,
        "description": "Deprecated use *EsxAgentManager.agency* instead.\n\nAn array of all *Agency* objects.\n\nIf called by a vCenter user with\nthe vCenter <code>EAM.View</code> or <code>EAM.Modify</code> privilege,\nthis returns all agencies registered in vSphere ESX Agent Manager. If\ncalled by a solution, this property only returns the agencies created by\nthe solution (and only those which have not been destroyed).\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The possibly empty set of agencies registered in the vSphere ESX\nAgent Manager server.\n\nRefers instances of *Agency*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/QueryIssue": {
      "post": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "Current issues that have been detected for this entity.\n",
        "operationId": "EsxAgentManager_QueryIssue",
        "description": "Current issues that have been detected for this entity.\n\nEach issue can be remediated\nby invoking *EamObject.Resolve* or *EamObject.ResolveAll*.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryIssueRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A possibly empty array of issues that match the input <code>issueKey</code> array. Note\nthat the returned array can be smaller than <code>issueKey</code> if one or more\nissue keys refers to issues that this entity does not have.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Issue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/Resolve": {
      "post": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "Resolves the issues specified in the input.\n",
        "operationId": "EsxAgentManager_Resolve",
        "description": "Resolves the issues specified in the input.\n\nIf an issue is remediable, ESX\nAgent Manager\ntries to resolve the misconfiguration that caused the issue. If it is not\nremediable, the offending issue is removed and ESX Agent Manager assumes that the issue has been\nresolved.\n\nRequires modify privileges.\n\nSee also *Issue*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A possibly empty array of issue keys for the issues that were not found on the\nentity. This can happen if <code>resolve</code> is called with issue keys that were\nresolved just prior to calling <code>resolve</code> or if an issue is currenly not resolvable.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/ResolveAll": {
      "post": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "Resolve all outstanding issues.\n",
        "operationId": "EsxAgentManager_ResolveAll",
        "description": "Resolve all outstanding issues.\n\nThe method calls *EamObject.Resolve*\nwith all issues the <code>EsxAgentManager</code>, <code>Agency</code>, or\n<code>Agent</code> have encountered. It is the equivalent of calling the following methods:\n- <code>agent.resolve(getIssueKeys(agent.getRuntime().getIssue()));</code>\n  for <code>Agent</code> objects\n- <code>agency.resolve(getIssueKeys(agency.getRuntime().getIssue()));</code>\n  for <code>Agency</code> objects\n- <code>esxAgentManager.resolve(getIssueKeys(esxAgentManager.getIssue()));</code>\n  for the <code>EsxAgentManager</code> object.\n  \nRequires modify privileges.\n\nSee also *Issue*.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/ScanForUnknownAgentVm": {
      "post": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "Scans the vCenter inventory for any unknown agent virtual machine.\n",
        "operationId": "EsxAgentManager_ScanForUnknownAgentVm",
        "deprecated": true,
        "description": "Deprecated presence of unknown VMs is no more acceptable.\n\nScans the vCenter inventory for any unknown agent virtual machine.\n\nAn\nissue is generated for each unknown agent virtual machine found during\nthis scan.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/SetMaintenanceModePolicy": {
      "post": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "Configures maintenance mode policy for clusters not managed by vSphere\nLifecycle Manasger.\n",
        "operationId": "EsxAgentManager_SetMaintenanceModePolicy",
        "description": "Configures maintenance mode policy for clusters not managed by vSphere\nLifecycle Manasger.\n\nSee also *EsxAgentManagerMaintenanceModePolicy_enum*.\n\n***Since:*** vEAM API 7.4\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetMaintenanceModePolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/agency": {
      "get": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "An array of all *Agency* objects.\n",
        "operationId": "EsxAgentManager_getAgency",
        "description": "An array of all *Agency* objects.\n\nIf called by a vCenter user with\nthe vCenter <code>EAM.View</code> or <code>EAM.Modify</code> privilege,\nthis returns all agencies registered in vSphere ESX Agent Manager. If\ncalled by a solution, this property only returns the agencies created by\nthe solution (and only those which have not been destroyed).\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "The possibly empty set of agencies registered in the vSphere ESX\nAgent Manager server.\n\nRefers instances of *Agency*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eam/EsxAgentManager/{moId}/issue": {
      "get": {
        "tags": [
          "EsxAgentManager"
        ],
        "summary": "Current issues that have been detected for this entity.\n",
        "operationId": "EsxAgentManager_getIssue",
        "deprecated": true,
        "description": "Deprecated this method is deprecated since the EAM object does not\nhandles issue anymore. At the moment the implementation\nreturns an empty array of issues.\n\nCurrent issues that have been detected for this entity.\n\nEach issue can be\nremediated by invoking *EamObject.Resolve* or\n*EamObject.ResolveAll*.\n\nRequires view privileges.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Issue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmComplianceManager/{moId}/PbmCheckCompliance": {
      "post": {
        "tags": [
          "PbmComplianceManager"
        ],
        "summary": "Checks compliance of the profiles associated with one or more\nvirtual machines and/or virtual disks.\n",
        "operationId": "PbmComplianceManager_PbmCheckCompliance",
        "description": "Checks compliance of the profiles associated with one or more\nvirtual machines and/or virtual disks.\n\nThe Server stores the compliance results for all of the storage entities\nassociated with the virtual machines and disks. You can call the\n*PbmComplianceManager.PbmFetchComplianceResult* method\nto retrieve the stored results. However, for storage entities placed on vSAN,\nboth fetchComplianceResult and checkCompliance methods have the same\nbehaviour of recomputing the compliance.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmCheckComplianceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Result of the compliance check. The returned array contains one\nresult object for each entity specified in the method call.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmComplianceResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If one of the following situations occurs:\n- You do not specify an entity.\n- You specify only datastores.\n- All of the specified storage entities are invalid.\n\n***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmComplianceManager/{moId}/PbmCheckRollupCompliance": {
      "post": {
        "tags": [
          "PbmComplianceManager"
        ],
        "summary": "Checks rollup compliance of virtual machines and returns the results to your\nclient.\n",
        "operationId": "PbmComplianceManager_PbmCheckRollupCompliance",
        "description": "Checks rollup compliance of virtual machines and returns the results to your\nclient.\n\nFor a specified virtual machine, a rollup compliance check verifies\nthe storage requirements of the virtual machine and its virtual disks as\ncompared with the storage provider capabilities.\n\nThe Server stores the compliance results for all of the storage entities\nassociated with the virtual machines. You can call the\n*PbmComplianceManager.PbmFetchRollupComplianceResult* method\nto retrieve the stored results. However, for storage entities placed on vSAN,\nboth fetchRollupComplianceResult and checkRollupCompliance methods have the\nsame behaviour of recomputing the compliance.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmCheckRollupComplianceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Result of the rollup compliance check. The returned array\ncontains one rollup compliance result for each virtual machine.\nA rollup compliance result object includes the overall compliance\nstatus that represents the collective compliance status for the\nvirtual machine and its virtual disks.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmRollupComplianceResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If one of the following situations occurs:\n- You do not specify any entities.\n- You specify only datastores or virtual disks.\n- All of the specified virtual machines are invalid.\n\n***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmComplianceManager/{moId}/PbmFetchComplianceResult": {
      "post": {
        "tags": [
          "PbmComplianceManager"
        ],
        "summary": "Retrieves the latest version of *PbmComplianceResult* objects that are\navailable for the specified entities.\n",
        "operationId": "PbmComplianceManager_PbmFetchComplianceResult",
        "description": "Retrieves the latest version of *PbmComplianceResult* objects that are\navailable for the specified entities.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmFetchComplianceResultRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of compliance results. The returned array contains\none result object for each entity specified in the method call.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmComplianceResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If one of the following situations occurs:\n- You do not specify an entity.\n- You specify only datastores.\n- All of the specified storage entities are invalid.\n\n***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmComplianceManager/{moId}/PbmFetchRollupComplianceResult": {
      "post": {
        "tags": [
          "PbmComplianceManager"
        ],
        "summary": "Retrieves the rollup compliance (*PbmRollupComplianceResult*)\nof the given virtual machines if present.\n",
        "operationId": "PbmComplianceManager_PbmFetchRollupComplianceResult",
        "description": "Retrieves the rollup compliance (*PbmRollupComplianceResult*)\nof the given virtual machines if present.\n\nThe returned rollup compliance\nresult may be old. Invoke checkRollupCompliance API to compute and retrieve the\nlatest rollup compliance result. For storage entities placed on vSAN the\nreturned compliance is always the latest.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmFetchRollupComplianceResultRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Rollup compliance results for the given virtual machines.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmRollupComplianceResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If one of the following situations occurs:\n- There is no profile associated with the virtual machine\n  or its virtual disks.\n- You specify only datastores or virtual disks.\n- All of the specified virtual machines are invalid.\n\n***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmComplianceManager/{moId}/PbmQueryByRollupComplianceStatus": {
      "post": {
        "tags": [
          "PbmComplianceManager"
        ],
        "summary": "Returns the virtual machines for the given rollup compliance status.\n",
        "operationId": "PbmComplianceManager_PbmQueryByRollupComplianceStatus",
        "description": "Returns the virtual machines for the given rollup compliance status.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryByRollupComplianceStatusRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of VirtualMachine entities\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmServerObjectRef"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If the given status parameter is invalid or incorrect format.\n\n***PbmFault***: If there is an internal service error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmPlacementSolver/{moId}/PbmCheckCompatibility": {
      "post": {
        "tags": [
          "PbmPlacementSolver"
        ],
        "summary": "Performs placement compatibility checking based on a storage requirement\nprofile.\n",
        "operationId": "PbmPlacementSolver_PbmCheckCompatibility",
        "deprecated": true,
        "description": "Deprecated as of vSphere 2016, use *PbmPlacementSolver.PbmCheckRequirements* instead in order to retrieve compatibility status on both compute and storage\nlocation.\n\nPerforms placement compatibility checking based on a storage requirement\nprofile.\n\nIf compatibility checking for a hub does not produce any errors,\nthe hub is considered a viable candidate for virtual machine file storage.\nIf this method is invoked for\n*VVolDefaultProfile*\nprofile, then all the VVOL containers are returned as matching.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmCheckCompatibilityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of compatibility result objects. The results array contains\none entry for each entry in the <code>hubsToSearch</code> list. If\na hubs list is not specified, the results array contains one\nentry for each datastore and storage pod in your vSphere\nenvironment. Any errors are described in the results array.\n- If there is an invalid argument error, the compatibility\n  results will contain <code>InvalidArgument</code> faults\n  indicating that the profile does not exist or that it does not\n  match the requirement type.\n- If there are errors or warnings during compatibility checking,\n  the compatibility results will contain faults derived from\n  *PbmCompatibilityCheckFault*.\n- If this method is invoked for\n  *VVolDefaultProfile*\n  then the compatibility results will contain faults derived from\n  *PbmCompatibilityCheckFault* for non-vvol datastores.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmPlacementCompatibilityResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmPlacementSolver/{moId}/PbmCheckCompatibilityWithSpec": {
      "post": {
        "tags": [
          "PbmPlacementSolver"
        ],
        "summary": "Performs placement compatibility checking based on a storage profile\nspecification.\n",
        "operationId": "PbmPlacementSolver_PbmCheckCompatibilityWithSpec",
        "deprecated": true,
        "description": "Deprecated as of vSphere 2016, use *PbmPlacementSolver.PbmCheckRequirements* instead in order to retrieve compatibility status for both\ncompute and storage location.\n\nPerforms placement compatibility checking based on a storage profile\nspecification.\n\nIf compatibility checking for a hub does not produce\nany errors, the hub is considered a viable candidate for virtual\nmachine file storage.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmCheckCompatibilityWithSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of compatibility result objects. The results array contains\none entry for each entry in the <code>hubsToSearch</code> list.\nIf a hubs list is not specified, the results array contains one entry\nfor each datastore and storage pod in your vSphere environment.\nAny errors are described in the results array.\n- If there is an invalid argument error, the compatibility results\n  will contain <code>InvalidArgument</code> faults indicating that the\n  profile does not exist or that it does not match the requirement type.\n- If there are errors or warnings during compatibility checking,\n  the compatibility results will contain faults derived from\n  *PbmCompatibilityCheckFault*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmPlacementCompatibilityResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmPlacementSolver/{moId}/PbmCheckRequirements": {
      "post": {
        "tags": [
          "PbmPlacementSolver"
        ],
        "summary": "Performs placement compatibility checking for the specified object to be placed based on its\nspecified set of requirements.\n",
        "operationId": "PbmPlacementSolver_PbmCheckRequirements",
        "description": "Performs placement compatibility checking for the specified object to be placed based on its\nspecified set of requirements.\n\nIf compatibility checking for a hub does not produce any\nerrors, the hub is considered a viable candidate for virtual machine storage.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmCheckRequirementsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of compatibility result objects. The results array contains\none entry for each entry in the <code>hubsToSearch</code> list.\nIf hubs list is not specified, the results array contains one entry\nfor each datastore and storage pod in your vSphere environment.\nAny errors are returned in the results array.\n- If there is an invalid argument error, the compatibility results\n  will contain <code>InvalidArgument</code> faults indicating that the\n  profile does not exist or that it does not match the requirement type.\n- If there are errors or warnings during compatibility checking,\n  the compatibility results will contain faults derived from\n  *PbmCompatibilityCheckFault*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmPlacementCompatibilityResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if <code>placementSubjectRequirement</code> is null or empty or if\nthere are duplicate or multiple conflicting requirements such as\n*PbmPlacementCapabilityConstraintsRequirement* and *PbmPlacementCapabilityProfileRequirement* both being\nspecified.\n\n***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmPlacementSolver/{moId}/PbmQueryMatchingHub": {
      "post": {
        "tags": [
          "PbmPlacementSolver"
        ],
        "summary": "Finds matching placement hubs for the specified requirements profile.\n",
        "operationId": "PbmPlacementSolver_PbmQueryMatchingHub",
        "deprecated": true,
        "description": "Deprecated as of vSphere 2016, use *PbmPlacementSolver.PbmCheckRequirements*\ninstead in order to retrieve both compatible compute and storage location.\n\nFinds matching placement hubs for the specified requirements profile.\n\nThis\nmethod returns only those hubs that match the profile. If this method is\ninvoked for\n*VVolDefaultProfile*\nprofile, then all the VVOL containers are returned as matching.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryMatchingHubRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Subset of the <code>hubsToSearch</code> list that satisfies the\nprofile requirements. A storage pod is returned if and only if all\nits member datastores satisfy the profile requirements, whether\nthe hubs list contains any of the member datastores or not. If a\ndatastore and its storage pod are in the hubs list, and both\nsatisfy the requirements, both are returned.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmPlacementHub"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmPlacementSolver/{moId}/PbmQueryMatchingHubWithSpec": {
      "post": {
        "tags": [
          "PbmPlacementSolver"
        ],
        "summary": "Finds matching placement hubs based on a profile creation specification.\n",
        "operationId": "PbmPlacementSolver_PbmQueryMatchingHubWithSpec",
        "deprecated": true,
        "description": "Deprecated as of vSphere 2016, use *PbmPlacementSolver.PbmCheckRequirements* instead in order to retrieve both compatible compute and storage location.\n\nFinds matching placement hubs based on a profile creation specification.\n\nThis method returns only those hubs that match the specification.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryMatchingHubWithSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Subset of the <code>hubsToSearch</code> list that satisfies the profile\nrequirements. A storage pod is returned if and only if all its member datastores\nsatisfy the profile requirements, whether the hubs list contains\nany of the member datastores or not. If a datastore and its storage pod\nare in the hubs list, and both satisfy the requirements, both are returned.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmPlacementHub"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmAssignDefaultRequirementProfile": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Assign the given profile as the default profile for the given datastores.\n",
        "operationId": "PbmProfileProfileManager_PbmAssignDefaultRequirementProfile",
        "description": "Assign the given profile as the default profile for the given datastores.\n\nThis is an atomic operation. Either all the datastores will be assigned\nthe default profile or none will be.\nIn addition to StorageProfile.Update privilege, it requires\nDatastore.UpdateVirtualMachineFiles privilege on the given datastores to\nchange the default profile for the datastores. Otherwise a NoPermission\nfault is thrown.\n\n***Required privileges:*** StorageProfile.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmAssignDefaultRequirementProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: If one of the hub is not a datastore or profile cannot be\nused as default requirement profile for any of the hub.\n\n***PbmLegacyHubsNotSupported***: If any of the hub in datastores argument is legacy (VMFS\nor NFS) datastores.\n\n***PbmNonExistentHubs***: If any of the hub in datastores argument is non existent.\n\n***PbmFault***: Internal service error\n\n***PbmFaultNoPermission***: If user does not have Datastore.UpdateVirtualMachineFiles\nprivilege on the given datastores.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmCreate": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Creates a capability-based storage profile.\n",
        "operationId": "PbmProfileProfileManager_PbmCreate",
        "description": "Creates a capability-based storage profile.\n\nA capability-based profile\ncontains requirements that are derived from tag-defined capabilities\nor from VMware VSAN capabilities.\n- Use the vSphere Web Client to define tags for capabilities.\n- VSAN storage capabilities are system-defined.\n  \nA profile is a collection of subprofiles\n(*PbmCapabilitySubProfile*).\nA subprofile references storage capabilities and defines requirements\nbased on those capabilities.\n\nTo define a storage requirement, you specify constraint property instance values\n(*PbmCapabilityPropertyInstance*) that use Storage Policy API builtin\ntypes (*PbmBuiltinType_enum*) to create expressions\nfor compliance checking.\n\nThe profile specification contains lists of constraint property instances\n(*PbmCapabilityProfileCreateSpec*.*PbmCapabilityProfileCreateSpec.constraints*.*PbmCapabilitySubProfileConstraints.subProfiles*\\[\\].*PbmCapabilitySubProfile.capability*\\[\\].*PbmCapabilityInstance.constraint*\\[\\].*PbmCapabilityConstraintInstance.propertyInstance*\\[\\]).\nThe constraints are based on storage capabilities described in metadata\n(*PbmCapabilityPropertyMetadata*) and in the datastore profiles.\n\n***Required privileges:*** StorageProfile.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmCreateRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Identifier for the new profile.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmProfileId"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if\n*PbmCapabilityProfileCreateSpec* is invalid.\n\n***PbmFaultProfileStorageFault***: if there is an error in persisting the profile.\n\n***PbmDuplicateName***: if a profile with the same name already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmDelete": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Deletes one or more profiles.\n",
        "operationId": "PbmProfileProfileManager_PbmDelete",
        "description": "Deletes one or more profiles.\n\nIf the method successfully deletes a\nprofile, its identifier is no longer valid.\n\n***Required privileges:*** StorageProfile.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmDeleteRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of result objects, one for each profile specified in the\ncall to the <code>PbmDelete</code> method.\n\nThe result object contains the profile ID and, if an error\noccurred, it also describes the fault. The method can return one\nof the following faults if the profile cannot be deleted:\n- *InvalidArgument* - Profile is not\n  recognized by the system.\n- *PbmFaultProfileStorageFault* - Internal service\n  error.\n- *PbmResourceInUse* - Profile is still associated\n  with an entity.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmProfileOperationOutcome"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmFetchCapabilityMetadata": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Retrieves capability metadata.\n",
        "operationId": "PbmProfileProfileManager_PbmFetchCapabilityMetadata",
        "description": "Retrieves capability metadata.\n\nEach capability metadata object has a unique identifier\n(*PbmCapabilityMetadata*.*PbmCapabilityMetadata.id*).\nThe identifier object (*PbmCapabilityMetadataUniqueId*)\ncontains the unique ID and it identifies the namespace to which\nthe capability metadata object belongs.\n\nEach registered namespace is required to be globally unique.\nYou can associate a capability metadata object with a unique vendor and\nresource type by using the namespace and the\n*PbmCapabilityVendorResourceTypeInfo*\ndata returned by the *PbmProfileProfileManager.PbmFetchVendorInfo* method.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmFetchCapabilityMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of capability metadata objects, classified by category\n(*PbmCapabilityMetadataPerCategory*.*PbmCapabilityMetadataPerCategory.subCategory*).\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmCapabilityMetadataPerCategory"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmFetchCapabilitySchema": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Returns the capability schema objects registered in the system.\n",
        "operationId": "PbmProfileProfileManager_PbmFetchCapabilitySchema",
        "description": "Returns the capability schema objects registered in the system.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmFetchCapabilitySchemaRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of *PbmCapabilitySchema*\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmCapabilitySchema"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***PbmFault***: If there is an internal server error.\n\n***InvalidArgument***: If input lineOfServices has unknown/invalid line of service.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmFetchResourceType": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Retrieves information about various resource types registered with the system.\n",
        "operationId": "PbmProfileProfileManager_PbmFetchResourceType",
        "description": "Retrieves information about various resource types registered with the system.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of resource types.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmProfileResourceType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmFetchVendorInfo": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Retrieve information about various capability metadata owners/vendors\nregistered with the system, the resource type for which they are registered,\nand schema namespaces to which they belong.\n",
        "operationId": "PbmProfileProfileManager_PbmFetchVendorInfo",
        "description": "Retrieve information about various capability metadata owners/vendors\nregistered with the system, the resource type for which they are registered,\nand schema namespaces to which they belong.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmFetchVendorInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Vendor and namespace information.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmCapabilityVendorResourceTypeInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmFindApplicableDefaultProfile": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Returns the profiles that can be made as default profile for all the given datastores.\n",
        "operationId": "PbmProfileProfileManager_PbmFindApplicableDefaultProfile",
        "description": "Returns the profiles that can be made as default profile for all the given datastores.\n\nA profile can be made as a default profile for a datastore only if it contains a ruleset\nfrom the namespace the datastore belongs to.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmFindApplicableDefaultProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Profile\\[\\]\nReturns all the requirements profiles that can be made as default profile for the given datastores.\nIf no profile can be made as default for all datastores, then an empty array is returned.\nNote that the profiles returned may or may not be compatible with the datastores.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmProfile"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***PbmLegacyHubsNotSupported***: If any of the hubs in datastores argument are legacy (VMFS or NFS) datastores.\n\n***PbmNonExistentHubs***: If any of the hubs in datastores argument are non existent.\n\n***PbmFault***: Internal service error.\n\n***InvalidArgument***: If the datastores argument contains a non-datastore, example storage pod.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmQueryAssociatedEntities": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Returns the virtual machine and disks that are associated with the given\nstorage policies.\n",
        "operationId": "PbmProfileProfileManager_PbmQueryAssociatedEntities",
        "description": "Returns the virtual machine and disks that are associated with the given\nstorage policies.\n\nIf the profiles parameter is empty, then this API returns\nall the virtual machine and disks that are associated with some storage\npolicy.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryAssociatedEntitiesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of QueryProfileResult\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmQueryProfileResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***PbmFault***: If there is an internal service error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmQueryAssociatedEntity": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Retrieves entities associated with the specified profile.\n",
        "operationId": "PbmProfileProfileManager_PbmQueryAssociatedEntity",
        "description": "Retrieves entities associated with the specified profile.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryAssociatedEntityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of entities associated with the profile.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmServerObjectRef"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmQueryAssociatedProfile": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Returns identifiers for profiles associated with a virtual machine,\nvirtual disk, or datastore.\n",
        "operationId": "PbmProfileProfileManager_PbmQueryAssociatedProfile",
        "description": "Returns identifiers for profiles associated with a virtual machine,\nvirtual disk, or datastore.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryAssociatedProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of profiles associated with the entity.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmProfileId"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmQueryAssociatedProfiles": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Returns profiles associated with the specified entities.\n",
        "operationId": "PbmProfileProfileManager_PbmQueryAssociatedProfiles",
        "description": "Returns profiles associated with the specified entities.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryAssociatedProfilesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of query result objects. Each *PbmQueryProfileResult*\nobject identifies a virtual machine, virtual disk, or datastore\nand it contains a list of the profiles associated with that entity.\nIt also describes the fault, if there is an error associated\nwith one of the profiles.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmQueryProfileResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***PbmFault***: If there is an internal server error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmQueryDefaultRequirementProfile": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Returns the default requirement profile ID for the given datastore.\n",
        "operationId": "PbmProfileProfileManager_PbmQueryDefaultRequirementProfile",
        "description": "Returns the default requirement profile ID for the given datastore.\n\nFor\nlegacy hub the API returns `null`.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryDefaultRequirementProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Profile Id of the Default Requirement Profile. For legacy hub the\nAPI returns `null`.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/PbmProfileId"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If hub is invalid (does not denote a datastore).\n\n***PbmNonExistentHubs***: If hub is non existent.\n\n***PbmFault***: Internal service error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmQueryDefaultRequirementProfiles": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Returns the default profiles for the given datastores.\n",
        "operationId": "PbmProfileProfileManager_PbmQueryDefaultRequirementProfiles",
        "description": "Returns the default profiles for the given datastores.\n\nFor legacy\ndatastores we set `DefaultProfileInfo.defaultProfile` to\n`null`.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryDefaultRequirementProfilesRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "DefaultProfileInfo Default profile information.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmDefaultProfileInfo"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: If one of the datastore is invalid (does not denote a\ndatastore).\n\n***PbmNonExistentHubs***: If any of the datastore in datastores argument are non\nexistent.\n\n***PbmFault***: Internal service error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmQueryProfile": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Returns requirement profile ids or resource profile ids, or both.\n",
        "operationId": "PbmProfileProfileManager_PbmQueryProfile",
        "description": "Returns requirement profile ids or resource profile ids, or both.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of storage profile identifiers.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmProfileId"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the Server does not recognize the specified\nresourceType or profileCategory.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgument"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmQuerySpaceStatsForStorageContainer": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Retrieves space statistics of a datastore.\n",
        "operationId": "PbmProfileProfileManager_PbmQuerySpaceStatsForStorageContainer",
        "description": "Retrieves space statistics of a datastore.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQuerySpaceStatsForStorageContainerRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of Space stats of datastore for each capabilityProfileId.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmDatastoreSpaceStatistics"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: - Thrown if the input datastore parameter is null\nor its type is not datastore or its key is empty.\n\n***PbmFault***: - Thrown if server internal error occurred or\nif storage container does not support the profile.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmResetDefaultRequirementProfile": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Not supported in this release.\n",
        "operationId": "PbmProfileProfileManager_PbmResetDefaultRequirementProfile",
        "deprecated": true,
        "description": "Deprecated since it is not supported.\n\nNot supported in this release.\n\n***Required privileges:*** StorageProfile.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmResetDefaultRequirementProfileRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmResetVSanDefaultProfile": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Resets the system pre-created VSAN default profile to factory defaults.\n",
        "operationId": "PbmProfileProfileManager_PbmResetVSanDefaultProfile",
        "description": "Resets the system pre-created VSAN default profile to factory defaults.\n\n***Required privileges:*** StorageProfile.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmRetrieveContent": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Returns one or more storage profiles.\n",
        "operationId": "PbmProfileProfileManager_PbmRetrieveContent",
        "description": "Returns one or more storage profiles.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmRetrieveContentRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of storage profiles.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmProfile"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if the Server does not recognize any of the profileIds.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgument"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmProfileProfileManager/{moId}/PbmUpdate": {
      "post": {
        "tags": [
          "PbmProfileProfileManager"
        ],
        "summary": "Updates a storage profile.\n",
        "operationId": "PbmProfileProfileManager_PbmUpdate",
        "description": "Updates a storage profile.\n\n***Required privileges:*** StorageProfile.Update\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmUpdateRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidArgument***: if the Server does not recognize *PbmProfileId*.\n\n***PbmFaultProfileStorageFault***: in case of internal service error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmReplicationManager/{moId}/PbmQueryReplicationGroups": {
      "post": {
        "tags": [
          "PbmReplicationManager"
        ],
        "summary": "Returns identifiers for replication groups associated with virtual machines, virtual\ndisks or virtual machines and all their disks.\n",
        "operationId": "PbmReplicationManager_PbmQueryReplicationGroups",
        "description": "Returns identifiers for replication groups associated with virtual machines, virtual\ndisks or virtual machines and all their disks.\n\nIf the query is performed for a virtual machine\nand all it's disks *virtualMachineAndDisks*, an entry per\ndisk and one for the virtual machine config will be returned.\n\n***Required privileges:*** StorageProfile.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PbmQueryReplicationGroupsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of query result objects. Each *PbmQueryReplicationGroupResult*\nobject identifies a virtual machine, or virtual disk and contains the replication group id\nassociated with that entity, if any. It also describes the fault, if there is an error associated\nwith one of the entities.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PbmQueryReplicationGroupResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if <code>entities</code> is null or empty.\n\n***PbmFault***: If there is an internal service error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmFault"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmServiceInstance/{moId}/PbmRetrieveServiceContent": {
      "post": {
        "tags": [
          "PbmServiceInstance"
        ],
        "summary": "Retrieves the properties of the Storage Policy service instance.\n",
        "operationId": "PbmServiceInstance_PbmRetrieveServiceContent",
        "description": "Retrieves the properties of the Storage Policy service instance.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "Service instance properties that provide access to\nStorage Policy managed objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmServiceInstanceContent"
                }
              }
            }
          }
        }
      }
    },
    "/pbm/PbmServiceInstance/{moId}/content": {
      "get": {
        "tags": [
          "PbmServiceInstance"
        ],
        "summary": "Contains references to Storage Policy managed objects.\n",
        "operationId": "PbmServiceInstance_getContent",
        "description": "Contains references to Storage Policy managed objects.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PbmServiceInstanceContent"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsProvider/{moId}/QueryProviderInfo": {
      "post": {
        "tags": [
          "SmsProvider"
        ],
        "summary": "Get provider information.\n",
        "operationId": "SmsProvider_QueryProviderInfo",
        "description": "Get provider information.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsProviderInfo"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsServiceInstance/{moId}/QueryAboutInfo": {
      "post": {
        "tags": [
          "SmsServiceInstance"
        ],
        "summary": "Retrieves information about the service.\n",
        "operationId": "SmsServiceInstance_QueryAboutInfo",
        "description": "Retrieves information about the service.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "AboutInfo information about the system\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsAboutInfo"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsServiceInstance/{moId}/QuerySessionManager": {
      "post": {
        "tags": [
          "SmsServiceInstance"
        ],
        "summary": "Retrieves SMS Session Manager managed object.\n",
        "operationId": "SmsServiceInstance_QuerySessionManager",
        "description": "Retrieves SMS Session Manager managed object.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "A managed object *SmsSessionManager* reference.\n\nRefers instance of *SmsSessionManager*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsServiceInstance/{moId}/QueryStorageManager": {
      "post": {
        "tags": [
          "SmsServiceInstance"
        ],
        "summary": "Retrieves Storage Manager managed object.\n",
        "operationId": "SmsServiceInstance_QueryStorageManager",
        "description": "Retrieves Storage Manager managed object.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "A managed object *SmsStorageManager* reference.\n\nRefers instance of *SmsStorageManager*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryArray": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the list of storage arrays managed by all the registered VASA providers.\n",
        "operationId": "SmsStorageManager_QueryArray",
        "description": "Get the list of storage arrays managed by all the registered VASA providers.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryArrayRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of data objects containing information about\nStorageArray.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StorageArray"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the given providerId does not have any\nreference.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryArrayAssociatedWithLun": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the StorageArray object that is associated with the\nScsiLun.\n",
        "operationId": "SmsStorageManager_QueryArrayAssociatedWithLun",
        "description": "Get the StorageArray object that is associated with the\nScsiLun.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryArrayAssociatedWithLunRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "StorageArray for the for the ScsiLun.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/StorageArray"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryAssociatedBackingStoragePool": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Query Backing Storage Pools for StorageLun or StorageFileSystem.\n",
        "operationId": "SmsStorageManager_QueryAssociatedBackingStoragePool",
        "description": "Query Backing Storage Pools for StorageLun or StorageFileSystem.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryAssociatedBackingStoragePoolRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of BackingStoragePool*BackingStoragePool* associated with specified StorageLun or StorageFileSystem.\nIf entityId is null then API returns all the BackingStoragePools of the specified type.\nIf both entityId and entityType are not specified then API returns all the BackingStoragePools available.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BackingStoragePool"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entityId does not exist.\n\n***QueryExecutionFault***: if an error is encountered while processing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryDatastoreBackingPoolMapping": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Query BackingStoragePools for the given set of datastores.\n",
        "operationId": "SmsStorageManager_QueryDatastoreBackingPoolMapping",
        "description": "Query BackingStoragePools for the given set of datastores.\n\nAvailable information for all types of BackingStoragePools*BackingStoragePoolType_enum*\nfor every input datastore is returned as part of the result.\nMore than one datastore can map to same set of BackingStoragePools.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDatastoreBackingPoolMappingRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "*DatastoreBackingPoolMapping*\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DatastoreBackingPoolMapping"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if any *Datastore* in the specified input array does not exist.\n\n***QueryExecutionFault***: if an error is encountered while processing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryDatastoreCapability": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the capability for the given datastore.\n",
        "operationId": "SmsStorageManager_QueryDatastoreCapability",
        "description": "Get the capability for the given datastore.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDatastoreCapabilityRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A data object containing information about StorageCapability.\nIf the VMFS datastore have heterogeneous Luns (in case of VMFS extends),\n*StorageCapability.description* will be empty.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/StorageCapability"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryDrsMigrationCapabilityForPerformance": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Query the provider to figure out whether Storage DRS should\nmigrate VMDKs between the two given datastores.\n",
        "operationId": "SmsStorageManager_QueryDrsMigrationCapabilityForPerformance",
        "deprecated": true,
        "description": "Deprecated as of SMS API 3.0, use *SmsStorageManager.QueryDrsMigrationCapabilityForPerformanceEx*.\n\nQuery the provider to figure out whether Storage DRS should\nmigrate VMDKs between the two given datastores.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDrsMigrationCapabilityForPerformanceRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "true if VM migration is recommended from srcDatastore\nto dstDatastore.\nfalse if VM migration is not recommended from\nsrcDatastore to dstDatastore.\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryDrsMigrationCapabilityForPerformanceEx": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Query available VASA providers for I/O performance based migration recommendations\nfor all pair combinations of the given set of datastores.\n",
        "operationId": "SmsStorageManager_QueryDrsMigrationCapabilityForPerformanceEx",
        "deprecated": true,
        "description": "Deprecated as of SMS API 5.0.\n\nQuery available VASA providers for I/O performance based migration recommendations\nfor all pair combinations of the given set of datastores.\n\nDatastore pairs for which\na recommendation cannot be obtained are not included in the result.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryDrsMigrationCapabilityForPerformanceExRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "*DrsMigrationCapabilityResult*\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DrsMigrationCapabilityResult"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if any *Datastore* in the specified input array does not exist.\n\n***QueryExecutionFault***: if an error is encountered while processing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryFaultDomain": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Query for fault domains based on the query spec.\n",
        "operationId": "SmsStorageManager_QueryFaultDomain",
        "description": "Query for fault domains based on the query spec.\n\nIf spec is null, SMS\nwill return all the root fault domains only.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryFaultDomainRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "all the fault domains based on the query spec.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FaultDomainId"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if invalid input is provided.\n\n***NotFound***: if the specified providerId in the spec does not exist\n\n***QueryExecutionFault***: if an error is encountered while processing the\nquery request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryFileSystemAssociatedWithArray": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the StorageFileSystem data objects for the Array.\n",
        "operationId": "SmsStorageManager_QueryFileSystemAssociatedWithArray",
        "description": "Get the StorageFileSystem data objects for the Array.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryFileSystemAssociatedWithArrayRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of data objects containing information about\nStorageFileSystem.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StorageFileSystem"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryHostAssociatedWithLun": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get HostSystem managed entities that share the StorageLun.\n",
        "operationId": "SmsStorageManager_QueryHostAssociatedWithLun",
        "description": "Get HostSystem managed entities that share the StorageLun.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryHostAssociatedWithLunRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of HostSystems.\n\nRefers instances of *HostSystem*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryLunAssociatedWithArray": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the list of StorageLun data objects that for the Array.\n",
        "operationId": "SmsStorageManager_QueryLunAssociatedWithArray",
        "description": "Get the list of StorageLun data objects that for the Array.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryLunAssociatedWithArrayRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of data object containing information about\nStorageLun.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StorageLun"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryLunAssociatedWithPort": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the StorageLun data objects that are associated with StoragePort.\n",
        "operationId": "SmsStorageManager_QueryLunAssociatedWithPort",
        "description": "Get the StorageLun data objects that are associated with StoragePort.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryLunAssociatedWithPortRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of data objects containing information about\nStorageLun.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StorageLun"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryNfsDatastoreAssociatedWithFileSystem": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get NFS datastore managed entity that are associated with\nStorageFileSystem.\n",
        "operationId": "SmsStorageManager_QueryNfsDatastoreAssociatedWithFileSystem",
        "description": "Get NFS datastore managed entity that are associated with\nStorageFileSystem.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryNfsDatastoreAssociatedWithFileSystemRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Nas datastore for the storage file system id.\n\nRefers instance of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryPortAssociatedWithArray": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the StoragePort data objects that are associated with Array.\n",
        "operationId": "SmsStorageManager_QueryPortAssociatedWithArray",
        "description": "Get the StoragePort data objects that are associated with Array.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPortAssociatedWithArrayRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of data objects containing information about\nStoragePort.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoragePort"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryPortAssociatedWithLun": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the StoragePort data object that is associated with LUN.\n",
        "operationId": "SmsStorageManager_QueryPortAssociatedWithLun",
        "description": "Get the StoragePort data object that is associated with LUN.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPortAssociatedWithLunRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A data object containing information about StoragePort.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/StoragePort"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryPortAssociatedWithProcessor": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the StoragePort data objects that are associated with Processor.\n",
        "operationId": "SmsStorageManager_QueryPortAssociatedWithProcessor",
        "description": "Get the StoragePort data objects that are associated with Processor.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPortAssociatedWithProcessorRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of data objects containing information about\nStoragePort.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoragePort"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryProcessorAssociatedWithArray": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the StorageProcessor data objects that are associated with Array.\n",
        "operationId": "SmsStorageManager_QueryProcessorAssociatedWithArray",
        "description": "Get the StorageProcessor data objects that are associated with Array.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryProcessorAssociatedWithArrayRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of data objects containing information about\nStorageProcessor.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StorageProcessor"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryProvider": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get the list of Providers that are currently registered\nwith StorageManager.\n",
        "operationId": "SmsStorageManager_QueryProvider",
        "description": "Get the list of Providers that are currently registered\nwith StorageManager.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "List of Providers.\n\nRefers instances of *SmsProvider*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedObjectReference"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***QueryExecutionFault***: if an error is encountered while processing the\nquery request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueryExecutionFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryReplicationGroupInfo": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Query for replication group details based on the query filter spec.\n",
        "operationId": "SmsStorageManager_QueryReplicationGroupInfo",
        "description": "Query for replication group details based on the query filter spec.\n\nThe replication\ngroup id list in the filter spec cannot be null or empty.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryReplicationGroupInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of *GroupOperationResult* elements.\nThe length of the result array must be the same as the input.\nIn the result array, each entry is either a\n*QueryReplicationGroupSuccessResult* (for success), or a\n*GroupErrorResult* (for failure).\n\nThe following fault may be set in error result entry:\n- *NotFound* if the replication group cannot be found.\n- *ProviderUnavailable* if the provider for the entity is temporarily unavailable.\n- *InactiveProvider* if the provider for the entity is not active.\n- *ProviderBusy* if the provider for the entity is busy.\n- *NotImplemented* if the provider does not implement this function.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupOperationResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if *ReplicationGroupFilter.groupId* is null or empty.\n\n***ServiceNotInitialized***: if SMS service is not initialized.\n\n***QueryExecutionFault***: if an error is encountered while processing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueryExecutionFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryStorageContainer": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Query storage containers that are retrieved from VASA providers.\n",
        "operationId": "SmsStorageManager_QueryStorageContainer",
        "description": "Query storage containers that are retrieved from VASA providers.\n\nStretched container with\nUNREPORTED sync status is not included in returned result.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryStorageContainerRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "*StorageContainerResult*\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/StorageContainerResult"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the input provided as part of *StorageContainerSpec* is not found.\n\n***QueryExecutionFault***: if an error is encountered while processing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/QueryVmfsDatastoreAssociatedWithLun": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Get VMFS Datastore managed entity that are associated with\nStorageLun.\n",
        "operationId": "SmsStorageManager_QueryVmfsDatastoreAssociatedWithLun",
        "description": "Get VMFS Datastore managed entity that are associated with\nStorageLun.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryVmfsDatastoreAssociatedWithLunRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Vmfs datastore for the file system id.\n\nRefers instance of *Datastore*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the specified entity does not exist.\n\n***QueryExecutionFault***: if an error is encountered while\nprocessing the query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/SmsRefreshCACertificatesAndCRLs_Task": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "SMS pushes the latest CA root certificates and CRLs to all registered VASA providers.\n",
        "operationId": "SmsStorageManager_SmsRefreshCACertificatesAndCRLs_Task",
        "description": "SMS pushes the latest CA root certificates and CRLs to all registered VASA providers.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsRefreshCACertificatesAndCRLsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if there exists no provider for a *SmsProviderInfo.uid* in providerId\n\n***InvalidArgument***: if a *SmsProviderInfo.uid* in providerId is invalid.\n\n***CertificateRefreshFailed***: if an error is encountered while refreshing\nroot certificates and CRLs for any provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/RegisterProvider_Task": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Register the provider and issue a sync operation on it.\n",
        "operationId": "SmsStorageManager_RegisterProvider_Task",
        "description": "Register the provider and issue a sync operation on it.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterProviderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if invalid input is provided.\n\n***AlreadyExists***: if the provider already exists.\n\n***ProviderRegistrationFault***: if an error is encountered during the\nregistration operation. For instance, *IncorrectUsernamePassword*\nis thrown if the login credentials are incorrect. *CertificateNotTrusted*\nis thrown if the provider identifies itself with an untrusted certificate.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsStorageManager/{moId}/UnregisterProvider_Task": {
      "post": {
        "tags": [
          "SmsStorageManager"
        ],
        "summary": "Unregister the provider.\n",
        "operationId": "SmsStorageManager_UnregisterProvider_Task",
        "description": "Unregister the provider.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnregisterProviderRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if invalid input is provided.\n\n***NotFound***: if the specified entity does not exist.\n\n***ProviderUnregistrationFault***: if provider service is not available or\nany exception is thrown by the VASA provider\nduring unregister provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsTask/{moId}/QuerySmsTaskInfo": {
      "post": {
        "tags": [
          "SmsTask"
        ],
        "summary": "Get detailed information about this task.\n",
        "operationId": "SmsTask_QuerySmsTaskInfo",
        "description": "Get detailed information about this task.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "TaskInfo\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTaskInfo"
                }
              }
            }
          }
        }
      }
    },
    "/sms/SmsTask/{moId}/QuerySmsTaskResult": {
      "post": {
        "tags": [
          "SmsTask"
        ],
        "summary": "Get the result of the task.\n",
        "operationId": "SmsTask_QuerySmsTaskResult",
        "description": "Get the result of the task.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/Any"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/FailoverReplicationGroup_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Failover the specified device groups.\n",
        "operationId": "VasaProvider_FailoverReplicationGroup_Task",
        "description": "Failover the specified device groups.\n\nThis function will always be called\nat the replication target location.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FailoverReplicationGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if failoverParam is null or contains invalid data.\n\n***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***ProviderOutOfResource***: if it is not possible to perform the operation\ndue to lack of resources.\n\n***InactiveProvider***: if the provider is inactive for the specified entity.\n\n***TooMany***: Thrown if the Provider is unable to handle the given set of\nreplication groups in one call. The client needs to call this method based\non the maxBatchSize specified in the TooMany fault. If the maxBatchSize is\nnot specified, the client is expected to call the function for each group\nindividually (i.e. maxBatchSize = 1).\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***SmsReplicationFault***: if an error is encountered while processing the request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/PrepareFailoverReplicationGroup_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Prepare to fail over the specified replication groups.\n",
        "operationId": "VasaProvider_PrepareFailoverReplicationGroup_Task",
        "description": "Prepare to fail over the specified replication groups.\n\nThis function is always\ncalled at the replication source location.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareFailoverReplicationGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if groupId is null or empty.\n\n***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***ProviderOutOfResource***: if it is not possible to perform the operation\ndue to lack of resources.\n\n***TooMany***: Thrown if the Provider is unable to handle the given set of\nreplication groups in one call. The client needs to call this method based\non the maxBatchSize specified in the TooMany fault. If the maxBatchSize is\nnot specified, the client is expected to call the function for each group\nindividually (i.e. maxBatchSize = 1).\n\n***InactiveProvider***: if the provider is inactive for the specified entity.\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***SmsReplicationFault***: if an error is encountered while processing the request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/PromoteReplicationGroup_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Promotes the replication groups currently *INTEST*\nto *FAILEDOVER*.\n",
        "operationId": "VasaProvider_PromoteReplicationGroup_Task",
        "description": "Promotes the replication groups currently *INTEST*\nto *FAILEDOVER*.\n\nThis\nfunction must be called at the replication target location.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteReplicationGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if promoteParam is null or contains invalid data.\n\n***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***ProviderOutOfResource***: if it is not possible to perform the operation\ndue to lack of resources.\n\n***InactiveProvider***: if the provider is inactive for the specified entity.\n\n***TooMany***: Thrown if the Provider is unable to handle the given set of\nreplication groups in one call. The client needs to call this method based\non the maxBatchSize specified in the TooMany fault. If the maxBatchSize is\nnot specified, the client is expected to call the function for each group\nindividually (i.e. maxBatchSize = 1).\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***SmsReplicationFault***: if an error is encountered while processing the request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/QueryActiveAlarm": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Query for the currently active alarms known to this VASA provider.\n",
        "operationId": "VasaProvider_QueryActiveAlarm",
        "description": "Query for the currently active alarms known to this VASA provider.\n\nProvider is expected to return Red and Yellow types of alarms only.\nNo Green alarms should be included in the result for this API.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryActiveAlarmRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "*AlarmResult* containing all (or requested) active alarm objects owned\nby the VASA provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/AlarmResult"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if invalid input is provided.\n\n***NotImplemented***: if the provider does not implement this function.\n\n***NotFound***: if the specified entity does not exist.\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***InactiveProvider***: if the provider is inactive for the specified entity.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***QueryExecutionFault***: if an error is encountered while processing the\nquery request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/QueryPointInTimeReplica": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Query for the point-in-time replicas available at the target location.\n",
        "operationId": "VasaProvider_QueryPointInTimeReplica",
        "description": "Query for the point-in-time replicas available at the target location.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryPointInTimeReplicaRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of GroupOperationResult elements.\n\nEach of these elements is either *GroupErrorResult* or\n*QueryPointInTimeReplicaSuccessResult* or\n*QueryPointInTimeReplicaSummaryResult* for CDP capable replicators.\n\nThe fault in the result entry can be set to:\n- *NotFound* if the replication group identifier is not present.\n- *DuplicateEntry* if the replication group identifier is duplicate.\n- *TooMany* if the number of entries is too large to be returned in one call.\n- *QueryExecutionFault* for any other error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupOperationResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if groupId is null or empty, or queryParam is invalid.\n\n***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***InactiveProvider***: if the provider is inactive for the specified\nreplication groups.\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***QueryExecutionFault***: if an error is encountered while processing\nthe query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/QueryProviderInfo": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Get provider information.\n",
        "operationId": "VasaProvider_QueryProviderInfo",
        "description": "Get provider information.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsProviderInfo"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/QueryReplicationGroup": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Query for the replication group details.\n",
        "operationId": "VasaProvider_QueryReplicationGroup",
        "description": "Query for the replication group details.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryReplicationGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of *GroupOperationResult* elements.\n\nIf the input array is null or empty, VASA Provider needs to return all\navailable replication groups. Depending on the number of replication\ngroups to be returned, VASA Provider can return either a list of\n*GroupOperationResult* or a list of\n*QueryReplicationGroupSuccessResult*. However, VASA\nProvider should not return a hybrid result.\n\nIf the input array is not empty, VASA Provider needs to return an array\nof results, one for each entry in the input. Each entry in the returned\narray is either a *QueryReplicationGroupSuccessResult*\n(for success), or a *GroupErrorResult* (for failure).\nThe length of the result arrays must be the same as the input.\n\nThe fault in the result entry can be set to:\n- *NotFound* if the replication group identifier is not present.\n- *DuplicateEntry* if the replication group identifier is duplicate.\n- *TooMany* if the number of entries is too large to be returned in one call.\n- *QueryExecutionFault* for any other error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupOperationResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***InactiveProvider***: if the provider is inactive for the specified\nreplication groups.\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***QueryExecutionFault***: if an error is encountered while processing\nthe query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/QueryReplicationPeer": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Query for the replication peer fault domains.\n",
        "operationId": "VasaProvider_QueryReplicationPeer",
        "description": "Query for the replication peer fault domains.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryReplicationPeerRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An array of *QueryReplicationPeerResult*.\n\nIf the input array is null or empty, VASA provider needs to return\nresult for all available source FaultDomain(s). If the input array is\nnot empty, VASA Provider needs to return one entry in result for each\nentry in the input. The length of the input and result arrays must be\nsame in that case.\n\nThe fault in the result entry can be set to:\n- *NotFound* if the fault domain identifier is not present.\n- *DuplicateEntry* if the fault domain identifier is duplicate.\n- *TooMany* if the number of entries is too large to be returned in one call.\n- *QueryExecutionFault* for any other error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QueryReplicationPeerResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***InactiveProvider***: if the provider is inactive for the specified\nfault domains.\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***QueryExecutionFault***: if an error is encountered while processing\nthe query request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/VasaProviderReconnect_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Reconnect to the provider.\n",
        "operationId": "VasaProvider_VasaProviderReconnect_Task",
        "description": "Reconnect to the provider.\n\nThis API will be used to reconnect to a provider that\nis in \"disconnected\" state. If reconnecting fails due to InvalidCertificate exception,\nthat means the current provider certificate is expired or corrupted. Then user has to\nrecover the provider following these steps:\n1\\. Unregister the provider using *SmsStorageManager.UnregisterProvider_Task*\n2\\. Provision a new self signed certificate for the provider\n3\\. Register the provider using *SmsStorageManager.RegisterProvider_Task*\nIf the provider is not in \"disconnected\" state, this operation will be a no-op.\nNote: This API works only for providers that support VASA 2.0 and onwards.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidCertificate***: if the provider certificate is invalid\n\n***ProviderConnectionFailed***: if an error is encountered while reconnecting to\nthe provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/VasaProviderRefreshCertificate_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Refresh a CA signed certificate for the provider.\n",
        "operationId": "VasaProvider_VasaProviderRefreshCertificate_Task",
        "description": "Refresh a CA signed certificate for the provider.\n\nThis API will be used when provider\ncertificate is about to expire, but still within soft or hard limit window. If the\nprovider is in \"disconnected\" state, this operation will be a no-op.\nNote: This API works only for providers that support VASA 2.0 and onwards.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***CertificateRefreshFailed***: if an error is encountered while refreshing\nCA signed certificate for the provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateRefreshFailed"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/ReverseReplicateGroup_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Initiate replication in the reverse way, making the currently\n*FAILEDOVER* devices as sources.\n",
        "operationId": "VasaProvider_ReverseReplicateGroup_Task",
        "description": "Initiate replication in the reverse way, making the currently\n*FAILEDOVER* devices as sources.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReverseReplicateGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if groupId is null or empty.\n\n***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***ProviderOutOfResource***: if it is not possible to perform the operation\ndue to lack of resources.\n\n***InactiveProvider***: if the provider is inactive for the specified entity.\n\n***TooMany***: Thrown if the Provider is unable to handle the given set of\nreplication groups in one call. The client needs to call this method based\non the maxBatchSize specified in the TooMany fault. If the maxBatchSize is\nnot specified, the client is expected to call the function for each group\nindividually (i.e. maxBatchSize = 1).\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***SmsReplicationFault***: if an error is encountered while processing the request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/VasaProviderRevokeCertificate_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Revoke CA signed certificate of the provider.\n",
        "operationId": "VasaProvider_VasaProviderRevokeCertificate_Task",
        "description": "Revoke CA signed certificate of the provider.\n\nThis API will unregister the\nprovider automatically.\nNote: This API works only for providers that support VASA 2.0 and onwards.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***CertificateRevocationFailed***: if an error is encountered while revoking CA signed\ncertificate of the provider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateRevocationFailed"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/VasaProviderSync_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Issue a sync for the given Storage Array.\n",
        "operationId": "VasaProvider_VasaProviderSync_Task",
        "description": "Issue a sync for the given Storage Array.\n\n***Required privileges:*** StorageViews.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VasaProviderSyncRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if invalid input is provided.\n\n***ProviderSyncFailed***: if an error is encountered while\nexecuting sync operation for the\nprovider.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderSyncFailed"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/SyncReplicationGroup_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Synchronize the data between source and replica for the specified\nreplication group.\n",
        "operationId": "VasaProvider_SyncReplicationGroup_Task",
        "description": "Synchronize the data between source and replica for the specified\nreplication group.\n\nThis function will always be called at the replication\ntarget location.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SyncReplicationGroupRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if groupId is null or empty, or pitName is null.\n\n***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***ProviderOutOfResource***: if it is not possible to perform the operation\ndue to lack of resources.\n\n***InactiveProvider***: if the provider is inactive for the specified entity.\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***SmsReplicationFault***: if an error is encountered while processing the request.\n\n***TooMany***: Thrown if the Provider is unable to handle the given set of\nreplication groups in one call. The client needs to call this method based\non the maxBatchSize specified in the TooMany fault. If the maxBatchSize is\nnot specified, the client is expected to call the function for each group\nindividually (i.e. maxBatchSize = 1).\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/TestFailoverReplicationGroupStart_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Start a test failover for the specified replication groups.\n",
        "operationId": "VasaProvider_TestFailoverReplicationGroupStart_Task",
        "description": "Start a test failover for the specified replication groups.\n\nThis\nfunction will always be called at the replication target location.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TestFailoverReplicationGroupStartRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if testFailoverParam is null or contains invalid data.\n\n***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***ProviderOutOfResource***: if it is not possible to perform the operation\ndue to lack of resources.\n\n***InactiveProvider***: if the provider is inactive for the specified entity.\n\n***TooMany***: Thrown if the Provider is unable to handle the given set of\nreplication groups in one call. The client needs to call this method based\non the maxBatchSize specified in the TooMany fault. If the maxBatchSize is\nnot specified, the client is expected to call the function for each group\nindividually (i.e. maxBatchSize = 1).\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***SmsReplicationFault***: if an error is encountered while processing the request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/sms/VasaProvider/{moId}/TestFailoverReplicationGroupStop_Task": {
      "post": {
        "tags": [
          "VasaProvider"
        ],
        "summary": "Stop the ongoing test failover.\n",
        "operationId": "VasaProvider_TestFailoverReplicationGroupStop_Task",
        "description": "Stop the ongoing test failover.\n\nThis function will always be called at\nthe replication target location.\n\n***Required privileges:*** StorageViews.ConfigureService\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TestFailoverReplicationGroupStopRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidArgument***: if groupId is null or empty.\n\n***NotImplemented***: if the provider does not implement this function.\n\n***ProviderUnavailable***: if the provider is temporarily unavailable.\n\n***ProviderOutOfResource***: if it is not possible to perform the operation\ndue to lack of resources.\n\n***InactiveProvider***: if the provider is inactive for the specified\nreplication groups.\n\n***TooMany***: Thrown if the Provider is unable to handle the given set of\nreplication groups in one call. The client needs to call this method based\non the maxBatchSize specified in the TooMany fault. If the maxBatchSize is\nnot specified, the client is expected to call the function for each group\nindividually (i.e. maxBatchSize = 1).\n\n***ProviderBusy***: if the provider is busy and cannot process the request.\n\n***SmsReplicationFault***: if an error is encountered while processing the request.\n\n***NotSupportedByProvider***: if the provider does not support force operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmServiceInstance/{moId}/RetrieveContent": {
      "post": {
        "tags": [
          "VslmServiceInstance"
        ],
        "summary": "Retrieves the properties of the Storage Lifecycle Management service\ninstance.\n",
        "operationId": "VslmServiceInstance_RetrieveContent",
        "description": "Retrieves the properties of the Storage Lifecycle Management service\ninstance.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "Service instance properties that provide access to\nStorage Lifecycle Management managed objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VslmServiceInstanceContent"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmServiceInstance/{moId}/content": {
      "get": {
        "tags": [
          "VslmServiceInstance"
        ],
        "summary": "Contains references to Storage Lifecycle Management managed objects.\n",
        "operationId": "VslmServiceInstance_getContent",
        "description": "Contains references to Storage Lifecycle Management managed objects.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VslmServiceInstanceContent"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmSessionManager/{moId}/VslmLoginByToken": {
      "post": {
        "tags": [
          "VslmSessionManager"
        ],
        "summary": "Login to the VSLM service by using SSO token.\n",
        "operationId": "VslmSessionManager_VslmLoginByToken",
        "description": "Login to the VSLM service by using SSO token.\n\nVSLM will validate the user\ntoken from the context. The delegated token passed as a parameter will be\nused by VSLM to login to VC for authorization purposes.\nOnce login successfully returns, a new session is established for the\nclient. This session is only valid for the lifetime of the supplied\ndelegated token. Any calls made on a session which exceeds this lifetime\nwill result in a SecurityError. The client is expected to logout of the\ncurrent session and subsequently re-login with a new delegated token to\nestablish a new session.\n\n***Required privileges:*** System.Anonymous\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmLoginByTokenRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidLogin***: if there is no token provided or the token\ncould not be validated.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidLogin"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmSessionManager/{moId}/VslmLogout": {
      "post": {
        "tags": [
          "VslmSessionManager"
        ],
        "summary": "Logs out of the VSLM Service.\n",
        "operationId": "VslmSessionManager_VslmLogout",
        "description": "Logs out of the VSLM Service.\n\n***Required privileges:*** StoragLifecycle.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          }
        }
      }
    },
    "/vslm/VslmStorageLifecycleManager/{moId}/VslmQueryDatastoreInfo": {
      "post": {
        "tags": [
          "VslmStorageLifecycleManager"
        ],
        "summary": "Query the mapping of *Datacenter* and *Datastore*\nfor a specified datastore url.\n",
        "operationId": "VslmStorageLifecycleManager_VslmQueryDatastoreInfo",
        "description": "Query the mapping of *Datacenter* and *Datastore*\nfor a specified datastore url.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmQueryDatastoreInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns array of *VslmQueryDatastoreInfoResult*\nrepresenting the mapping between datastores and datacenters.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VslmQueryDatastoreInfoResult"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the specified datastoreUrl cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmStorageLifecycleManager/{moId}/VslmSyncDatastore": {
      "post": {
        "tags": [
          "VslmStorageLifecycleManager"
        ],
        "summary": "Sync the FCD info on the passed in datastore.\n",
        "operationId": "VslmStorageLifecycleManager_VslmSyncDatastore",
        "description": "Sync the FCD info on the passed in datastore.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmSyncDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If matching datastore could not be found for the given\ndatastoreMoId.\n\n***VslmSyncFault***: If an exception occured during datastore sync.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmTask/{moId}/VslmCancelTask": {
      "post": {
        "tags": [
          "VslmTask"
        ],
        "summary": "Cancel a running or queued task.\n",
        "operationId": "VslmTask_VslmCancelTask",
        "description": "Cancel a running or queued task.\n\nA task may only be canceled if it is\ncancelable. Multiple cancel requests will be treated as a single\ncancellation request. Canceling a completed task will throw an\nInvalidState exception.\n\nIf a task is canceled, its runtime state will be set to\n*error* and the *VslmTaskInfo.cancelled* flag will\nbe set to true.\n\nA cancel operation is asynchronous. The operation may return before the\ntask is canceled.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidState***: - if the task is already canceled or completed.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidState"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmTask/{moId}/VslmQueryInfo": {
      "post": {
        "tags": [
          "VslmTask"
        ],
        "summary": "Get detailed information about this task.\n",
        "operationId": "VslmTask_VslmQueryInfo",
        "description": "Get detailed information about this task.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "TaskInfo\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VslmTaskInfo"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmTask/{moId}/VslmQueryTaskResult": {
      "post": {
        "tags": [
          "VslmTask"
        ],
        "summary": "Get the result of the task.\n",
        "operationId": "VslmTask_VslmQueryTaskResult",
        "description": "Get the result of the task.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/Any"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmAttachDisk_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Attach an existing disk to this virtual machine.\n",
        "operationId": "VslmVStorageObjectManager_VslmAttachDisk_Task",
        "description": "Attach an existing disk to this virtual machine.\n\nA minimum virtual machine version of 'vmx-13' is required for this\noperation to succeed. If a compatible VM version is not satisfied,\na *DeviceUnsupportedForVmVersion* fault will be thrown.\n\n*VslmSyncFault* will set in the task error if the\nthe FCD was attached successfully in the backend, however, there\nwas a failure in syncing the datastore or FCD. The attach disk\noperation is not idempotent, implying, any attempt to re-attach\nthe FCD to the same VM would cause an error. The sync fault can\nbe ignored safely as Pandora DB does not track FCDs attached\nto VMs as of vSphere 7.0.\n\n***Required privileges:*** VirtualMachine.Config.AddExistingDisk\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmAttachDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: if the disk object cannot be found.\n\n***VmConfigFault***: if the virtual machine's configuration is invalid.\n\n***FileFault***: if there is a problem creating or accessing the virtual\nmachine's files for this operation.\n\n***InvalidState***: if the operation cannot be performed in the current\nstate of the virtual machine. For example, because the virtual\nmachine's configuration is not available.\n\n***InvalidDatastore***: If the datastore cannot be found or inaccessible.\n\n***InvalidController***: If the specified controller cannot be found or\nthe specified unitNumber is already taken, or\nthe controller has no free slots.\n\n***MissingController***: If the virtual machine has no or more than one\navailable controllers when controllerKey is\nunset.\n\n***DeviceUnsupportedForVmVersion***: If the virtual machine's version is\nincompatible for the given device.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmAttachTagToVStorageObject": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Attach a tag to a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmAttachTagToVStorageObject",
        "description": "Attach a tag to a virtual storage object.\n\nRequires privilege InventoryService.Tagging.AttachTag on root folder\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmAttachTagToVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If the specified category or tag cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmClearVStorageObjectControlFlags": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Clear control flags on VStorageObject.\n",
        "operationId": "VslmVStorageObjectManager_VslmClearVStorageObjectControlFlags",
        "description": "Clear control flags on VStorageObject.\n\nThe control flags are defined in\n*vslmVStorageObjectControlFlag_enum*.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmClearVStorageObjectControlFlagsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed.\n\n***NotFound***: If specified virtual storage object cannot\nbe found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmCloneVStorageObject_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Clone a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmCloneVStorageObject_Task",
        "description": "Clone a virtual storage object.\n\nRequires Datastore.FileManagement privilege on both source and\ndestination datastore.\n\n*VslmSyncFault* will set in the task error if the\ncloneVStorageObject completed successfully but the datastore\nsynchronization failed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmCloneVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while cloning the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object cannot be\nfound.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmCreateDisk_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Create a virtual disk, which is a storage object with\n*disk*\nas consumption type.\n",
        "operationId": "VslmVStorageObjectManager_VslmCreateDisk_Task",
        "description": "Create a virtual disk, which is a storage object with\n*disk*\nas consumption type.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk object is created.\n\n*VslmSyncFault* will set in the task error if the\ncreateDisk completed successfully in the backed but the datastore\nsynchronization or FCD retrieval failed. The sync fault can be ignored\nwith the risk of Pandora not recognizing the FCD or Pandora DB\nmissing the FCD, consequently, affecting the return of\n*VslmVStorageObjectManager.VslmListVStorageObjectForSpec* and *VslmVStorageObjectManager.VslmRetrieveVStorageObjects*\nAPIs.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmCreateDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to monitor\nmonitor the operation. The *info.result*\nproperty in the *Task* contains the newly created\n*VStorageObject* upon success.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when creating the virtual disk.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmCreateDiskFromSnapshot_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Creates a new Disk from given snapshot of a VStorageObject.\n",
        "operationId": "VslmVStorageObjectManager_VslmCreateDiskFromSnapshot_Task",
        "description": "Creates a new Disk from given snapshot of a VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n*VslmSyncFault* will set in the task error if the\ncreateDiskFromSnapshot completed successfully but the datastore\nsynchronization failed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmCreateDiskFromSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmCreateSnapshot_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Creates a snapshot of a given VStorageObject.\n",
        "operationId": "VslmVStorageObjectManager_VslmCreateSnapshot_Task",
        "description": "Creates a snapshot of a given VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmCreateSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmDeleteSnapshot_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Deletes a given snapshot of a VStorageObject.\n",
        "operationId": "VslmVStorageObjectManager_VslmDeleteSnapshot_Task",
        "description": "Deletes a given snapshot of a VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmDeleteSnapshotRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmDeleteVStorageObject_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Delete a virtual storage object and its associated backings.\n",
        "operationId": "VslmVStorageObjectManager_VslmDeleteVStorageObject_Task",
        "description": "Delete a virtual storage object and its associated backings.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n*VslmSyncFault* will set in the task error if the\ndelete of the FCD succeeded in the backend, however, there was a\nissue with syncing the datastore. The error can be ignored with\nthe anticipation of Pandora resolving this automatically and the\nrisk of Pandora DB having stale FCDs consequently affecting the\nreturn of *VslmVStorageObjectManager.VslmListVStorageObjectForSpec* and\n*VslmVStorageObjectManager.VslmRetrieveVStorageObjects* APIs.\nAny subsequent operation on the FCD is guranteed to fail.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmDeleteVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when deleting the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be deleted.\n\n***TaskInProgress***: If the virtual storage object is busy.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmDetachTagFromVStorageObject": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Detach a tag from a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmDetachTagFromVStorageObject",
        "description": "Detach a tag from a virtual storage object.\n\nRequires privilege InventoryService.Tagging.AttachTag on root folder\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmDetachTagFromVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***NotFound***: If the specified category or tag cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmExtendDisk_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n",
        "operationId": "VslmVStorageObjectManager_VslmExtendDisk_Task",
        "description": "Expand the capacity of a virtual disk, which is a storage object with\n*disk*, to the new\ncapacity.\n\nIf new capacity is smaller than current disk capacity, then\noperation fails due to invalid capacity. If new capacity is greater\nthan current disk capacity, then operation proceeds. If new capacity\nis equal to current disk ccapcity, then operation succeeds without\nany actual extension.\nThe extended disk region will be the same as the original disk:\n\\- For a zerothick disk, the extended disk region will be zeroedthick.\n\\- For an eagerzerothick disk, the extended disk region will be\neagerzeroedthick\n\\- A thin-provisioned disk will always be extended as a thin-provisioned\ndisk.\n\n*VslmSyncFault* will set in the task error if the\nextendDisk completed successfully but the datastore\nsynchronization failed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmExtendDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while extending the virtual disk.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be extended.\n\n***TaskInProgress***: If the virtual storage object is busy.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmInflateDisk_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Inflate a sparse or thin-provisioned virtual disk up to the full size.\n",
        "operationId": "VslmVStorageObjectManager_VslmInflateDisk_Task",
        "description": "Inflate a sparse or thin-provisioned virtual disk up to the full size.\n\nAdditional space allocated to the disk as a result of this operation\nwill be filled with zeros.\n\nCurrently inflateDisk API only supports the following combinations:\nValid provisioning type: THIN;\nValid Datastore: VMFS, NFS.\nInflating a disk is not applicable for VVol/VSAN datastore.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmInflateDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while inflating the virtual disk.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be extended.\n\n***TaskInProgress***: If the virtual storage object is busy.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmListTagsAttachedToVStorageObject": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Lists all tags attached to virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmListTagsAttachedToVStorageObject",
        "description": "Lists all tags attached to virtual storage object.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmListTagsAttachedToVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of Tag-association tuples associated with the\nvirtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VslmTagEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the specified category or tag cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmListVStorageObjectsAttachedToTag": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Lists all virtual storage objects attached to the tag.\n",
        "operationId": "VslmVStorageObjectManager_VslmListVStorageObjectsAttachedToTag",
        "description": "Lists all virtual storage objects attached to the tag.\n\n***Required privileges:*** System.Read\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmListVStorageObjectsAttachedToTagRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of IDs of the virtual storage objects.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ID"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the specified category or tag cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmListVStorageObjectForSpec": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "List virtual storage objects matching all the\n*VslmVsoVStorageObjectQuerySpec*.\n",
        "operationId": "VslmVStorageObjectManager_VslmListVStorageObjectForSpec",
        "description": "List virtual storage objects matching all the\n*VslmVsoVStorageObjectQuerySpec*.\n\nThe results are determined\nby ANDing the *VslmVsoVStorageObjectQuerySpec* while ORing each\nof the values specified as a part of the\n*VslmVsoVStorageObjectQuerySpec.queryValue* field. Currently,\nonly a single value in *VslmVsoVStorageObjectQuerySpec.queryValue*\nis supported.\nExpect that not all results will be returned. If all results are not\nreturned, *VslmVsoVStorageObjectQueryResult.allRecordsReturned*\nflag will be set to false. Results will be returned in\n*VslmVsoVStorageObjectQueryResult.id* order. To query for addtional\nobjects, \"add ID &gt; last ID returned\" to the query and call\n*VslmVStorageObjectManager.VslmListVStorageObjectForSpec* again.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmListVStorageObjectForSpecRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "*VslmVsoVStorageObjectQueryResult* array containing the\nlist of IDs of the virtual storage objects sorted in ascending\norder and matching the query.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VslmVsoVStorageObjectQueryResult"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmQueryChangedDiskAreas": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Get a list of areas of a virtual disk that have been modified since a\nwell-defined point in the past.\n",
        "operationId": "VslmVStorageObjectManager_VslmQueryChangedDiskAreas",
        "description": "Get a list of areas of a virtual disk that have been modified since a\nwell-defined point in the past.\n\nThe beginning of the change interval is\nidentified by \"changeId\", while the end of the change interval is implied\nby the snapshot ID passed in.\n\nNote that the result of this function may contain \"false positives\"\n(i.e: flag areas of the disk as modified that are not). However, it is\nguaranteed that no changes will be missed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmQueryChangedDiskAreasRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a data structure specifying extents of the virtual disk\nthat have changed since the thime the changeId string was\nobtained.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiskChangeInfo"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object or snapshot\ncannot be found.\n\n***FileFault***: if the virtual disk files cannot be accessed/queried.\n\n***InvalidState***: if change tracking is not supported for this\nparticular disk.\n\n***InvalidArgument***: if startOffset is beyond the end of the virtual\ndisk or changeId is invalid.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmQueryGlobalCatalogSyncStatus": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Gets the synchronization status of the Global Catalog.\n",
        "operationId": "VslmVStorageObjectManager_VslmQueryGlobalCatalogSyncStatus",
        "description": "Gets the synchronization status of the Global Catalog.\n\nThis API returns an\narray of DatastoreSyncStatuses showing the synchronization status for each\ndatastore currently being tracked by the Global Catalog. This can be used\nto see if the Global Catalog search results are fully up-to-date and also to\ncheck if the Global Catalog is making progress on bringing a datastore's\ninformation up to date.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VslmDatastoreSyncStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmQueryGlobalCatalogSyncStatusForDatastore": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Gets the synchronization state of the Global Catalog for the specified datastore.\n",
        "operationId": "VslmVStorageObjectManager_VslmQueryGlobalCatalogSyncStatusForDatastore",
        "description": "Gets the synchronization state of the Global Catalog for the specified datastore.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmQueryGlobalCatalogSyncStatusForDatastoreRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The sync status of the datastore\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "$ref": "#/components/schemas/VslmDatastoreSyncStatus"
                }
              }
            }
          },
          "500": {
            "description": "***NotFound***: If the specified datastore cannot be found\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmReconcileDatastoreInventory_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Reconcile the datastore inventory info of virtual storage objects.\n",
        "operationId": "VslmVStorageObjectManager_VslmReconcileDatastoreInventory_Task",
        "description": "Reconcile the datastore inventory info of virtual storage objects.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmReconcileDatastoreInventoryRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRegisterDisk": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Promote a virtual disk to a First Class Disk.\n",
        "operationId": "VslmVStorageObjectManager_VslmRegisterDisk",
        "description": "Promote a virtual disk to a First Class Disk.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual disk resides.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRegisterDiskRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The registered virtual storage object for the disk.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObject"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while registering the virtual disk.\n\n***InvalidDatastore***: If datastore cannot be found or the operation\ncannot be performed on the datastore.\n\n***AlreadyExists***: If disk is already registered as a\nvirtual storage object.\n\n***VslmSyncFault***: If an error occurs during datastore synchornization,\nimplies the registerDisk completed successfully,\nhowever, there was an exception during datastore\nsynchornization.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRelocateVStorageObject_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Relocate a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmRelocateVStorageObject_Task",
        "description": "Relocate a virtual storage object.\n\nRequires Datastore.FileManagement privilege on both source and\ndestination datastore.\n\n*VslmSyncFault* will set in the task error if the\nrelocateVStorageObject completed successfully but the datastore\nsynchronization failed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRelocateVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while relocating the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed and cannot be relocated.\n\n***NotFound***: If specified virtual storage object cannot\nbe found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRenameVStorageObject": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Rename a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmRenameVStorageObject",
        "description": "Rename a virtual storage object.\n\n*VslmSyncFault* is thrown when\nthe underlying rename operation of the FCD succeeded, however, there\nwas a issue with syncing the datastore or FCD. Rename operation of the\nFCD is not idempotent, implying, any attempt to rename the FCD with it's\ncurrent name would result in a error. The sync fault can be ignored\nwith the risk of Pandora DB having stale name, consequently,\naffecting the return of *VslmVStorageObjectManager.VslmListVStorageObjectForSpec*\nand *VslmVStorageObjectManager.VslmRetrieveVStorageObjects* APIs.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRenameVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***FileFault***: If an error occurs while renaming the virtual storage\nobject.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***VslmSyncFault***: If an error occurs during datastore synchornization,\nimplies the renameVStorageObject completed\nsuccessfully, however, there was an exception during\ndatastore synchornization.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRetrieveSnapshotDetails": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Retrieves snapshot disk details of a given snapshot.\n",
        "operationId": "VslmVStorageObjectManager_VslmRetrieveSnapshotDetails",
        "description": "Retrieves snapshot disk details of a given snapshot.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRetrieveSnapshotDetailsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObjectSnapshotDetails"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRetrieveSnapshotInfo": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Retrieves snapshot information of a given VStorageObject.\n",
        "operationId": "VslmVStorageObjectManager_VslmRetrieveSnapshotInfo",
        "description": "Retrieves snapshot information of a given VStorageObject.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRetrieveSnapshotInfoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObjectSnapshotInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRetrieveVStorageInfrastructureObjectPolicy": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Retrieve FCD infrastructure object SBPM policy on given datastore.\n",
        "operationId": "VslmVStorageObjectManager_VslmRetrieveVStorageInfrastructureObjectPolicy",
        "description": "Retrieve FCD infrastructure object SBPM policy on given datastore.\n\nOnly support VSAN datastore.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage infrastructure object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRetrieveVStorageInfrastructureObjectPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The policy object of virtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/vslmInfrastructureObjectPolicy"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRetrieveVStorageObject": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Retrieve a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmRetrieveVStorageObject",
        "description": "Retrieve a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRetrieveVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The required virtual storage object.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObject"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when retrieving the virtual object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRetrieveVStorageObjectAssociations": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Retrieve vm associations for each virtual storage object in the query.\n",
        "operationId": "VslmVStorageObjectManager_VslmRetrieveVStorageObjectAssociations",
        "description": "Retrieve vm associations for each virtual storage object in the query.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRetrieveVStorageObjectAssociationsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of VStorageObjectVmAssociations which provides FCD id\nto vm associations mapping.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VslmVsoVStorageObjectAssociations"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRetrieveVStorageObjectMetadata": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Retrieve metadata KV pairs from a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmRetrieveVStorageObjectMetadata",
        "description": "Retrieve metadata KV pairs from a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRetrieveVStorageObjectMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "returns the array of key value pair\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KeyValue"
                  }
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found\nor inaccessible.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRetrieveVStorageObjectMetadataValue": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Retrieve the metadata value by key from a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmRetrieveVStorageObjectMetadataValue",
        "description": "Retrieve the metadata value by key from a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRetrieveVStorageObjectMetadataValueRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "returns the value for the key\n",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found\nor inaccessible.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***KeyNotFound***: If specified key cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRetrieveVStorageObjectState": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Retrieve a virtual storage object state.\n",
        "operationId": "VslmVStorageObjectManager_VslmRetrieveVStorageObjectState",
        "description": "Retrieve a virtual storage object state.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRetrieveVStorageObjectStateRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The required virtual storage object state.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VStorageObjectStateInfo"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs when retrieving the virtual object\nstate.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRetrieveVStorageObjects": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Retrieves details of a list of virtual storage objects from cache.\n",
        "operationId": "VslmVStorageObjectManager_VslmRetrieveVStorageObjects",
        "description": "Retrieves details of a list of virtual storage objects from cache.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRetrieveVStorageObjectsRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The array of *VslmVsoVStorageObjectResult* virtual\nstorage objects corresponding to the input.\n",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VslmVsoVStorageObjectResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmRevertVStorageObject_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Reverts to a given snapshot of a VStorageObject.\n",
        "operationId": "VslmVStorageObjectManager_VslmRevertVStorageObject_Task",
        "description": "Reverts to a given snapshot of a VStorageObject.\n\nThis operation is supported on detached VirtualDisks\nDuring revert all the snapshots which were taken after the specified\nsnapshot would get deleted.\n\nE.g. Consider Disk with 4 snapshots\n\nBaseDisk -$gt; Snap-2 -$gt; Snap-3 -$gt; Snap-4 -$gt; Running-Point\n\nIf user chooses to revert to snap-2 then snap-4 and snap-3 would also\nbe deleted. After revert operation disk would have below configuration:\n\nBaseDisk -$gt; Snap-2 -$gt; Running-Point\n\nRequires Datastore.FileManagement privilege.\n\n*VslmSyncFault* will set in the task error if the\nrevertVStorageObject completed successfully but the datastore\nsynchronization failed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmRevertVStorageObjectRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while snapshotting the virtual\nstorage object.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmScheduleReconcileDatastoreInventory": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Schedules reconcile of the inventory info of virtual storage objects on\none of the hosts that is connected with the datastore.\n",
        "operationId": "VslmVStorageObjectManager_VslmScheduleReconcileDatastoreInventory",
        "description": "Schedules reconcile of the inventory info of virtual storage objects on\none of the hosts that is connected with the datastore.\n\nThis method just\nschedules the reconcile operation for the nearby future and returns. Note\nthat since the reconcile operation will be executed after this method\nalready returns the success of this method should not be considered as\nsuccess of the actual reconcile operation.\n\nRequires Datastore.FileManagement privilege.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmScheduleReconcileDatastoreInventoryRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmSetVStorageObjectControlFlags": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Set control flags on VStorageObject.\n",
        "operationId": "VslmVStorageObjectManager_VslmSetVStorageObjectControlFlags",
        "description": "Set control flags on VStorageObject.\n\nThe control flags are defined in\n*vslmVStorageObjectControlFlag_enum*.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmSetVStorageObjectControlFlagsRequestType"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content\n"
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on\nthe datastore.\n\n***InvalidState***: If the operation cannot be performed on the disk.\nThe disk may be consumed.\n\n***NotFound***: If specified virtual storage object cannot\nbe found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmUpdateVStorageInfrastructureObjectPolicy_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Assigns specified SBPM policy to the given FCD infrastructure object.\n",
        "operationId": "VslmVStorageObjectManager_VslmUpdateVStorageInfrastructureObjectPolicy_Task",
        "description": "Assigns specified SBPM policy to the given FCD infrastructure object.\n\nOnly support VSAN datastore.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage infrastructure object is located.\n\n*VslmSyncFault* will set in the task error if the\nupdateVStorageInfrastructureObjectPolicy completed successfully\nbut the datastore synchronization failed.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmUpdateVStorageInfrastructureObjectPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***InvalidState***: If there is issue with profile spec.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmUpdateVstorageObjectCrypto_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Update the storage crypto on a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmUpdateVstorageObjectCrypto_Task",
        "description": "Update the storage crypto on a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmUpdateVstorageObjectCryptoRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while updating the virtual storage\nobject policy.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***TaskInProgress***: If the virtual storage object is busy.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmUpdateVStorageObjectMetadata_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Update metadata KV pairs to a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmUpdateVStorageObjectMetadata_Task",
        "description": "Update metadata KV pairs to a virtual storage object.\n\nAnd this API is by\ndesign supposed to be used for all of the addition, modification and\ndeletion operations of metadata KV pairs.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n*VslmSyncFault* will set in the task error if the\nupdateVStorageObjectMetadata completed successfully but the datastore\nsynchronization or FCD retrieval failed. The sync fault can\nbe ignored with the risk of Pandora DB having stale metadata information\nconsequently affecting the return of *VslmVStorageObjectManager.VslmListVStorageObjectForSpec*\nand *VslmVStorageObjectManager.VslmRetrieveVStorageObjects* APIs.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmUpdateVStorageObjectMetadataRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***InvalidDatastore***: If the operation cannot be performed on the\ndatastore, such as datastore cannot be found\nor inaccessible.\n\n***InvalidState***: If the operation cannot be performed on the disk.\n\n***NotFound***: If specified virtual storage object cannot be found.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    },
    "/vslm/VslmVStorageObjectManager/{moId}/VslmUpdateVstorageObjectPolicy_Task": {
      "post": {
        "tags": [
          "VslmVStorageObjectManager"
        ],
        "summary": "Update the storage policy on a virtual storage object.\n",
        "operationId": "VslmVStorageObjectManager_VslmUpdateVstorageObjectPolicy_Task",
        "description": "Update the storage policy on a virtual storage object.\n\nRequires Datastore.FileManagement privilege on the datastore where the\nvirtual storage object is located.\n\n***Required privileges:*** System.View\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/moId"
          }
        ],
        "security": [
          {
            "Session": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VslmUpdateVstorageObjectPolicyRequestType"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This method returns a *Task* object with which to\nmonitor the operation.\n\nRefers instance of *Task*.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedObjectReference"
                }
              }
            }
          },
          "500": {
            "description": "***FileFault***: If an error occurs while updating the virtual storage\nobject policy.\n\n***NotFound***: If the specified virtual storage object cannot be\nfound.\n\n***InvalidDatastore***: If the operation cannot be performed on the\ndatastore.\n\n***TaskInProgress***: If the virtual storage object is busy.\n\n***VslmFault***: If a VSLM internal server error occurred.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodFault"
                }
              }
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Alarm",
      "description": "This managed object type defines an alarm that is triggered and\nan action that occurs due to the triggered alarm when certain conditions\nare met on a specific *ManagedEntity* object.\n"
    },
    {
      "name": "AlarmManager",
      "description": "The alarm manager is a singleton object for managing alarms\nwithin a service instance.\n"
    },
    {
      "name": "AuthorizationManager",
      "description": "This managed object provides operations to query and update\nroles and permissions.\n\n**Privileges** are the basic individual rights required to\nperform operations. They are statically defined and\nnever change for a single version of a product. Examples\nof privileges are &quot;Power on a virtual machine&quot;\nor &quot;Configure a host.&quot;\n\n**Roles** are aggregations of privileges, used for convenience.\nFor user-defined roles, the system-defined privileges, \"System.Anonymous\",\n\"System.View\", and \"System.Read\" are always present.\n\n**Permissions** are the actual access-control rules. A\npermission is defined on a ManagedEntity and\nspecifies the user or group (&quot;principal&quot;) to which\nthe rule applies. The role specifies the\nprivileges to apply, and the propagate flag\nspecifies whether or not the rule applies to sub-objects\nof the managed entity.\n\nA ManagedEntity may have multiple permissions,\nbut may have only one permission per user or group. If, when logging\nin, a user has both a user permission and a group permission\n(as a group member) for the same entity, then the\nuser-specific permission takes precedent. If there is no\nuser-specific permission, but two or more group permissions\nare present, and the user is a member of the groups, then the\nprivileges are the union of the specified roles.\n\nManaged entities may be collected together into a &quot;complex entity&quot; for\nthe purpose of applying permissions consistently. Complex entities may have a\nDatacenter, ComputeResource, or ClusterComputeResource as a parent, with other\nchild managed objects as additional parts of the complex entity:\n- A Datacenter's child objects are the root virtual machine and host Folders.\n- A ComputeResource's child objects are the root ResourcePool and HostSystem.\n- A ClusterComputeResource has only the root ResourcePool as a child object.\n  \nChild objects in a complex entity are forced to inherit permissions from the\nparent object. When query operations are used to discover permissions on child\nobjects of complex entities, different results may be returned for the owner of the\npermission. In some cases, the child object of the complex entity is returned as\nthe object that defines the permission, and in other cases, the parent from which\nthe permission is propagated is returned as the object that defines the permission.\nIn both cases, the information about the owner of the permission is correct, since\nthe entities within a complex entity are considered equivalent. Permissions\ndefined on complex entities are always applicable on the child entities,\nregardless of the propagation flag, but may only be defined or modified on the\nparent object.\n\nIn a group of fault-tolerance (FT) protected VirtualMachines, the secondary\nVirtualMachines are forced to inherit permissions from the primary VirtualMachine.\nQueries to discover permissions on FT secondary VMs always return the primary VM\nas the object that defines the permissions. Permissions defined on an FT primary\nVM are always applicable on its secondary VMs, but can only be defined or modified\non the primary VM.\n"
    },
    {
      "name": "CertificateManager",
      "description": "CertificateManager provides an interface for managing the SSL\ncertificates used by the ESX server.\n"
    },
    {
      "name": "ClusterComputeResource",
      "description": "The *ClusterComputeResource* data object aggregates the compute\nresources of associated *HostSystem* objects into a single\ncompute resource for use by virtual machines.\n\nThe cluster services\nsuch as HA (High Availability), DRS (Distributed Resource Scheduling),\nand EVC (Enhanced vMotion Compatibility), enhance the utility of this\nsingle compute resource.\n\nUse the *Folder*.*Folder.CreateClusterEx* method\nto create an instance of this object.\n"
    },
    {
      "name": "ClusterEVCManager",
      "description": "Controls Enhanced vMotion Compatibility mode for a particular cluster given\nby *ClusterEVCManager.managedCluster*.\n\nVMware Enhanced vMotion Compatibility (EVC) facilitates vMotion between\ndifferent CPU generations through the use of Intel Flex Migration and AMD-V\nExtended Migration technologies. When enabled for a cluster, EVC ensures\nthat all VMs are vMotion-compatible with the CPUs of all hosts in the\ncluster.\n\nSee also *EVCMode*.\n"
    },
    {
      "name": "ComputeResource",
      "description": "Represents a set of physical compute resources for a set of virtual machines.\n\nThe base type *ComputeResource*, when instantiated by calling\n*Folder.AddStandaloneHost_Task*, represents a single host. The subclass\n*ClusterComputeResource* represents a cluster of hosts and adds distributed management\nfeatures such as availability and resource scheduling.\n\nA *ComputeResource* always has a root *ResourcePool* associated with it.\nCertain types of clusters such as those with VMware DRS enabled and standalone hosts\n(ESX Server 3) support the creation of *ResourcePool* hierarchies.\n"
    },
    {
      "name": "ContainerView",
      "description": "The *ContainerView* managed object provides a means of monitoring the contents of\na single container and, optionally, other containers.\n\nYou can use a *ContainerView* with a *PropertyCollector* method\nto retrieve data or receive notification of changes. For information about using views\nwith the *PropertyCollector*, see the description of *ViewManager*.\n\nWhen you invoke the *ViewManager.CreateContainerView* method, you specify\na managed object instance that provides the starting point for object selection.\nYou can use the following managed objects as the basis of a container view:\n- *Folder*\n- *Datacenter*\n- *ComputeResource*\n- *ResourcePool*\n- *HostSystem*\n  \nOnce you have created the view, the *ManagedObjectView.view* list\nalways represents the current configuration of the virtual environment and reflects\nany subsequent changes that occur.\n"
    },
    {
      "name": "CryptoManager",
      "description": "Singleton Managed Object used to manage cryptographic keys.\n"
    },
    {
      "name": "CryptoManagerKmip",
      "description": "Singleton Managed Object used to manage cryptographic keys.\n"
    },
    {
      "name": "CustomFieldsManager",
      "description": "The CustomFieldsManager object is used to add and remove custom fields\nto managed entities.\n\nThe custom fields values set on managed entities are available through the\n*ManagedEntity.customValue* property and through the summary objects\nfor *VirtualMachine* and *HostSystem*. They are not available\ndirectly through this managed object.\n\nThis functionality is only available through VirtualCenter.\n"
    },
    {
      "name": "CustomizationSpecManager",
      "description": "The CustomizationSpecManager managed object is used to manage\ncustomization specifications stored on the VirtualCenter server.\n"
    },
    {
      "name": "Datacenter",
      "description": "The *Datacenter* managed object provides the interface to the common container\nobject for hosts, virtual machines, networks, and datastores.\n\nThese entities\nmust be under a distinct datacenter in the inventory, and datacenters may not\nbe nested under other datacenters.\n\nEvery *Datacenter* has the following set of dedicated folders. These folders are empty\nuntil you create entities for the Datacenter.\n- A folder for *VirtualMachine*, template, and\n  *VirtualApp* objects.\n- A folder for a *ComputeResource* hierarchy.\n- A folder for *Network*, *DistributedVirtualSwitch*,\n  and *DistributedVirtualPortgroup* objects.\n- A folder for *Datastore* objects.\n  \nFor a visual representation of the organization of objects in a vCenter\nhierarchy, see the description of the *ServiceInstance* object.\n"
    },
    {
      "name": "Datastore",
      "description": "Represents a storage location for virtual machine files.\n\nA storage location can be a\nVMFS volume, a directory on Network Attached Storage, or a local file system path.\n\nA datastore is platform-independent and host-independent. Therefore, datastores do\nnot change when the virtual machines they contain are moved between hosts. The scope\nof a datastore is a datacenter; the datastore is uniquely named within the\ndatacenter.\n\nAny reference to a virtual machine or file accessed by any host within the\ndatacenter must use a datastore path. A datastore path has the form\n\"\\[&lt;datastore&gt;\\] &lt;path&gt;\", where &lt;datastore&gt; is the datastore name,\nand &lt;path&gt; is a slash-delimited path from the root of the datastore. An\nexample datastore path is \"\\[storage\\] path/to/config.vmx\".\n\nYou may use the following characters in a path, but not in a datastore name:\nslash (/), backslash (\\\\), and percent (%).\n\nAll references to files in the VIM API are implicitly done using datastore paths.\n\nWhen a client creates a virtual machine, it may specify the name of\nthe datastore, omitting the path; the system, meaning VirtualCenter or the host,\nautomatically assigns filenames and creates directories on the given datastore. For\nexample, specifying My\\_Datastore as a location for a virtual machine called MyVm\nresults in a datastore location of My\\_Datastore\\\\MyVm\\\\MyVm.vmx.\n\nDatastores are configured per host. As part of host configuration, a HostSystem can\nbe configured to mount a set of network drives. Multiple hosts\nmay be configured to point to the same storage location. There exists only one\nDatastore object per Datacenter, for each such shared location. Each Datastore\nobject keeps a reference to the set of hosts that have mounted the datastore. A\nDatastore object can be removed only if no hosts currently have the datastore\nmounted.\n\nThus, managing datastores is done both at the host level and the datacenter level.\nEach host is configured explicitly with the set of datastores it can access. At the\ndatacenter, a view of the datastores across the datacenter is shown.\n"
    },
    {
      "name": "DatastoreNamespaceManager",
      "description": "The DatastoreNamespaceManager managed object exposes APIs for\nmanipulating top-level directories of datastores which do not\nsupport the traditional top-level directory creation.\n\nSee also *DatastoreCapability.topLevelDirectoryCreateSupported*.\n"
    },
    {
      "name": "DiagnosticManager",
      "description": "Provides an interface for obtaining diagnostic information on a host\n(e.g.\n\ngenerating and retrieving support logs on the host, reading audit\nrecords).\nFor VirtualCenter, this includes the log files for the server daemon.\nFor an ESX Server host, this includes detailed log files for the VMkernel.\n"
    },
    {
      "name": "DistributedVirtualPortgroup",
      "description": "The *DistributedVirtualPortgroup* managed object\ndefines how hosts and virtual machines connect to a network.\n\nA distributed virtual portgroup specifies *DistributedVirtualPort*\nconfiguration options for the ports on a *DistributedVirtualSwitch*.\nA portgroup also represents a *Network* entity in the datacenter.\n- To configure host access by portgroup, set the portgroup in the host virtual NIC specification\n  (*HostVirtualNicSpec*.*HostVirtualNicSpec.portgroup*).\n- To configure virtual machine access by portgroup, set the portgroup\n  in the virtual Ethernet card backing\n  (*VirtualEthernetCard*.*VirtualDevice.backing*.*VirtualEthernetCardDistributedVirtualPortBackingInfo.port*.*DistributedVirtualSwitchPortConnection.portgroupKey*).\n  \nWhen you use a portgroup for network access, the Server will create a port according\nto *DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type*.\n"
    },
    {
      "name": "DistributedVirtualSwitch",
      "description": "A *DistributedVirtualSwitch* managed object is a virtual network\nswitch that is located on a vCenter Server.\n\nA distributed virtual switch\nmanages configuration for proxy switches (*HostProxySwitch*).\nA proxy switch is located on an ESXi host that is managed by the vCenter\nServer and is a member of the switch.\nA distributed switch also provides virtual port state management\nso that port state is maintained when vCenter Server operations\nmove a virtual machine from one host to another.\n\nA proxy switch performs network I/O to support the following network traffic\nand operations:\n- Network traffic between virtual machines on any hosts that are members\n  of the distributed virtual switch.\n- Network traffic between virtual machines that uses a distributed switch\n  and a virtual machine that uses a VMware standard switch.\n- Network traffic between a virtual machine and a remote system\n  on a physical network connected to the ESXi host.\n- vSphere system operations to support capabilities\n  such as VMotion or High Availability.\n  \nA *DistributedVirtualSwitch* is the base distributed\nswitch implementation. It supports a VMware distributed virtual\nswitch implementation and it supports third party distributed\nswitch implementations. The base implementation provides\nthe following capabilities\n(*DVSFeatureCapability*):\n- NIC teaming\n- Network I/O control\n- Network resource allocation\n- Quality of service tag support\n- User-defined resource pools\n- I/O passthrough (VMDirectPath Gen2)\n  \nA *VmwareDistributedVirtualSwitch*\nsupports the following additional capabilities\n(*DVSFeatureCapability* and\n*VMwareDVSFeatureCapability*):\n- Backup, restore, and rollback for a VMware distributed virtual switch\n  and its associated portgroups.\n- Maximum Transmission Unit (MTU) configuration.\n- Health check operations for NIC teaming and VLAN/MTU support.\n- Monitoring switch traffic using Internet Protocol Flow Information Export (IPFIX).\n- Link Layer Discovery Protocol (LLDP).\n- Virtual network segmentation using a Private VLAN (PVLAN).\n- VLAN-based SPAN (VSPAN) for virtual distributed port mirroring.\n- Link Aggregation Control Protocol (LACP) defined for uplink portgroups.\n  \n**Distributed Virtual Switch Configuration**\n\nTo use a distributed virtual switch, you create a switch and portgroups\non a vCenter Server, and add hosts as members of the switch.\n1. Create a distributed virtual switch\n   (*Folder*.*Folder.CreateDVS_Task*).\n   Use a *DVSConfigSpec* to create a switch\n   for a third-party implementation. Use a\n   *VMwareDVSConfigSpec* to create\n   a VMware distributed virtual switch.\n2. Create portgroups (*DistributedVirtualSwitch.CreateDVPortgroup_Task*)\n   for host and virtual machine network connections and for the connection between\n   proxy switches and physical NICs.\n   A *DistributedVirtualPortgroup* specifies how\n   virtual ports (*DistributedVirtualPort*) will be used.\n   When you create a distributed virtual switch, the vCenter Server\n   automatically creates one uplink portgroup\n   (*DistributedVirtualSwitch.config*.*DVSConfigInfo.uplinkPortgroup*).\n   Uplink portgroups are distributed virtual portgroups that support\n   the connection between proxy switches and physical NICs.\n   \n   Port creation on a distributed switch is determined by the\n   portgroup type\n   (*DVPortgroupConfigSpec*.*DVPortgroupConfigSpec.type*):\n   - If a portgroup is early binding (static), then\n     *DVPortgroupConfigSpec*.*DVPortgroupConfigSpec.numPorts*\n     determines the number of ports that get created when the portgroup is created.\n     This number can be increased if\n     *DVPortgroupConfigSpec*.*DVPortgroupConfigSpec.autoExpand*\n     is <code>true</code>.\n   - If a portgroup is ephemeral (dynamic), then\n     *DVPortgroupConfigSpec.numPorts*\n     is ignored and ports are created as needed.\n     \n   You can also specify standalone ports that are not associated with\n   a port group and uplink ports that are created on ESXi hosts\n   (*DVSConfigSpec*.*DVSConfigSpec.numStandalonePorts*).\n   \n   The *DVPortgroupConfigInfo*.*DVPortgroupConfigInfo.numPorts*\n   property is the total number of ports for a distributed virtual switch.\n   This total includes the ports generated by the static and dynamic portgroups\n   and the standalone ports.\n3. If you have created additional uplink portgroups, use the\n   *DistributedVirtualSwitch.ReconfigureDvs_Task* method\n   to add the portgroup(s) to the\n   *DVSConfigSpec*.*DVSConfigSpec.uplinkPortgroup*\n   array.\n4. Retrieve physical NIC device names from the host\n   (*HostSystem*.*HostSystem.config*.*HostConfigInfo.network*.*HostNetworkInfo.pnic*\\[\\].*PhysicalNic.device*).\n5. Add host member(s) to the distributed virtual switch. To configure host members:\n   - Specify hosts\n     (*DVSConfigSpec*.*DVSConfigSpec.host*\\[\\]).\n   - For each host, specify one or more physical NIC device names\n     to identify the pNIC(s) for the host proxy connection to the network\n     (*DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.backing*.*DistributedVirtualSwitchHostMemberPnicBacking.pnicSpec*\\[\\].*DistributedVirtualSwitchHostMemberPnicSpec.pnicDevice*)\n   - Use the\n     *DistributedVirtualSwitch*.*DistributedVirtualSwitch.ReconfigureDvs_Task*\n     method to update the switch configuration.\n     \n   When you add a host to a distributed virtual switch\n   (*DistributedVirtualSwitch*.*DistributedVirtualSwitch.config*.*DVSConfigInfo.host*),\n   the host automatically creates a proxy switch. The proxy switch is removed automatically\n   when the host is removed from the distributed virtual switch.\n6. Connect hosts and virtual machines to the distributed virtual switch.\n   \n   <table style=\"border:0\">\n   <tr>\n   <td style=\"border:0\">Host connection</td>\n   <td style=\"border:0\">Specify port or portgroup connections in the host virtual NIC spec\n   (*HostVirtualNicSpec*.*HostVirtualNicSpec.distributedVirtualPort*\n   or *HostVirtualNicSpec*.*HostVirtualNicSpec.portgroup*).</td>\n   </tr>\n   <tr>\n   <td style=\"border:0\">Virtual machine connection</td>\n   <td style=\"border:0\">Specify port or portgroup connections in the distributed virtual port backing\n   (*VirtualEthernetCardDistributedVirtualPortBackingInfo*)\n   for the virtual Ethernet cards on the virtual machine\n   (*VirtualEthernetCard*.*VirtualDevice.backing*).</td>\n   </tr>\n   </table>\n   \n**Backup, Rollback, and Query Operations**\n\nIf you are using a *VmwareDistributedVirtualSwitch*,\nyou can perform backup and rollback operations on the switch\nand its associated distributed virtual portgroups.\nWhen you reconfigure a VMware distributed virtual switch\n(*DistributedVirtualSwitch.ReconfigureDvs_Task*), the Server\nsaves the current switch configuration before applying the\nconfiguration updates. The saved switch configuration includes\nportgroup configuration data. The Server uses the saved switch\nconfiguration as a checkpoint for rollback operations.\nYou can rollback the switch or portgroup configuration\nto the saved configuration, or you can rollback to a backup\nconfiguration (*EntityBackupConfig*).\n- To backup the switch and portgroup configuration, use the\n  *DistributedVirtualSwitchManager*.*DistributedVirtualSwitchManager.DVSManagerExportEntity_Task*\n  method. The export method produces a\n  *EntityBackupConfig* object. The backup configuration\n  contains the switch and/or portgroups specified in the\n  <code>SelectionSet</code> parameter.\n  To backup the complete configuration you must select the\n  distributed virtual switch and all of its portgroups.\n- To rollback the switch configuration, use the\n  *DistributedVirtualSwitch.DVSRollback_Task* method\n  to determine if the switch configuration has changed.\n  If it has changed, use the\n  *DistributedVirtualSwitch.ReconfigureDvs_Task*\n  method to complete the rollback operation.\n- To rollback the portgroup configuration, use the\n  *DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.DVPortgroupRollback_Task*\n  method to determine if the portgroup configuration\n  has changed. If it has changed, use the\n  *DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task*\n  method to complete the rollback operation.  \n  \nTo perform query operations on a distributed virtual switch,\nuse the *DistributedVirtualSwitchManager* methods.\n"
    },
    {
      "name": "DistributedVirtualSwitchManager",
      "description": "The *DistributedVirtualSwitchManager* provides methods\nthat support the following operations:\n- Backup and restore operations for *VmwareDistributedVirtualSwitch*\n  and associated *DistributedVirtualPortgroup* managed objects.\n- Query operations for information about portgroups and distributed\n  virtual switches.\n- Distributed virtual switch configuration update operations.\n"
    },
    {
      "name": "EnvironmentBrowser",
      "description": "This managed object type provides access to the environment that a\nComputeResource presents for creating and configuring a virtual machine.\n\nThe environment consists of three main components:\n- The virtual machine configuration options. Each vim.vm.ConfigOption\n  describes the execution environment for a virtual machine, the particular\n  set of virtual hardware that is supported. A\n  ComputeResource might support multiple sets. Access is provided\n  through the configOptionDescriptor property and the\n  *EnvironmentBrowser.QueryConfigOption* operation.\n- The supported device targets. Each virtual device specified in the virtual\n  machine needs to be hooked up to a \"physical\" counterpart. For networks,\n  this means choosing a network name; for a virtual CD-rom this might be\n  an ISO image, etc. The environment browser provides access to the device\n  targets through the\n  *EnvironmentBrowser.QueryConfigTarget* operation.\n- Storage locations and files. A selection of locations where the virtual machine\n  files can be stored, and the possibility to browse for existing virtual disks\n  and ISO images. The datastore browser, provided by the datastoreBrowser\n  property, provides access to the contents of one or more datastores. The\n  items in a datastore are files that contain configuration, virtual disk, and\n  the other data associated with a virtual machine.\n- The capabilities supported by the ComputeResource to which the virtual\n  machine belongs.\n"
    },
    {
      "name": "EventHistoryCollector",
      "description": "EventHistoryCollector provides a mechanism for\nretrieving historical data and updates when the server appends new\nevents.\n"
    },
    {
      "name": "EventManager",
      "description": "This managed object type provides properties and methods for\nevent management support.\n\nEvent objects are used to record significant state changes of\nmanaged entities.\n"
    },
    {
      "name": "ExtensibleManagedObject",
      "description": "*ExtensibleManagedObject* provides methods and properties that provide\naccess to custom fields that may be associated with a managed object.\n\nUse the *CustomFieldsManager* to define custom fields.\nThe *CustomFieldsManager* handles the entire list of custom fields\non a server. You can can specify the object type to which a particular custom\nfield applies by setting its *CustomFieldDef.managedObjectType*.\n(If you do not set a managed object type for a custom field definition,\nthe field applies to all managed objects.)\n"
    },
    {
      "name": "ExtensionManager",
      "description": "This managed object type provides directory and basic management\nservices for all registered extensions.\n\nClients use the ExtensionManager, available in\n*ServiceInstance*,\nto access extension objects.\n\nWhile several authentication methods are available for extension\nservers to use (see *SessionManager*), only one\nauthentication method is valid for an extension at any given\ntime.\n"
    },
    {
      "name": "FailoverClusterConfigurator",
      "description": "FailoverClusterConfigurator provides operations to create and configure\na vCenter High Availability Cluster (VCHA Cluster).\n\nA VCHA Cluster consists of three VMs. One is the Active vCenter VM that\nserves client requests. Second is the Passive VM that is identical to the\nActive vCenter VM in terms of resources and capabilities. Passive VM\nconstantly receives updates from Active VM and takes over the role of\nActive vCenter VM in the event of failover. Third is the Witness VM that\nacts as a quorum VM in a VCHA Cluster. Sole purpose of Witness VM is to\navoid classic split-brain problem in a VCHA Cluster.\nA VCHA Cluster can be deployed in two possible ways -\n1\\. Automatic deployment - Configuration (described below) inputs for each\nnode in a VCHA Cluster is provided by the user. A Deployment workflow\nis used that automatically deploys Passive and Witness VM and configures\neach node to form a VCHA Cluster.\n2\\. Manual deployment - User provisions and creates Passive and Witness\nVMs and uses Configuration workflow to configure Active, Passive and\nWitness VM to form a VCHA Cluster. Passive and Witness VMs must be\ncreated using the VM-Clone operation with Active VM as the source.\n"
    },
    {
      "name": "FailoverClusterManager",
      "description": "FailoverClusterManager provides operations to manage a vCenter\nHigh Availability Cluster (VCHA Cluster).\n\nA VCHA Cluster consists of three VMs. One is the Active vCenter VM that\nserves client requests. Second is the Passive VM that is identical to the\nActive vCenter VM in terms of resources and capabilities. Passive VM\nconstantly receives updates from Active VM and takes over the role of\nActive vCenter VM in the event of failover. Third is the Witness VM that\nacts as a quorum VM in a VCHA Cluster. Sole purpose of Witness VM is to\navoid classic split-brain problem in a VCHA Cluster.\nA VCHA Cluster has following states -\n1\\. Healthy - All three nodes in a VCHA Cluster are healthy and connected.\nState replication between Active and Passive node is working and both\nnodes are in-sync.\n2\\. Degraded - A VCHA Cluster is said to be in degraded state when it has\nlost one of the three nodes. Node loss can be due to various reasons and\nas a result the lost node is not visible to other two nodes. If an Active\nnode is lost, Passive node will take the role of Active node. If Passive or\nWitness node is lost, Active node will continue to serve requests. A VCHA\nCluster can also be in degraded state if state replication fails between\nActive and Passive nodes.\n3\\. Isolated - All three nodes are isolated from each other. If this happens\nwhile VCHA Cluster is in enabled mode, Active node stops serving client\nrequests. If nodes are isolated in a disabled VCHA Cluster mode, Active\nnode continues to serve client requests.\nA VCHA Cluster has following modes -\n1\\. Enabled - State replication between Active and Passive nodes is\nenabled and automatic failover happens if Active node fails while the\nVCHA Cluster is in a healthy state.\n2\\. Disabled - All three nodes are part of VCHA Cluster but state\nreplication and automatic failover is disabled.\n3\\. Maintenance - All three nodes are part of VCHA Cluster but automatic\nfailover is disabled while state replication continues. Active node continues\nto serve client requests even if Passive and Witness nodes are lost.\n"
    },
    {
      "name": "FileManager",
      "description": "This managed object type provides a way to manage and manipulate files and\nfolders on datastores.\n\nThe source and the destination names are in the form of\na URL or a datastore path.\n\nA URL has the form\n> _scheme_://_authority_/folder/_path_?dcPath=_dcPath_&amp;dsName=_dsName_\n\nwhere\n- _scheme_ is <code>http</code> or <code>https</code>.\n- _authority_ specifies the hostname or IP address of the VirtualCenter or\n  ESX server and optionally the port.\n- _dcPath_ is the inventory path to the Datacenter containing the\n  Datastore.\n- _dsName_ is the name of the Datastore.\n- _path_ is a slash-delimited path from the root of the datastore.\n  \n  A datastore path has the form\n  > \\[_datastore_\\] _path_\n  \n  where\n- _datastore_ is the datastore name.\n- _path_ is a slash-delimited path from the root of the datastore.\n\nAn example datastore path is \"\\[storage\\] path/to/file.extension\".\nA listing of all the files, disks and folders on\na datastore can be obtained from the datastore browser.\n\nSee also *HostDatastoreBrowser*.\n"
    },
    {
      "name": "Folder",
      "description": "The *Folder* managed object is a container for storing and organizing\ninventory objects.\n\nFolders can contain folders and other objects.\nThe *Folder.childType* property identifies a folder's type\nand determines the types of folders and objects the folder can contain.\n- A folder can contain a child folder of the same type as the parent folder.\n- All *Datacenter* objects contain dedicated folders for:\n  - *VirtualMachine*, templates, and *VirtualApp* objects.\n  - *ComputeResource* hierarchies.\n  - *Network*, *DistributedVirtualSwitch*, and\n    *DistributedVirtualPortgroup* objects.\n  - *Datastore* objects.\n- A folder can contain child objects of type *Folder.childType*.\n  Virtual machine and network entity folders can also contain additional object types.\n- The root folder is a data center folder.\n  \nSee *ServiceInstance* for a representation of the organization of the inventory.\n\nThe *Folder* managed object also acts as a factory object, meaning it\ncreates new entities in a folder. The object provides methods to create\nchild folders and objects, methods to add existing objects to folders, and\nmethods to remove objects from folders and to delete folders.\n\n*Folder* inherits the *ManagedEntity.Destroy_Task* method.\n*ManagedEntity.Destroy_Task* is a recursive operation that removes all child objects and\nfolders. When you call *ManagedEntity.Destroy_Task* to destroy a folder, the system uses\nthe specified folder as a root and traverses its descendant hierarchy, calling\n*ManagedEntity.Destroy_Task* on each object.\n*ManagedEntity.Destroy_Task* is a single operation that treats each recursive call as a\nsingle transaction, committing each call to remove an object individually.\nIf *ManagedEntity.Destroy_Task* fails on an object, the method terminates at that point\nwith an exception, leaving some or all of the objects still in the inventory.\n\nNotes on the folder destroy method:\n- Calling *ManagedEntity.Destroy_Task* on a virtual machine folder recursively calls\n  *ManagedEntity.Destroy_Task* on all the child virtual machines and vApps, which are then\n  removed from disk.\n  Use *Folder.UnregisterAndDestroy_Task*\n  to unregister virtual machines or vApps recursively without\n  removing them from the disk.\n- For virtual machine folders, the *ManagedEntity.Destroy_Task* method requires the\n  VirtualMachine.Delete privilege on the folder as well as\n  all virtual machines to be destroyed. It also requires the VirtualApp.Delete\n  privilege on all VirtualApp objects to be destroyed.\n- Destroying a host folder or datacenter folder unregisters all child hosts\n  and virtual machines from vCenter. The hosts are simply removed\n  from the inventory, along with their virtual machines. The virtual machines\n  are not removed from disk nor are their runtime states changed.\n- You can remove network and datastore folders only if they are empty.\n- You cannot destroy, rename, or move the virtual machine, compute resource,\n  network entity, and datastore child folders of a Datacenter.\n"
    },
    {
      "name": "GuestAliasManager",
      "description": "The GuestAliasManager supports single sign-on for virtual machine access\nto perform guest operations.\n\nThe GuestAliasManager provides methods\nto create and access aliases.\n\nA guest alias defines an association between a guest user account on a virtual\nmachine\nand an external vSphere user account. The vSphere account is represented by\ncredentials consisting of an X.509 certificate and a subject name.\nThe certificate and subject name\nare encoded\nin SAML tokens that are provided by the VMware SSO Server. The SAML tokens\nare attached\nto guest operation requests. If the credentials in a SAML token match an\nalias that is defined\nfor a virtual machine, the ESXi Server guest components grant\naccess for execution of the\nguest operation\nin the context of the user account on the virtual machine.\n\nTo create a guest alias, use the AddGuestAlias method. AddGuestAlias\nestablishes\nthe association between a guest user account, certificate, and SAML token subject.\n- The username parameter identifies the guest account.\n- The base64Cert parameter specifies the X.509 certificate.\n- The aliasInfo parameter identifies the SAML token subject\n  (*GuestAuthAliasInfo*.\n  *GuestAuthAliasInfo.subject*.\n  *GuestAuthNamedSubject.name*).\n  \nIf there are no aliases defined for a virtual machine, the ESXi Server\nwill perform\nstandard authentication using the credentials associated with a guest\noperation request.\nIf one or more aliases are defined for a virtual machine, any guest\noperation request\nthat uses SAML token authentication SAMLTokenAuthentication must specify\na token\nthat corresponds to one of the defined aliases.\n\nAfter defining one or more guest aliases, you can specify\n*SAMLTokenAuthentication* for the\n**auth** parameter to guest operation methods:\n- *GuestProcessManager* methods\n- *GuestFileManager* methods\n- *GuestWindowsRegistryManager* methods\n  \nFor information about obtaining a SAML token from a VMware SSO Server,\nsee _VMware Single Sign-On Programming Guide_.\n\nYou can define multiple aliases for a guest account. You can also\nmap the credentials\nto an alias by setting **mapCert** to \"true\" in the call to the\nAddGuestAlias method.\nWhen an alias has a mapped credential, requests using that alias do not\nneed to identify the guest account.\n"
    },
    {
      "name": "GuestAuthManager",
      "description": "AuthManager is the managed object that provides APIs\nto manipulate the guest operating authentication.\n"
    },
    {
      "name": "GuestFileManager",
      "description": "FileManager is the managed object that provides APIs\nto manipulate the guest operating system files.\n"
    },
    {
      "name": "GuestOperationsManager",
      "description": "GuestOperationsManager is the managed object that provides APIs\nto manipulate the guest operating system files and process.\n\nEach class of APIs is separated into its own manager.\nOnly one guest operation is allowed at a time per virtual machine.\n"
    },
    {
      "name": "GuestProcessManager",
      "description": "ProcessManager is the managed object that provides APIs\nto manipulate the guest operating system processes.\n"
    },
    {
      "name": "GuestWindowsRegistryManager",
      "description": "WindowsRegistryManager is the managed object that provides APIs\nto manipulate the Registry in a Windows guest OS.\n"
    },
    {
      "name": "HistoryCollector",
      "description": "This managed object type enables clients to retrieve historical data and\nreceive updates when the server appends new data to a collection.\n\nThis is a base type for item-specific types related to event or task history.\nHistorical data is inherently append-only,\nalthough a server administrator may periodically purge old data.\n\nTypically, a client creates a history collector by using a filter on a\npotentially large set, such as all the events in a datacenter.\nThe collector provides access to the items that match the filter,\nwhich could also be a relatively large set.\n\nThe items in a collector are always ordered by date and time of creation.\nItem properties normally include this time stamp.\n\nThe client may set the \"viewable latest page\" for the collector,\nwhich is the contiguous subset of the items that are of\nimmediate interest. These items are available as the \"latestPage\"\nproperty, which the client may retrieve and monitor by using the\n*PropertyCollector* managed object.\n\nClients can change the page size of the \"latestPage\" by using\n*setLatestPageSize()*.\n\nThe client may use the following features of the history collector.\n- *rewind* - Moves the \"scrollable view\" to\n  the oldest item (the default setting).\n- readNext - Retrieves all the items in the collector, from the oldest\n  item to the newest item. Retrieves either\n  *tasks* or\n  *events* depending on the operation.\n- readPrev - Retrieves all items (excluding the \"viewable latest page\") in\n  the collector, from the newest item to the oldest item. Retrieves either\n  *tasks* or\n  *events* depending on the operation.\n- *reset* - Moves the \"scrollable view\" to\n  the item immediately preceding the \"viewable latest page\".\n"
    },
    {
      "name": "HostAccessManager",
      "description": "Managed object used to control direct access to the host.\n\nThis should be used to control users and privileges on the host directly,\nwhich are different from the users and privileges defined in vCenter.\n\nSee *AuthorizationManager* for more information on permissions.\n"
    },
    {
      "name": "HostActiveDirectoryAuthentication",
      "description": "The *HostActiveDirectoryAuthentication* managed object\nindicates domain membership status and provides methods\nfor adding a host to and removing a host from a domain.\n"
    },
    {
      "name": "HostAssignableHardwareManager",
      "description": "This managed object manages the assignable hardware state of the host.\n"
    },
    {
      "name": "HostAuthenticationManager",
      "description": "The *HostAuthenticationManager* managed object provides\naccess to Active Directory configuration information for an\nESX host.\n\nIt also provides access to methods for adding a host\nto or removing a host from an Active Directory domain.\n\nThe vSphere API supports Microsoft Active Directory management\nof authentication for ESX hosts. To integrate an ESX host\ninto an Active Directory environment, you use an Active\nDirectory account that has the authority to add\na computer to a domain. The ESX Server locates the Active\nDirectory domain controller. When you add a host to a domain,\nyou only need to specify the domain and the account\nuser name and password.\n\nThere are two approaches that you can use to add an ESX host\nto or remove a host from an Active Directory domain.\n- *HostActiveDirectoryAuthentication.JoinDomain_Task* and\n  *HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task*\n  methods - Your vSphere client application can call\n  these methods directly to add the host to or remove the host\n  from a domain.\n- Host configuration - Use the *HostActiveDirectory* data object\n  to specify Active Directory configuration, either adding the host to\n  or removing the host from a domain. To apply the Active Directory\n  configuration, use the *HostProfileManager* method\n  (*HostProfileManager.ApplyHostConfig_Task*)\n  to apply the *HostConfigSpec*. When the ESX Server processes\n  the configuration, it will invoke the join or leave method.\n  \nTo take advantage of ESX host membership in an Active Directory domain,\ngrant permissions on the ESX host to Active Directory users and groups\nwho should have direct access to management of the ESX host.\nUse the *UserDirectory*.*UserDirectory.RetrieveUserGroups*\nmethod to obtain information about Active Directory users and groups.\nAfter retrieving the Active Directory data, you can use the\n*AuthorizationManager*.*AuthorizationManager.SetEntityPermissions*\nmethod to set the *Permission.principal* property\nto the appropriate user or group.\n\nBy default, the ESX host assigns the Administrator role to the \"ESX Admins\" group.\nIf the group does not exist when the host joins the domain, the host will\nnot assign the role. In this case, you must create the \"ESX Admins\"\ngroup in the Active Directory. The host will periodically check the domain controller\nfor the group and will assign the role when the group exists.\n"
    },
    {
      "name": "HostAuthenticationStore",
      "description": "The *HostAuthenticationStore* base class represents both local user\nand host Active Directory authentication for an ESX host.\n- Local user authentication is always enabled. The vSphere API\n  does not support local user configuration for a host.\n- Active Directory authentication for ESX hosts relies on\n  an established Active Directory account that\n  has the authority to add the host to a domain.\n"
    },
    {
      "name": "HostAutoStartManager",
      "description": "The AutoStartManager allows clients to invoke and set up the auto-start/auto-stop\norder of virtual machines on a single host.\n\nVirtual machines configured to use\nauto-start are automatically started or stopped when the host is started or shut\ndown. The AutoStartManager is available when clients connect directly to a host,\nsuch as an ESX Server machine or through VirtualCenter.\n"
    },
    {
      "name": "HostBootDeviceSystem",
      "description": "The *HostBootDeviceSystem* managed object provides methods to query and update\na host boot device configuration.\n"
    },
    {
      "name": "HostCacheConfigurationManager",
      "description": "Solid state drive Cache Configuration Manager.\n\nThis is a managed object which provides access to ESX performance tuning\nfeatures using solid state drive based cache.\n"
    },
    {
      "name": "HostCertificateManager",
      "description": "CertificateManager provides an interface for managing the SSL\ncertificates used by the server.\n"
    },
    {
      "name": "HostCpuSchedulerSystem",
      "description": "This managed object provides an interface\nthrough which you can gather and configure the host CPU scheduler\npolicies that affect the performance of running virtual machines.\n\n**Note**: This managed object is useful only on platforms where\nresource management controls are available to optimize the running\nof virtual machines.\n"
    },
    {
      "name": "HostDatastoreBrowser",
      "description": "The DatastoreBrowser managed object type provides access to the contents of one or\nmore datastores.\n\nThe items in a datastore are files that contain configuration,\nvirtual disk, and the other data associated with a virtual machine.\n\nAlthough datastores may often be implemented using a traditional file system, a full\ninterface to a file system is not provided here. Instead, specialized access for\nvirtual machine files is provided. A datastore implementation may completely hide the\nfile directory structure.\n\nThe intent is to provide functionality analogous to a file chooser in a user\ninterface.\n\nFiles on datastores do not have independent permissions through this API. Instead,\nthe permissions for all the files on a datastore derive from the datastore object\nitself. It is not possible to change individual file permissions as the user browsing\nthe datastore may not necessarily be a recognized user from the point of view of the\nhost changing the permission. This occurs if the user browsing the datastore is doing\nso through the VirtualCenter management server.\n\nThe DatastoreBrowser provides many ways to customize a search for files. A search can\nbe customized by specifying the types of files to be searched, search criteria\nspecific to a file type, and the amount of detail about each file. The most basic\nqueries only use file details and are efficient with limited side effects. For these\nqueries, file metadata details can be optionally retrieved, but the files themselves\nare opened and their contents examined. As a result, these files are not necessarily\nvalidated.\n\nMore complicated queries can be formed by specifying the specific types of files to\nbe searched, the parameters to filter for each type, and the desired level of detail\nabout each file. This method of searching for files is convenient because it allows\nadditional data about the virtual machine component to be retrieved. In addition,\ncertain validation checks can be performed on matched files as an inherent part of\nthe details collection process. However, gathering extra details or the use of type\nspecific filters can sometimes only be implemented by examining the contents of a\nfile. As a result, the use of these conveniences comes with the cost of additional\nlatency in the request and possible side effects on the system as a whole.\n\nThe DatastoreBrowser is referenced from various objects, including from\n*Datastore*, *ComputeResource*, *HostSystem* and\n*VirtualMachine*. Depending on which object is used, there are different\nrequirements for the accessibility of the browsed datastore from the host (or hosts)\nassociated with the object:\n- When referenced from the target *Datastore*, it needs to be\n  accessible from at least one host on which the datastore is mounted.\n  See *DatastoreSummary.accessible*.\n- When referenced from a *ComputeResource*, the target datastore\n  needs to be accessible from at least one host in the ComputeResource.\n  See *HostMountInfo.accessible*.\n- When referenced from a *HostSystem*, the target datastore needs\n  to be accessible from that host. See *HostMountInfo.accessible*.\n- When referenced from a *VirtualMachine*, the target datastore\n  needs to be accessible from the host on which the virtual machine is\n  registered. See *HostMountInfo.accessible*.\n  \nSee also *FileInfo*.\n"
    },
    {
      "name": "HostDatastoreSystem",
      "description": "This managed object creates and removes datastores from the host.\n\nTo a host, a datastore is a storage abstraction that is backed by one\nof several types of storage volumes:\n<dl>\n<dt>**Local file system**</dt>\n<dd>\nA datastore that is backed by a local file system volume uses a host native\nlocal file system such as NTFS or ext3. The datastore is created by\nidentifying a file path for a directory in which virtual machine data will\nbe stored. When the datastore is deleted, the mapping from the datastore to\nthe file is deleted. The contents of the directory are not deleted.\n</dd>\n\n<dt>**NAS Volume**</dt>\n<dd>\nA datastore that is backed by a network-attached storage device is created\nby specifying the required data needed to attach the volume to the host.\nDestroying the datastore detaches the volume from the host.\n</dd>\n\n<dt>**VMFS**</dt>\n<dd>\nA datastore that is backed by a VMware File System (VMFS) is created by\nspecifying a disk with unpartitioned space, the desired disk partition\nformat on the disk, and some VMFS attributes.\n\nAn ESX Server system automatically discovers the VMFS volume on attached Logical\nUnit Numbers (LUNs) on startup and after re-scanning the host bus adapter.\nDatastores are automatically created. The datastore label is based on the\nVMFS volume label. If there is a conflict with an existing datastore,\nit is made unique by appending a suffix. The VMFS volume label will\nbe unchanged.\n\nDestroying the datastore removes the partitions that compose the VMFS volume.\n</dd>\n</dl>\nDatastores are never automatically removed because transient storage\nconnection outages may occur. They must be removed from the host using\nthis interface.\n\nSee also *Datastore*.\n"
    },
    {
      "name": "HostDateTimeSystem",
      "description": "This managed object provides for NTP and date/time related\nconfiguration on a host.\n\nInformation regarding the running status of the NTP daemon and\nfunctionality to start and stop the daemon is provided by the\n*HostServiceSystem* object.\n"
    },
    {
      "name": "HostDiagnosticSystem",
      "description": "The DiagnosticSystem managed object is used to configure the diagnostic\nmechanisms specific to the host.\n\nThe DiagnosticSystem interface supports\nthe following concepts:\n- Notion of an active diagnostic partition that is selected from\n  a set of available partitions.\n- Ability to create a diagnostic partition that gets added to the\n  list of available partitions and could be made active.\n"
    },
    {
      "name": "HostDirectoryStore",
      "description": "*HostDirectoryStore* is a base class for\ndirectory-based authentication stores.\n"
    },
    {
      "name": "HostEsxAgentHostManager",
      "description": "This managed object type is used to configure agent virtual machine resource\nconfiguration, such as what network and datastore to use for agent virtual\nmachines.\n"
    },
    {
      "name": "HostFirewallSystem",
      "description": "The FirewallSystem managed object describes the firewall configuration\nof the host.\n\nThe firewall should be configured first by setting the default policy and\nthen by making exceptions to the policy to get the desired openness.\n"
    },
    {
      "name": "HostFirmwareSystem",
      "description": "The *HostFirmwareSystem* managed object type provides access to the firmware\nof an embedded ESX host.\n\nIt provides operations to backup, restore, and reset the\nconfiguration of an embedded ESX host.\n"
    },
    {
      "name": "HostGraphicsManager",
      "description": "This managed object manages the graphics state of the host.\n"
    },
    {
      "name": "HostHealthStatusSystem",
      "description": "This managed object manages the health state of the host.\n\nSee also *HostCapability.ipmiSupported*.\n"
    },
    {
      "name": "HostImageConfigManager",
      "description": "This managed object is the interface for\nconfiguration of the ESX software image, including\nproperties such as acceptance level.\n\nIt is currently designed to be host agent specific.\n"
    },
    {
      "name": "HostKernelModuleSystem",
      "description": "The KernelModuleSystem managed object controls the configuration\nof kernel modules on the host.\n"
    },
    {
      "name": "HostLocalAccountManager",
      "description": "This managed object type provides an interface\nthrough which local accounts on a host are managed.\n\nNote that this\nmanaged object applies only to applications that use a local account\ndatabase on the host to provide authentication (ESX Server, for example).\nPOSIX and win32 hosts may impose different restrictions on the password,\nID, and description formats. POSIX host implementation may restrict the\nuser or group name to be lower case letters and less than 16 characters in\ntotal. It may also disallow characters such as\n\";\", \"\\\\n\", and so on. In short, all the platform dependent rules and\nrestrictions regarding naming of users/groups and password apply here.\nAn InvalidArgument fault is thrown if any of these rules are not obeyed.\n"
    },
    {
      "name": "HostLocalAuthentication",
      "description": "The *HostLocalAuthentication* managed object represents\nlocal authentication for user accounts on an ESX host.\n"
    },
    {
      "name": "HostMemorySystem",
      "description": "The MemoryManagerSystem managed object provides an interface through which\nthe host memory management policies that affect the performance of running\nvirtual machines can be gathered and configured.\n"
    },
    {
      "name": "HostNetworkSystem",
      "description": "This managed object type describes networking host configuration and\nserves as the top level container for relevant networking\ndata objects.\n"
    },
    {
      "name": "HostNvdimmSystem",
      "description": "Managed object responsible for reading and configuring\nNon-Volatile DIMMs.\n"
    },
    {
      "name": "HostPatchManager",
      "description": "This managed object is the interface for scanning and patching an ESX\nserver.\n\nVMware publishes updates through its external website. A patch update is\nsynonymous with a bulletin. An update may contain many individual patch\nbinaries, but its installation and uninstallation are atomic.\n"
    },
    {
      "name": "HostPciPassthruSystem",
      "description": "This managed object manages the PciPassthru state of the host.\n"
    },
    {
      "name": "HostPowerSystem",
      "description": "Managed object responsible for getting and setting host\npower management policies.\n"
    },
    {
      "name": "HostProfile",
      "description": "A host profile describes ESX Server configuration.\n\nThe *HostProfile* managed object provides access to profile data and\nit defines methods to manipulate the profile.\nA host profile is a combination of subprofiles, each of which contains\nconfiguration data for a specific capability. Some examples of host capabilities are\nauthentication, memory, networking, and security. For access to individual subprofiles,\nsee the *HostApplyProfile* data object\n(*HostProfile*.*Profile.config*.*HostProfileConfigInfo.applyProfile*).\n\nHost profiles are part of the stateless configuration architecture.\nIn the stateless environment, a Profile Engine runs on each ESX host,\nbut an ESX host does not store its own configuration state. Instead,\nhost configuration data is stored on vCenter Servers. Every time a host\nboots or reboots, it obtains its profile from the vCenter Server.\n- To create a base host profile use the\n  *HostProfileManager*.*ProfileManager.CreateProfile*\n  method. To create a profile from an ESX host, specify a\n  *HostProfileHostBasedConfigSpec*. To create a profile from a file,\n  specify a *HostProfileSerializedHostProfileSpec*.\n- To create a subprofile for a particular host capability, use the\n  *HostProfileManager*.*HostProfileManager.CreateDefaultProfile*\n  method. After you create the default profile you can modify it and save it in the base profile.\n- To update an existing profile, use the\n  *HostProfile*.*HostProfile.UpdateHostProfile* method.\n- To apply a host profile to an ESX host, use the *HostProfile.ExecuteHostProfile* method\n  to generate configuration changes, then call the\n  *HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task*\n  method to apply them.\n  \n<u>Host-Specific Configuration</u>\n\nAn individual host or a set of hosts may have some configuration settings\nthat are different from the settings specified in the host profile.\nFor example, the IP configuration for the host's virtual network adapters\nmust be unique.\n- To verify host-specific data, use the <code>deferredParam</code> parameter\n  to the *HostProfile.ExecuteHostProfile* method.\n  The Profile Engine will determine if you have specified all of the required\n  parameters for the host configuration. If additional data is required,\n  call the *HostProfile.ExecuteHostProfile* method again as many times as necessary\n  to verify a complete set of parameters.\n- To apply host-specific data, use the <code>userInput</code> parameter to the\n  *HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task*\n  method.\n  \n  \nThe Profile Engine saves host-specific data in an *AnswerFile*\nthat is stored on the vCenter Server.\nThe *HostProfileManager* provides several methods to manipulate\nanswer files.\n\n<u>Profile Compliance</u>\n\nYou can create associations between hosts and profiles to support compliance checking.\nWhen you perform compliance checking, you can determine if a host configuration\nconforms to a host profile.\n- To create an association between a host and a profile, use the\n  *Profile.AssociateProfile* method.\n  The method adds the host to the\n  *HostProfile*.*Profile.entity*\\[\\] list.\n- To retrieve the list of profiles associated with a host, use the\n  *HostProfileManager*.*ProfileManager.FindAssociatedProfile*\n  method.\n- To check host compliance, use the\n  *Profile.CheckProfileCompliance_Task* method.\n  If you do not specify any hosts, the method will check the compliance of all hosts\n  that are associated with the profile.\n  \n  \nYou can also use the Profile Compliance Manager to check compliance by specifying\nprofiles, entities (hosts), or both. See\n*ProfileComplianceManager*.*ProfileComplianceManager.CheckCompliance_Task*.\n\n<u>Profile Plug-Ins</u>\n\nThe vSphere architecture uses VMware profile plug-ins to define profile extensions.\nFor information about using a plug-in to extend a host profile, see the VMware Technical Note\n_Developing a Host Profile Extension Plug-in_.\n\nFor access to host configuration data that is defined by plug-ins, use the\n*ApplyProfile*.*ApplyProfile.policy*\\[\\] and\n*ApplyProfile*.*ApplyProfile.property*\\[\\] lists.\nThe *HostApplyProfile* and its subprofiles, which collectively\ndefine host configuration data, are derived from the *ApplyProfile*.\n- Policies store ESX configuration data in *PolicyOption* objects.\n- Profile property lists contain subprofiles defined by plug-ins. Subprofiles can be nested.\n  - Subprofile lists are available as an extension to the base host profile\n    (*HostProfile*.*Profile.config*.*HostProfileConfigInfo.applyProfile*.*ApplyProfile.property*\\[\\]).\n  - Subprofile lists are available as extensions to the host subprofiles - for example,\n    the network subprofile\n    (*HostApplyProfile*.*HostApplyProfile.network*.*ApplyProfile.property*\\[\\]).\n    \n  \nIf you make changes to host profile data, later versions of profile plug-ins may not support\nthe host configuration implied by the changes that you make. When a subsequent vSphere\nversion becomes available, you must verify that the new version supports any previous\nconfiguration changes that you have made.\n"
    },
    {
      "name": "HostProfileManager",
      "description": "The *HostProfileManager* provides access to a list of\n*HostProfile*s and it defines methods to manipulate\nprofiles and *AnswerFile*s.\n"
    },
    {
      "name": "HostServiceSystem",
      "description": "The *HostServiceSystem* managed object describes the configuration\nof host services.\n\nThis managed object operates in conjunction\nwith the *HostFirewallSystem*\nmanaged object.\n"
    },
    {
      "name": "HostSnmpSystem",
      "description": "Provision the SNMP Version 1,2c agent.\n\nThis object is accessed through the\n*HostConfigManager* object.\n"
    },
    {
      "name": "HostSpecificationManager",
      "description": "The *HostSpecificationManager* provides the\nfunctionality to update, restrieve and delete\n*HostSpecification* and\n*HostSubSpecification*.\n"
    },
    {
      "name": "HostStorageSystem",
      "description": "This managed object gets and sets configuration information\nabout the host's storage subsystem.\n\nThe properties and operations are\nused to configure the host to make storage available for virtual machines.\nThis object contains properties that are specific to ESX Server and\ngeneral to both the ESX Server system and the hosted architecture.\n"
    },
    {
      "name": "HostSystem",
      "description": "The HostSystem managed object type provides access to a virtualization\nhost platform.\n\nInvoking destroy on a HostSystem of standalone type throws a NotSupported fault.\nA standalone HostSystem can be destroyed only by invoking destroy on its parent\nComputeResource.\nInvoking destroy on a failover host throws a\n*DisallowedOperationOnFailoverHost* fault. See\n*ClusterFailoverHostAdmissionControlPolicy*.\n"
    },
    {
      "name": "HostVFlashManager",
      "description": "The VFlash Manager object is used to configure vFlash resource\nand vFlash cache on the ESX host.\n"
    },
    {
      "name": "HostVMotionSystem",
      "description": "Deprecated as of VI API 4.0, use *HostConfigManager.virtualNicManager*.\n\nThe VMotionSystem managed object describes the VMotion configuration\nof the host.\n"
    },
    {
      "name": "HostVStorageObjectManager",
      "description": "Interface to manage virtual storage object on an ESXi host.\n"
    },
    {
      "name": "HostVirtualNicManager",
      "description": "The VirtualNicManager managed object describes the special Virtual NIC\nconfiguration of the host.\n"
    },
    {
      "name": "HostVsanInternalSystem",
      "description": "The VsanInternalSystem exposes low level access to CMMDS, as well as draft\nversions of VSAN object and disk management APIs that are subject to change\nin future releases.\n\nNo compatibility is guaranteed on any of the APIs,\nincluding their prototype, behavior or result encoding.\n"
    },
    {
      "name": "HostVsanSystem",
      "description": "The VsanSystem managed object type exposes VSAN configuration\nprimitives and serves as a host-level access point for relevant\nVSAN data objects.\n"
    },
    {
      "name": "HttpNfcLease",
      "description": "Represents a lease on a *VirtualMachine* or\na *VirtualApp*, which can be used to import or export\ndisks for the entity.\n\nWhile the lease is held, operations\nthat alter the state of the virtual machines covered by the lease\nare blocked. Examples of blocked operations are PowerOn, Destroy,\nMigrate, etc.\n\nA lease is in one of four states:\n<dl>\n<dt>Initializing</dt>\n<dd>This is the initial state. The lease remains in this state\nwhile the corresponding import/export task is preparing the\nobjects. In an import session, this involves creating\ninventory objects.</dd>\n<dt>Ready</dt>\n<dd>The lease changes to this state once the corresponding\nimport/export task is done preparing the lease. The leased\nobjects are now ready, and the client can use the information\nprovided in the *HttpNfcLease.info* property to determine where to\nup/download disks. The client must call *HttpNfcLease.HttpNfcLeaseProgress*\nperiodically to keep the lease alive and report progress to\nthe corresponding import/export task. Failure to do so causes\nthe lease to time out and enter the error state.</dd>\n<dt>Done</dt>\n<dd>When the client is done transferring disks, it calls\n*HttpNfcLease.HttpNfcLeaseComplete* to signal the end of the import/export session.\nThis causes the corresponding import/export task to complete\nsuccessfully.</dd>\n<dt>Error</dt>\n<dd>If an error occurs during initialization or the lease times out,\nit will change to this state. The client can also abort the lease\nmanually by calling *HttpNfcLease.HttpNfcLeaseAbort*. In this state, the *HttpNfcLease.error*\nproperty can be read to determine the cause.\nIf the lease belongs to an import session, all objects created\nduring the import are removed when the lease enters this state.</dd>\n</dl>\nThe import/export task corresponding to the lease continues running while\nthe lease is held.\n"
    },
    {
      "name": "InventoryView",
      "description": "The *InventoryView* managed object provides a means of browsing the inventory and tracking\nchanges to open folders.\n\nThis managed object is particularly useful for UI clients that\ndisplay a tree-based navigation panel of the inventory.\n\n*InventoryView* maintains the *ManagedObjectView.view* list\nof managed object references to inventory objects. When you create an inventory view\n(*ViewManager.CreateInventoryView*), the server initializes the view's object\nlist with a single folder - the root folder.\n\n*InventoryView* provides methods to open and close folders in the inventory. Use these\nmethods to add and subtract objects from the *ManagedObjectView.view* list.\nUse the *InventoryView* together with the *PropertyCollector*\nto manage the data resulting from *InventoryView.OpenInventoryViewFolder*\nand *InventoryView.CloseInventoryViewFolder* methods. By using the *PropertyCollector*,\nyou have access to the modifications to the view, rather than processing the entire view list.\n\nFor example, you might use the following sequence of operations with\nan *InventoryView* and the *PropertyCollector*:\n1. Create an *InventoryView*.\n2. Create a filter specification for the *PropertyCollector*.\n   - Use the *InventoryView* as the starting object in the\n     *ObjectSpec* for the filter.\n   - Use a set of *TraversalSpec*\n     data objects to identify paths in possible inventory configurations.\n   - Use the *PropertySpec*\n     to identify object properties for retrieval.\n3. Use either the *PropertyCollector.CheckForUpdates* or\n   *PropertyCollector.WaitForUpdates* method to obtain\n   *InventoryView* modifications. Both methods return\n   an *UpdateSet* object that describes\n   the changes returned by the *PropertyCollector*.\n4. Call the *InventoryView.OpenInventoryViewFolder* or *method*.\n"
    },
    {
      "name": "IoFilterManager",
      "description": "Interface to manage IO Filters installed on the ESXi hosts and\nIO Filter configurations on virtual disks.\n\nIO Filters are customized\nfilters provided by third parties to process I/Os to virtual disks.\nThey can be used to provide data services such as flash caching and\nreplication.\nThis interface is only supported on vCenter server.\n"
    },
    {
      "name": "IpPoolManager",
      "description": "Singleton Managed Object used to manage IP Pools.\n\nIP Pools are used to allocate IPv4 and IPv6 addresses to vApps.\n"
    },
    {
      "name": "IscsiManager",
      "description": "This managed object provides interfaces for mapping VMkernel NIC to\niSCSI Host Bus Adapter.\n"
    },
    {
      "name": "LicenseManager",
      "description": "This managed object type controls entitlements for a given VMware\nplatform.\n\nVMware platforms include VirtualCenter, ESX Server, VMware Server,\nWorkstation and Player. Entitlements define what software capabilities\nthis host may use.\n\nEntitlements are identified by a short string 'key'. Keys can represent either\na particular edition (Full, Starter) or a particular feature/function (featureKey)\n(backup, nas). An edition implies zero one or more functions which are express,\ndenied or optional. For example a 'Full' edition includes 'iscsi' function but a\nStarter edition might disallow it.\n\nWhich edition a given VMware platform uses can be defined at any time. Generally this\nis done right after first install and boot as installation software may not set it.\nFor editions that are similar in nature, any future changes to edition\ntype will only impact future requests for functionality.\nCurrent functionality is left unaffected. The same is true for optional\nfunctions enabled/disabled after some period of time. For dissimilar editions,\nsuch transitions may require entering maintenance mode first else an exception of\nInvalidState will be thrown.\n\nTo specify the edition type and any optional functions, use updateLicense for\nESX Server and addLicense follow by LicenseAssingmentManager.updateAssignedLicense\nfor VirtualCenter.\n\nWhen an edition is specified for a given host, the cost of that edition\n(how many licenses are needed) is determined. The cost is computed\nusing the license's CostUnit value multiplied by the number of units activated.\nFor example, when a VMware platform is set to an edition which uses a 'cpuPackage'\non a two socket server, two licenses would be needed to successfully\ninstall that edition.\n\nHere is a diagram of the unit costs supported by this API and their relationships.\n\n       +------------------------------+   +--------+      +-------+\n       | +-----------+ +-----------+  |   | Server |      |  Host |\n       | |           | |           |  |   +--------+      +-------+\n       | |  cpuCore  | |   cpuCore |  |                   +-------+\n       | +-----------+ +-----------+  |   +--------+      |  Host |\n       |                  cpuPackage  |   |  VM    |      +-------+\n       +------------------------------+   +--------+\n"
    },
    {
      "name": "ListView",
      "description": "The *ListView* managed object provides access to updates on a specific set of objects.\n\nYou can use a *ListView* with a *PropertyCollector* method\nto retrieve data or receive notification of changes. For information about using views\nwith the *PropertyCollector*, see the description of *ViewManager*.\n\nWhen you invoke the *ViewManager.CreateListView* method, you specify\na list of objects. The *ManagedObjectView.view* list\nalways represents the current configuration of the virtual environment\nand reflects any subsequent changes that occur.\n"
    },
    {
      "name": "LocalizationManager",
      "description": "*LocalizationManager* provides access to descriptions of\nthe message catalogs that are available for client-side message\nlocalization.\n\nClients of the VIM API may use\n*SessionManager*.*SessionManager.SetLocale*\nto cause the server to emit localized messages, or may perform\nclient-side localization based on message catalogs provided by the\n*LocalizationManager*.\n\nA message catalog is a file that contains a set of key-value pairs.\n- The key is an ASCII string that identifies the message.\n- The value is a UTF-8 string that contains the text of the message, sometimes\n  containing substitution variables.\n  \nThe server will localize fields tagged with 'localizable' based on the\nvalue of the *UserSession*.*UserSession.locale*\nand *UserSession.messageLocale* properties which are set via\n*SessionManager*.*SessionManager.SetLocale*.\n\nThe following list shows some of the ways that vSphere uses localized\nmessages.\n- Current task status (*TaskInfo*.*TaskInfo.description*)\n- Events (*VirtualMachineMessage*.*VirtualMachineMessage.text* and\n  Questions (*VirtualMachineQuestionInfo*.*VirtualMachineQuestionInfo.text*)\n- Faults (*MethodFault*.*MethodFault.faultMessage*)\n- *HostProfile* and\n  *ClusterProfile* descriptions\n  (*Profile*.*ProfileDescription*.\n  *Profile.description* returned by the\n  *Profile*.*Profile.RetrieveDescription* method)\n"
    },
    {
      "name": "ManagedEntity",
      "description": "ManagedEntity is an abstract base type for all managed objects present in\nthe inventory tree.\n\nThe base type provides common functionality for traversing the\ntree structure, as well as health monitoring and other basic functions.\n\nMost Virtual Infrastructure managed object types extend this type.\n"
    },
    {
      "name": "ManagedObjectView",
      "description": "*ManagedObjectView* is the base class for view objects that provide access\nto a set of *ManagedEntity* objects.\n\n*ManagedObjectView* defines\na view list; the list contains references to objects in the view.\nTo create a view use the *ViewManager* methods.\n"
    },
    {
      "name": "MessageBusProxy",
      "description": "This managed object provides interfaces to configure the common message bus\nproxy service running on the ESX host.\n"
    },
    {
      "name": "Network",
      "description": "Represents a network accessible by either hosts or virtual machines.\n\nThis can be a\nphysical network or a logical network, such as a VLAN.\n\nNetworks are created:\n- explicitly when configuring a host.\n- automatically when adding a host to VirtualCenter.\n- automatically when adding a new virtual machine to a host or to\n  VirtualCenter.\n  \nTo configure network access for hosts and virtual machines, use\n*DistributedVirtualSwitch* and\n*DistributedVirtualPortgroup* managed objects.\n"
    },
    {
      "name": "OpaqueNetwork",
      "description": "This interface defines an opaque network, in the sense that the detail and configuration\nof the network is unknown to vSphere and is managed by a management plane outside of\nvSphere.\n\nHowever, the identifier and name of these networks is made available to\nvSphere so that host and virtual machine virtual ethernet device can connect to them.\n"
    },
    {
      "name": "OptionManager",
      "description": "This managed object type is used for managing key/value pair\noptions.\n- You can define options on the fly only if the option is supported\n  by the concrete implementation, in a logical tree using a dot notation\n  for keys. For example, \"Ethernet.Connection\" describes the Connection\n  option as child of the Ethernet option.\n- Options can be updated even if not visible in supportedOption or\n  settings or the queryMethod returned values only if supported by the\n  concrete implementation.\n- Attempt to add random Options that are not supported by the concrete\n  implementation may result in unexpected side-effects.\n- You can use the queryMethod to retrieve a single property or\n  a subset of properties based on the dot notation path.\n"
    },
    {
      "name": "OverheadMemoryManager",
      "description": "Provide static VM overhead memory values for (vm, host) pairs in\nVirtual Center.\n"
    },
    {
      "name": "OvfManager",
      "description": "Service interface to parse and generate OVF descriptors.\n\nThe purpose of this interface is to make it easier for callers to import VMs and\nvApps from OVF packages and to export VI packages to OVF. In the following\ndescription, the term \"client\" is used to mean any caller of the interface.\n\nThis interface only converts between OVF and VI types. To actually import and export\nentities, use *ResourcePool.importVApp*,\n*VirtualMachine.exportVm* and\n*VirtualApp.exportVApp*.\n\n**Import**\n\nFor the import scenario, the typical sequence of events is as follows:\n\nThe client calls parseDescriptor to obtain information about the OVF descriptor. This\ntypically includes information (such as a list of networks) that must be mapped to VI\ninfrastructure entities.\n\nThe OVF descriptor is validated against the OVF Specification, and any errors or\nwarnings are returned as part of the ParseResult. For example, the parser might\nencounter a section marked required that it does not understand, or the XML descriptor\nmight be malformed.\n\nThe client decides on network mappings, datastore, properties etc. It then calls\ncreateImportSpec to obtain the parameters needed to call\n*ResourcePool.importVApp*.\n\nIf any warnings are present, the client will review these and decide whether to\nproceed or not. If errors are present, the ImportSpec will be missing, so\nthe client is forced to give up or fix the problems and then try again.\n\nThe client now calls *ResourcePool.importVApp*, passing the ImportSpec as a parameter. This will create\nthe virtual machines and *VirtualApp* objects in VI and return locations\nto which the files of the entity can be uploaded. It also returns a lease that\ncontrols the duration of the lock taken on the newly created inventory objects. When\nall files have been uploaded, the client must release this lease.\n\n**Export**\n\nCreating the OVF descriptor is the last part of exporting an entity to OVF. At this\npoint, the client has already downloaded all files for the entity, optionally\ncompressing and/or chunking them (however, the client may do a \"dry run\" of creating\nthe descriptor before downloading the files. See *OvfManager.createDescriptor*).\n\nIn addition to the entity reference itself, information about the choices made on\nthese files is passed to createDescriptor as a list of OvfFile instances.\n\nThe client must inspect and act upon warnings and errors as previously described.\n\nNo matter if the export succeeds or fails, the client is responsible for releasing the\nshared state lock taken on the entity (by *VirtualMaching.exportVm* or *VirtualApp.exportVApp*) during the export.\n\n**Error handling**\n\nAll result types contain warning and error lists. Warnings do not cause processing to\nfail, but the caller (typically, the user of a GUI client) may choose to reject the\nresult based on the warnings issued.\n\nErrors cause processing to abort by definition.\n"
    },
    {
      "name": "PerformanceManager",
      "description": "This managed object type provides the service interface for obtaining\nstatistical data about various aspects of system performance, as generated\nand maintained by the system's performance providers.\n\nA \"performance\nprovider\" (*PerfProviderSummary*) is any managed object\nthat generates utilization or other performance metrics. Performance\nproviders include *managed entities*, such as *hosts*, *virtual machines*, *compute resources*, *resource\npools*, *datastores*, and *networks*.\nPerformance providers also include physical or virtual devices associated\nwith these objects, such as virtual host-bus adapters and network-interface\ncontrollers (NICs)\n\n<a name=\"counterTables\"></a>**Performance Counters**  \nEach\nperformance provider&#151;the instrumented device or entity&#151;has its own\nset of *counters* that provides\nmetadata about its available *metrics*. Each counter has a unique *PerfCounterInfo.key*, referred to as the counterId. The\nactual performance metrics generated at runtime are identified by this\n*PerfMetricId.counterId*. Counters are organized by\n*groups* of finite system\nresources, such as <a href=\"memory_counters.html\">memory</a>, <a href=\"cpu_counters.html\">CPU</a>, <a href=\"disk_counters.html\">disk</a>, and\nso on. The links in this list contain documentation for performance\ncounters, by *group*. Each\npage contains a table that includes data extracted from instances of the\n*PerfCounterInfo* data object, including the counter\nname, its Label, Unit, StatsType, RollupType, and Level:\n- <a href=\"cluster_services_counters.html\">Cluster Services\n- <a href=\"cpu_counters.html\">CPU</a>\n- <a href=\"hbr_counters.html\">Host-Based Replication</a>\n- <a href=\"mgmt_agent_counters.html\">Management Agent</a>\n- <a href=\"memory_counters.html\">Memory</a>\n- <a href=\"network_counters.html\">Network</a>\n- <a href=\"power_counters.html\">Power</a>\n- <a href=\"resource_scheduler_counters.html\">Resource Scheduler</a>\n- Storage Capacity:\n  - <a href=\"disk_storutil_counters.html\">Datastore / Virtual\n    Machine</a>\n- Storage I/O:\n  - <a href=\"datastore_counters.html\">Datastore</a>\n  - <a href=\"disk_counters.html\">Disk</a>\n  - <a href=\"virtual_disk_counters.html\">Virtual Disk</a>\n  - <a href=\"storage_adapter_counters.html\">Storage Adapter</a>\n  - <a href=\"storage_path_counters.html\">Storage Path</a>\n- <a href=\"system_counters.html\">System</a>\n- <a href=\"vcres_counters.html\">vCenter Resource</a>\n- <a href=\"vmop_counters.html\">Virtual Machine Operations</a>\n  \nOther performance-counter groups, in addition to those listed here,\nexist on the system. However, only the counter groups listed are considered\nof possible interest to third-party developers.\n\n**Obtaining Metadata and Metrics**  \nThis interface provides these\nquery operations:\n- *PerformanceManager.QueryPerfProviderSummary*, for obtaining metatdata about *performance providers*\n- *PerformanceManager.QueryPerfCounter* and *PerformanceManager.QueryPerfCounterByLevel* for obtaining\n  metadata about supported counters.\n- *PerformanceManager.QueryPerf*, *PerformanceManager.QueryAvailablePerfMetric*, and *PerformanceManager.QueryPerfComposite* for obtaining statistics for one or more\n  entities:\n  - Use *PerformanceManager.QueryPerf* to obtain metrics for multiple entities in a\n    single call&#46;\n  - Use *PerformanceManager.QueryPerfComposite* to obtain statistics for a single\n    entity with its descendent objects&#151;statistics for a *host* and all its *virtual\n    machines*, for example. \n    \n**Product and Version Specifics**  \nSome differences between ESX\nand vCenter Server implementations of this interface include:\n- For ESX systems, this interface provides access to real-time data, and\n  to real-time data that has been rolled up into \"PastDay\" statistics (if\n  applicable for the specific counter).\n- For vCenter Server systems, this interface provides access to real-time\n  and historical data. vCenter Server collects statistics on a regular\n  basis from all ESX systems that it manages, and aggregates the results\n  based on the level settings for the server.\n- Default sampling interval is product- and version-specific:\n  - ESX 3&#46;x (and subsequent) systems: 20 second interval\n  - ESX 2&#46;x systems: 60 second interval\n- VirtualCenter Server 2&#46;5 (and subsequent vCenter Server) systems\n  initially collect statistics data 10 minutes after system startup, and\n  then hourly thereafter&#46;\n  \nSee the Programming Guide for more information about using *PerformanceManager*&#46;\n"
    },
    {
      "name": "Profile",
      "description": "The <code>Profile</code> managed object is the base class for host and cluster\nprofiles.\n"
    },
    {
      "name": "ProfileComplianceManager",
      "description": "Interface handling the Compliance aspects of entities.\n"
    },
    {
      "name": "ProfileManager",
      "description": "This class is responsible for managing Profiles.\n"
    },
    {
      "name": "PropertyCollector",
      "description": "The *PropertyCollector* managed object retrieves and detects changes\nto the properties of other managed objects.\n\nThe *PropertyCollector.RetrievePropertiesEx* method provides one-time property retrieval. The\n*PropertyCollector.WaitForUpdatesEx* method provides incremental change detection and\nsupports both polling and notification.\n\nFor change detection a client creates one or more filters to specify the\nsubset of managed objects in which the client is interested. Filters keep\nper-session state to track incremental changes. Because this state is\nper-session:\n- A session cannot share its *PropertyCollector* filters with other\n  sessions\n- two different clients can share the same session, and so can\n  share the same filters, but this is not recommended\n- When a session terminates, the associated *PropertyCollector* filters\n  are automatically destroyed.\n"
    },
    {
      "name": "PropertyFilter",
      "description": "The *PropertyFilter* managed object type defines a filter\nthat controls the properties for which a *PropertyCollector* detects\nincremental changes.\n\nFilters are subordinate objects; they are part of the *PropertyCollector* and do not have independent lifetimes. A Filter\nis automatically destroyed when the session on which it was created is\nclosed or the *PropertyCollector* on which it was created is\ndestroyed.\n"
    },
    {
      "name": "ResourcePool",
      "description": "Represents a set of physical resources: a single host,\na subset of a host's resources, or resources spanning multiple hosts.\n\nResource pools can be subdivided by creating child resource pools. In\norder to run, a virtual machine must be associated as a child of a resource\npool.\n\nIn a parent/child hierarchy of resource pools and virtual machines, the\nsingle resource pool that has no parent pool is known as the _root resource\npool_.\n\n**Configuration**\n\nA resource pool is configured with a set of CPU (in MHz) and memory (in MB)\nresources. These resources are specified in absolute terms with a resource\nreservation and a resource limit, along with a shares setting. The shares\nare used during resource contention, to ensure graceful degradation.\n\nFor the root resource pool, the values of the reservation and\nthe limit are set by the system and are not configurable. The\nreservation and limit are set to the same value, indicating the total amount\nof resources the system has available to run virtual machines. This is\ncomputed as the aggregated CPU and memory resources provided by the set\nof current available hosts in the parent compute resource minus the\noverhead of the virtualization layer.\n\nSince the resource pool configuration is absolute (in MHz or MB), the\nconfiguration can become invalid when resources are removed. This can\nhappen if a host is removed from the cluster, if a host becomes\nunavailable, or if a host is placed in maintenance mode. When this\nhappens, the system flags misconfigured resource pools and displays the\nreservations and limits that are in effect. Further, in a DRS enabled cluster,\nthe tree can be misconfigured if the user bypasses VirtualCenter and powers on\nVMs directly on the host.\n\n**A General Discussion of Resource pool states and admission control**\nThere are three states that the resource pool tree can be in: undercommited\n(green), overcommited (yellow), and inconsistent (red). Depending on the\nstate, different resource pool configuration policies are enforced. The\nstates are described in more detail below:\n- **GREEN (aka undercommitted)**: We have a tree that is\n  in a _good_ state. Every node has a reservation greater than the sum of\n  the reservations for its children. We have enough capacity at the root to\n  satisfy all the resources reserved by the children. All operations\n  performed on the tree, such as powering on virtual machines, creating\n  new resource pools, or reconfiguring resource settings, will ensure\n  that the above constraints are maintained.\n- **RED (aka. inconsistent)**: One or more nodes in the\n  tree has children whose reservations are greater than the node is configured to\n  support. For example, i) a resource pool with a fixed reservation has a running\n  virtual machine with a reservation that is higher than the reservation on\n  resource pool itself., or ii) the child reservations are greater than the limit.\n  \n  In this state, the DRS algorithm is disabled until the resource pool tree's\n  configuration has been brought back into a consistent state. We also restrict\n  the resources that such invalid nodes request from their parents to the\n  configured reservation/limit, in an attempt to isolate the problem to a small\n  subtree. For the rest of the tree, we determine whether the cluster is\n  undercommitted or overcommitted according to the existing rules and perform\n  admission control accordingly.\n  \n  Note that since all changes to the resource settings are validated on the\n  VirtualCenter server, the system cannot be brought into this state by simply\n  manipulating a cluster resource pool tree through VirtualCenter. It can only\n  happen if a virtual machine gets powered on directly on a host that is part of\n  a DRS cluster.\n- **YELLOW (aka overcommitted)**: In this state, the tree is\n  consistent internally, but the root resource pool does not have the capacity at\n  to meet the reservation of its children. We can only go from GREEN -&gt; YELLOW if\n  we lose resources at the root. For example, hosts becomes unavailable or is\n  put into maintenance mode. Note that we will always have enough capacity at the root\n  to run all currently powered on VMs. However, we may not be able to satisfy all\n  resource pool reservations in the tree. In this state, the reservation configured for\n  a resource pool is no longer guaranteed, but the limits are still enforced.\n  This provides additional flexibility for bringing the tree back into a\n  consistent state, without risking bringing the tree into a RED state. In\n  more detail:\n  - **Resource Pool** The root is considered to have unlimited\n    capacity. You can reserve resources without any check except the\n    requirement that the tree remains consistent. This means that\n    nodes whose parents are all configured with expandable reservations and no limit\n    will have unlimited available resources. However, if there is an ancestor with\n    a fixed reservation or an expandable reservation with a limit somewhere, then the\n    node will be limited by the reservation/limit of the ancestor.\n  - **Virtual Machine** Virtual machines are limited by ancestors\n    with a fixed reservation and the capacity at the root.\n    \n**Destroying a ResourcePool**\n\nWhen a ResourcePool is destroyed, all the virtual machines are reassigned to its\nparent pool. The root resource pool cannot be destroyed, and invoking destroy\non it will throw an InvalidType fault.\n\nAny vApps in the ResourcePool will be moved to the ResourcePool's parent\nbefore the pool is destroyed.\n\nThe Resource.DeletePool privilege must be held on the pool as well as the parent\nof the resource pool. Also, the Resource.AssignVMToPool privilege must be held\non the resource pool's parent pool and any virtual machines that are reassigned.\n"
    },
    {
      "name": "ScheduledTask",
      "description": "The scheduled task object.\n"
    },
    {
      "name": "ScheduledTaskManager",
      "description": "Object manager for scheduled tasks.\n"
    },
    {
      "name": "SearchIndex",
      "description": "The SearchIndex service allows a client to efficiently query the\ninventory for a specific managed entity by attributes such as UUID, IP address, DNS\nname, or datastore path.\n\nSuch searches typically return a VirtualMachine or a\nHostSystem. While searching, only objects for which the user has sufficient\nprivileges are considered. The findByInventoryPath and findChild operations only\nsearch on entities for which the user has view privileges; all other SearchIndex\nfind operations only search virtual machines and hosts for which the user has\nread privileges. If the user does not have sufficient privileges for an object that\nmatches the search criteria, that object is not returned.\n"
    },
    {
      "name": "ServiceInstance",
      "description": "The *ServiceInstance* managed object is the singleton root object of the inventory\non both vCenter servers and servers running on standalone host agents.\n\nThe server creates the *ServiceInstance* automatically, and also automatically\ncreates the various manager entities that provide services in the virtual\nenvironment. Some examples of manager entities are *LicenseManager*,\n*PerformanceManager*, and *ViewManager*. You can\naccess the manager entities through the *ServiceInstance.content* property.\n\nA vSphere API client application begins by connecting to a server\nand obtaining a reference to the *ServiceInstance*. The client can then use\nthe *ServiceInstance.RetrieveServiceContent* method to gain\naccess to the various vSphere manager entities and to the root folder\nof the inventory.\n\nWhen you create managed objects, the server adds them to the inventory.\nThe inventory of managed objects includes instances the following object types:\n- *ServiceInstance* -- Root of the inventory; created by vSphere.\n- *Datacenter* -- A container that represents a virtual\n  data center. It contains hosts, network entities,\n  virtual machines and virtual applications,\n  and datastores.\n- *Folder* -- A container used for hierarchical\n  organization of the inventory.\n- *VirtualMachine* -- A virtual machine.\n- *VirtualApp* -- A virtual application.\n- *ComputeResource* -- A compute resource\n  (either a cluster or a stand-alone host).\n- *ResourcePool* -- A subset of resources provided by a ComputeResource.\n- *HostSystem* -- A single host (ESX Server or VMware Server).\n- *Network* -- A network available to either hosts or virtual\n  machines.\n- *DistributedVirtualSwitch* -- A distributed virtual switch.\n- *DistributedVirtualPortgroup* -- A distributed virtual port group.\n- *Datastore* -- Platform-independent, host-independent storage\n  for virtual machine files.\n  \nThe following figure shows the organization of managed objects in the\nvCenter hierarchy:\n\nEvery Datacenter has the following set of dedicated folders.\nThese folders are empty until you create entities for the Datacenter.\n- A folder for any combination of *VirtualMachine*\n  and/or *VirtualApp* objects. *VirtualApp* objects can be nested,\n  but only the parent *VirtualApp* can be visible in the folder.\n  Virtual machines that are children of virtual applications are not\n  associated with a VirtualMachine/VirtualApp folder.\n- A folder for a *ComputeResource* hierarchy.\n- A folder for network entities - any combination\n  of *Network*, *DistributedVirtualSwitch*, and/or\n  *DistributedVirtualPortgroup* objects.\n- A folder for *Datastore* objects.\n  \nThe host agent hierarchy has the same general form as the vCenter hierarchy,\nbut most of the objects are limited to one instance:\n"
    },
    {
      "name": "ServiceManager",
      "description": "The ServiceManager managed object is a singleton object that is used to present\nservices that are optional and not necessarily formally defined.\n\nThis directory makes available a list of such services and provides an easy way\nto locate them. The service being represented can take arbitrary form here and\nis thus represented by a generic ManagedObject. The expectation is that the\nclient side is knowledgeable of the instance type of the specific service it\nis interested in using.\n"
    },
    {
      "name": "SessionManager",
      "description": "This managed object type includes methods for logging on and\nlogging off clients, determining which clients are currently\nlogged on, and forcing clients to log off.\n"
    },
    {
      "name": "SimpleCommand",
      "description": "A managed object that wraps the execution of a single arbitrary\ncommand.\n\nThe specific command executed is assumed to be known from\nthe service name by the client invoking this command. This object\npresents a generic interface for such services.\n"
    },
    {
      "name": "SiteInfoManager",
      "description": "This managed object type is used for managing external site-related\ncapabilities which are advertised by vCenter.\n"
    },
    {
      "name": "StoragePod",
      "description": "The *StoragePod* data object aggregates the storage\nresources of associated *Datastore* objects into a single\nstorage resource for use by virtual machines.\n\nThe storage services\nsuch as Storage DRS (Distributed Resource Scheduling),\nenhance the utility of the storage pod.\n\nUse the *Folder*.*Folder.CreateStoragePod* method\nto create an instance of this object.\n"
    },
    {
      "name": "StorageQueryManager",
      "description": "This managed object is used to query vCenter Server's storage system\nentities.\n"
    },
    {
      "name": "StorageResourceManager",
      "description": "This managed object type provides a way to configure resource usage for\nstorage resources.\n"
    },
    {
      "name": "Task",
      "description": "A task is used to monitor and potentially cancel long\nrunning operations.\n"
    },
    {
      "name": "TaskHistoryCollector",
      "description": "TaskHistoryCollector provides a mechanism for\nretrieving historical data and updates when the server appends new\ntasks.\n"
    },
    {
      "name": "TaskManager",
      "description": "The TaskManager managed object provides an interface for creating and managing\n*Task* managed objects.\n\nMany operations are non-blocking,\nreturning a *Task* managed object that can be monitored by a\nclient application. *Task* managed objects may also be\naccessed through the TaskManager.\n"
    },
    {
      "name": "TenantTenantManager",
      "description": "A singleton managed object for managing vCenter tenants.\n"
    },
    {
      "name": "UserDirectory",
      "description": "The *UserDirectory* managed object provides information about users\nand groups on a vSphere server and ESX hosts.\n\nThe method\n*UserDirectory.RetrieveUserGroups* returns a list\nof user account data. The method can perform a search operation based on\nspecific criteria - user name, group name, sub-string or string matching,\nand, on Windows, domain. Use the results as input\nto the AuthorizationManager methods\n*AuthorizationManager.SetEntityPermissions* and\n*AuthorizationManager.ResetEntityPermissions*.\n\nThe content of the returned results depends on the server environment:\n- On a Windows host, *UserDirectory.RetrieveUserGroups* can search\n  from the set of trusted domains on the host, including the primary\n  domain of the system. A special domain (specified as an\n  empty string - &quot;&quot;) refers to the users and groups local\n  to the host.\n- On an ESX Server or a Linux host, the search operates on the\n  users and groups defined in the /etc/passwd file. Always specify\n  an empty string (&quot;&quot;) for the domain argument.\n  If the /etc/passwd file contains Sun NIS or NIS+ users and groups,\n  RetrieveUserGroups returns information about these accounts as well.\n"
    },
    {
      "name": "VStorageObjectManagerBase",
      "description": "Base interface to manage virtual storage object.\n"
    },
    {
      "name": "VcenterVStorageObjectManager",
      "description": "Interface to manage virtual storage object on a vCenter.\n\nVStorageObjectManager and SPBM policy support:\nAll of the VStorageObjectManager APIs requiring ESXi host\nuses \"Programatically selected\" host to perform the actual operation.\nIf the selected host is of 6.5 version then policy would not be passed\ndown to host. In that case, user operation would succeed but if user checks\nSPBM Entity Compliance, it will show \"Mismatch\" / \"Non Compliant\" as a\ncompliance result.\n"
    },
    {
      "name": "View",
      "description": "*View* is the base class for session-specific view objects.\n\nA view is a mechanism that supports selection of objects on the server\nand subsequently, access to those objects.\nTo create a view, use the *ViewManager* methods.\nA view exists until you terminate it by calling the *View.DestroyView* method,\nor until the end of the session.\nAccess to a view is limited to the session in which it is created.\n\nThere are three types of views:\n- *ContainerView*\n- *ListView*\n- *InventoryView*\n  \nA view maintains a *ManagedObjectView.view* list that contains\nmanaged object references. You can use a view\nwith the *PropertyCollector* to retrieve data and\nobtain notification of changes to the virtual environment.\nFor information about using views with the PropertyCollector,\nsee the description of *ViewManager*.\n"
    },
    {
      "name": "ViewManager",
      "description": "The *ViewManager* managed object provides methods to create *ContainerView*,\n*InventoryView*, and *ListView* managed objects.\n\nThe *ViewManager* also maintains a list of managed object references\nto the views that you have created. Use the *ViewManager.viewList*\nproperty to access the views.\n\nA *View* is a mechanism that supports selection of objects on the server\nand subsequently, access to those objects. Views can simplify the task of\nretrieving data from the server. When you use a view, you can use a single\ninvocation of a *PropertyCollector* method\nto retrieve data or receive notification of changes instead of multiple invocations\ninvolving multiple filter specifications. A view exists until you destroy it\nor until the end of the session.\n\nThe *ViewManager* supports the following views:\n- A *ContainerView* is based on *Folder*,\n  *Datacenter*, *ComputeResource*,\n  *ResourcePool*, or *HostSystem* managed objects.\n  Use a container view to monitor the container contents and optionally,\n  its descendants.\n- A *ListView* managed object is based on an arbitrary but\n  specific set of objects. When you create a list view, you provide\n  a list of objects to populate the view\n  (*ViewManager.CreateListView*),\n  or you provide an existing view from which the new view is created\n  (*ViewManager.CreateListViewFromView*).\n- An *InventoryView* managed object is based on the entire inventory.\n  Use an inventory view as a general mechanism to monitor the inventory\n  or portions of the inventory.\n  \nFor example, you might use the following sequence of operations to get the\nnames of all the virtual machines on a server:\n1. Create a *ContainerView* for the root folder in the server inventory.\n   For the *ContainerView*, use the *ContainerView.type* property\n   to include only virtual machines.\n2. Create a filter specification for the *PropertyCollector*.\n   - Use the *ContainerView* as the starting object in the\n     *ObjectSpec* for the filter.\n   - Use the *TraversalSpec*\n     to select all objects in the view list (all the virtual machines).\n   - Use the *PropertySpec*\n     to retrieve the name property from each virtual machine.\n3. Invoke the *PropertyCollector*\n   *PropertyCollector.RetrieveProperties* method.\n"
    },
    {
      "name": "VirtualApp",
      "description": "Represents a multi-tiered software solution.\n\nA vApp is a collection of\nvirtual machines (and potentially other vApp containers) that are operated and\nmonitored as a unit. From a manage perspective, a multi-tiered vApp acts a\nlot like a virtual machine object. It has power operations, networks, datastores,\nand its resource usage can be configured.\n\nFrom a technical perspective, a vApp container is a specialized resource pool that\nhas been extended with the following capabilities:\n- Product information such as product name, vendor, properties,\n  and licenses.\n- A power-on/power-off sequence specification\n- Support for import/export vApps as OVF packages\n- An OVF environment that allows for application-level customization\n  \n**Destroying a vApp**\n\nWhen a vApp is destroyed, all of its virtual machines are destroyed,\nas well as any child vApps.\n\nThe VApp.Delete privilege must be held on the vApp as well as the\nparent folder of the vApp. Also, the VApp.Delete privilege must\nbe held on any child vApps that would be destroyed by the operation.\n"
    },
    {
      "name": "VirtualDiskManager",
      "description": "Most VirtualDiskManager APIs will be DEPRECATED as of vSphere 6.5.\nPlease use VStorageObjectManager APIs to manage Virtual disks.\n\nThis managed object type provides a way to manage and manipulate virtual disks\non datastores. The source and the destination names are in the form of\na URL or a datastore path.\n\nA URL has the form\n> _scheme_://_authority_/folder/_path_?dcPath=_dcPath_&amp;dsName=_dsName_\n\nwhere\n- _scheme_ is <code>http</code> or <code>https</code>.\n- _authority_ specifies the hostname or IP address of the VirtualCenter or\n  ESX server and optionally the port.\n- _dcPath_ is the inventory path to the Datacenter containing the\n  Datastore.\n- _dsName_ is the name of the Datastore.\n- _path_ is a slash-delimited path from the root of the datastore.\n\nA datastore path has the form\n> \\[_datastore_\\] _path_\n\nwhere\n- _datastore_ is the datastore name.\n- _path_ is a slash-delimited path from the root of the datastore.\n\nAn example datastore path is \"\\[storage\\] path/to/file.extension\".\nA listing of all the files, disks and folders on\na datastore can be obtained from the datastore browser.\n\nSee also *HostDatastoreBrowser*.\n"
    },
    {
      "name": "VirtualMachine",
      "description": "VirtualMachine is the managed object type for manipulating virtual machines,\nincluding templates that can be deployed (repeatedly) as new virtual machines.\n\nThis type provides methods for configuring and controlling a virtual machine.\n\nVirtualMachine extends the ManagedEntity type because virtual machines are\npart of a virtual infrastructure inventory. The parent of a virtual machine\nmust be a folder, and a virtual machine has no children.\n\nDestroying a virtual machine disposes of all associated storage, including\nthe virtual disks. To remove a virtual machine while retaining its\nvirtual disk storage, a client must remove the virtual disks\nfrom the virtual machine before destroying it.\n"
    },
    {
      "name": "VirtualMachineCompatibilityChecker",
      "description": "A singleton managed object that can answer questions about compatibility\nof a virtual machine with a host.\n"
    },
    {
      "name": "VirtualMachineGuestCustomizationManager",
      "description": "GuestCustomizationManager is a singleton managed object that provides APIs\nfor guest customization of a running VM.\n"
    },
    {
      "name": "VirtualMachineProvisioningChecker",
      "description": "A singleton managed object that can answer questions about\nthe feasibility of certain provisioning operations.\n"
    },
    {
      "name": "VirtualMachineSnapshot",
      "description": "The Snapshot managed object type specifies the interface to individual snapshots\nof a virtual machine.\n\nAlthough these are managed objects, they are subordinate to\ntheir virtual machine.\n"
    },
    {
      "name": "VirtualizationManager",
      "description": "Deprecated as of VI API 2.5, use the VMware vCenter Converter,\nan optional software plug-in for vCenter Server for\nmigrating physical and virtual machines to VMware vSphere.\n\nThe VirtualizationManager is the interface for discover and consolidate\nhost and services from physical environment to virtualization environment.\n"
    },
    {
      "name": "VmwareDistributedVirtualSwitch",
      "description": "The *VmwareDistributedVirtualSwitch* managed object\nis the VMware implementation of a distributed virtual switch.\n\nThe functionality listed here is for a VMware distributed virtual switch only.\n\nWhen you use a VMware distributed virtual switch, you can perform\nbackup and restore operations on the VMware switch. You can also\nperform rollback operations on the switch and on portgroups\nassociated with the VMware switch. See the description for the\nfollowing methods:\n- *DistributedVirtualSwitchManager.DVSManagerExportEntity_Task*\n- *DistributedVirtualSwitchManager.DVSManagerImportEntity_Task*\n- *DistributedVirtualSwitch.DVSRollback_Task*\n- *DistributedVirtualPortgroup.DVPortgroupRollback_Task*\n"
    },
    {
      "name": "VsanUpgradeSystem",
      "description": "VSAN Upgrade System.\n\nUsed to perform and monitor VSAN on-disk format\nupgrades.\n"
    },
    {
      "name": "Agency",
      "description": "An <code>Agency</code> handles the deployment of a single type of agent\nvirtual machine and any associated VIB bundle, on a set of compute resources.\n\nFor a solution to deploy multiple types of agents, it must create multiple\nagencies by using <code>createAgency</code> on *EsxAgentManager* (see\n*EsxAgentManager.CreateAgency*).\n\nCreating an agency is a long-running process. vSphere ESX Agent Manager must\ninstall VIBs, configure hosts, install agent virtual machines and do many\nmore things. Each of these steps can take a considerable amount of time.\nvSphere ESX Agent Manager can also encounter problems when creating the\nagency. In this case, the solution must remediate the problem. See\n*Issue* for a description of the kinds of issue that vSphere ESX Agent\nManager will raise. Similarly, removing an agency from vSphere ESX Agent\nManager is also a long-running process that involves many steps. Removing an\nagency can also raise issues.\n\nUse the <code>goalState</code> and <code>status</code> properties to show the\nprogress of creating or removing an Agency. The <code>goalState</code> and\n<code>status</code> properties are found in the runtime information of an\n<code>Agency</code> (see *EamObjectRuntimeInfo.status* in\n*Agency.runtime*):\n- <code>goalState</code>. The goal state describes the overall goal of an\n  <code>Agency</code>. The goal state can be <code>enabled</code> or\n  <code>uninstalled</code>:\n  - <code>enabled</code>. The <code>Agency</code> continuously deploys VIBs\n    and agent virtual machines, powers on agent virtual machines, and monitors\n    agents for issues.\n  - <code>uninstalled</code>. The <code>Agency</code> uninstalls any\n    installed VIBs and powers off and deletes any deployed agent virtual\n    machines.\n- <code>status</code>. The status of the <code>Agency</code> regarding the\n  given goal state. Status can be either red, yellow or green:\n  - <code>red</code>. An issue is preventing the <code>Agency</code> from\n    reaching its desired goal state. See *EamObjectRuntimeInfo.issue* in\n    *Agency.runtime* for the types of issues that can block this\n    <code>Agency</code>.\n  - <code>yellow</code>. The <code>Agency</code> is actively working to reach\n    the desired goal state. For the <code>enabled</code> goal state, this means\n    that this <code>Agency</code> is currently installing VIBs, deploying agent\n    virtual machines, and powering them on.\n  - <code>green</code>. The <code>Agency</code> has reached the desired goal\n    state. The <code>Agency</code> is no longer actively scheduling new tasks but\n    is monitoring the vCenter Server for changes that might conflict with this\n    <code>Agency</code>'s goal state.\n    \nThe following image shows in general terms how the status changes in the\nlife-cycle of an <code>Agency</code>.\n\n\"Agency degraded\" means that something has happened in the vCenter Server\nthat causes this <code>Agency</code> to actively schedule new tasks to reach\nthe goal state. For example, adding a host to a cluster covered by the scope\nof the <code>Agency</code>, which causes ESX Agent Manager to install a VIB\nand deploy an agent virtual machine on the new host.\nA solution should monitor the list of issues associated with this\n<code>Agency</code>.\n\nThe solution can poll *Agency.runtime*.\n"
    },
    {
      "name": "Agent",
      "description": "An <code>Agent</code> is the vSphere ESX Agent Manager managed object\nresponsible for deploying an <code>Agency</code> on a single host.\n\nThe\n<code>Agent</code> maintains the state of the current deployment in its\nruntime information (see *Agent.runtime*).\n\nAn <code>Agent</code> has the same <code>goalState</code> and\n<code>status</code> properties as an <code>Agency</code>, that are used in\nthe same way:\n- <code>goalState</code>. The goal state describes the overall goal of this\n  <code>Agent</code>. It can be <code>enabled</code> or\n  <code>uninstalled</code>:\n  - <code>enabled</code>. The <code>Agent</code> deploys its VIB, its agent\n    virtual machine, and powers on the agent virtual machine. The\n    <code>Agent</code> monitors in vCenter the status of the installation of the\n    VIB (in case it is uninstalled outside of vSphere ESX Agent Manager) and of\n    the agent virtual machine (in case an operation is performed on it outside of\n    vSphere ESX Agent Manager).\n  - <code>uninstalled</code>. The <code>Agent</code> uninstalls any installed\n    VIB and power off and delete the deployed agent virtual machine.\n- <code>status</code>. The status of the <code>Agent</code> regarding the\n  given goal state. Status can be either red, yellow or green:\n  - <code>red</code>. An issue is preventing the <code>Agent</code> from\n    reaching its desired goal state. See *EamObjectRuntimeInfo.issue* in\n    *Agent.runtime* for the types of issues that can block this\n    <code>Agent</code>.\n  - <code>yellow</code>. The <code>Agent</code> is actively working to reach\n    the desired goal state. For the <code>enabled</code> goal state, this means\n    that this <code>Agent</code> is installing its VIB, deploying the agent\n    virtual machine, and powering it on.\n  - <code>green</code>. The <code>Agent</code> has reached the desired goal\n    state. The <code>Agent</code> is no longer actively scheduling new tasks but\n    is monitoring vCenter for changes that might conflict with this\n    <code>Agent</code>'s goal state.\n"
    },
    {
      "name": "EamObject",
      "description": "Base class for the <code>Agent</code>, <code>Agency</code> and\n<code>EsxAgentManager</code> classes.\n"
    },
    {
      "name": "EamTask",
      "description": "Returned when invoking long-running operations in vSphere ESX Agent Manager.\n"
    },
    {
      "name": "EsxAgentManager",
      "description": "The <code>EsxAgentManager</code> is the main entry point for a solution to\ncreate agencies in the vSphere ESX Agent Manager server.\n\nIn vCenter 6.0, a _solution_ is either a vCenter extension or a regular\nuser.\n\nThe vSphere ESX Agent Manager VMODL API distinguishes between two types of\nusers: VC extensions and regular vCenter users. These users have different\nprivileges in the vSphere ESX Agent Manager VMODL API:\n- VC extensions have the privileges to call anything in the vSphere ESX\n  Agent Manager VMODL API.\n- Regular vCenter users have restrictions on what methods they can call.\n  The methods that a vCenter user that is not an extension can call are\n  annotated with two types of privileges, <code>Eam.View</code> and\n  <code>Eam.Modify</code>:\n  - <code>Eam.View</code>. If a method has the <code>Eam.View</code>\n    privilege, a user can call that method if they have the <code>EAM.View</code>\n    privilege in vCenter.\n  - <code>Eam.Modify</code>. Similarly to <code>Eam.View</code>, if a method\n    has the <code>Eam.Modify</code> privilege, a user can call that method if\n    they have the <code>EAM.Modify</code> privilege in vCenter. If a user has the\n    <code>EAM.Modify</code> privilege, they automatically have\n    <code>EAM.View</code>.\n    \nIn vCenter 6.5 every _solution_, which is making VMODL API calls to\nEsxAgentManager, should be aware of the posibility, that the data from\nvCenter database might not be fully loaded. In all such cases the clients\nwill receive an _ESX Agent Manager_ runtime fault:\n_EamServiceNotInitialized_.\nNOTE: No issues are associated with <code>EsxAgentManager</code> any longer.\n"
    },
    {
      "name": "PbmCapabilityMetadataManager",
      "description": "Intended for internal use.\n"
    },
    {
      "name": "PbmComplianceManager",
      "description": "The *PbmComplianceManager* provides methods to verify the compliance\nof virtual machine and virtual disk requirement profiles.\n\nWhen you provision\na virtual machine on a matching datastore, the Server sends the profile\nto the storage provider. When you perform a compliance check, the storage\nprovider compares the requirements with its capabilities,\nreturns the results to the Server, and the Server returns the results\nto your client. The Server maintains the compliance results for retrieval\nat a later time.\n\nYou can check the compliance of one or more virtual machines and/or virtual disks.\nYou can also perform a rollup compliance check, in which the Server checks the\ncompliance of a virtual machine and all of its virtual disks.\n"
    },
    {
      "name": "PbmPlacementSolver",
      "description": "The *PbmPlacementSolver* data object provides methods to identify\nplacement hubs that support the capabilities to store virtual\nmachine files.\n\nA placement hub is a datastore or a storage pod.\nA vSphere API <code>StoragePod</code> corresponds to Storage DRS in the vSphere Web Client.\n"
    },
    {
      "name": "PbmProfileProfileManager",
      "description": "The *PbmProfileProfileManager* supports operations on virtual machine storage profiles.\n\nA Storage Policy API profile consists of a set of _subprofiles_.\nA subprofile corresponds to a _rule set_ in the vSphere Web Client.\n\nVirtual machine storage profiles specify the storage requirements\nfor virtual machine files. You use the vSphere Web Client to define virtual machine\nstorage profiles. The requirements\n(*PbmCapabilityProfile*.*PbmCapabilityProfile.constraints*)\nimpose constraints on the placement of virtual machine files.\n\nThe Storage Policy Server also supports datastore profiles. Datastore profiles\ndefine storage capabilities. Storage capabilities are resources defined by\nstorage providers. Storage requirements are based on storage capabilities.\nWhen you associate a storage profile with a virtual machine or virtual disk,\nthe Server sends the profile to the storage provider. When you perform compliance\nchecking (*PbmComplianceManager*), the storage provider\ncompares the requirements with the capabilities.\n\nThe *PbmProfileProfileManager* supports the following operations on\nvirtual machine storage profiles.\n- Create, update, and delete storage profiles.\n- Retrieve profile data based on specified criteria.\n- Retrieve storage vendor data.\n  \nThe following figure shows the set of data objects that comprise\na storage profile specification (*PbmCapabilityProfileCreateSpec*).\nYou pass a storage profile specification to the Storage Policy Server\nwhen you call the following methods:\n- *PbmProfileProfileManager*.*PbmProfileProfileManager.PbmCreate*\n- *PbmPlacementSolver*.*PbmPlacementSolver.PbmCheckCompatibilityWithSpec*\n- *PbmPlacementSolver*.*PbmPlacementSolver.PbmQueryMatchingHubWithSpec*\n<!-- -->\n     +---------------------------------+\n     |  PbmCapabilityProfileCreateSpec |\n     |                            name |     +-------------------------+\n     |                     description |     |  PbmProfileResourceType |\n     |                    resourceType ------|    resourceType=STORAGE |\n     |                     constraints ---   +-------------------------+\n     +---------------------------------+ |\n                                         |\n                                         |\n            +------------------------------------+\n            | PbmCapabilitySubProfileConstraints |\n            |                        subprofiles ---\n            +------------------------------------+ |\n                                                   | 1..n\n                                                   |\n                              +-------------------------+\n                              | PbmCapabilitySubProfile |\n                              |                    name |\n                              |          forceProvision |\n                              |              capability ---\n                              +-------------------------+ |\n                                                          | 1..n            +-------------------------------+\n                                                          |                 | PbmCapabilityMetadataUniqueId |\n                                        +-----------------------+           |                            id |\n                                        | PbmCapabilityInstance |           |                     namespace |\n                                        |                    id ------------+-------------------------------+\n                                        |            constraint ---\n                                        +-----------------------+ |\n                                                                  | 1..n\n                                                                  |                +-------------------------------+\n                                       +---------------------------------+         | PbmCapabilityPropertyInstance |\n                                       | PbmCapabilityConstraintInstance |  1..n   |                            id |\n                                       |                propertyInstance ----------|                         value |\n                                       +---------------------------------+         +-------------------------------+\n"
    },
    {
      "name": "PbmProvider",
      "description": "Intended for internal use.\n"
    },
    {
      "name": "PbmReplicationManager",
      "description": "The *PbmReplicationManager* provides methods dealing with replication aspects of virtual\nmachine and virtual disk requirement profiles.\n"
    },
    {
      "name": "PbmServiceInstance",
      "description": "The *PbmServiceInstance* managed object is the root object of the\nStorage Policy service.\n\nAfter you connect to the Storage Policy Server,\nyou create a reference to the *PbmServiceInstance*, and use\nthat reference to retrieve the *PbmServiceInstanceContent*\ndata object. The *PbmServiceInstanceContent* object provides\naccess to the Storage Policy managed objects.\n"
    },
    {
      "name": "SmsProvider",
      "description": "Provider interface for Storage Monitoring Service (SMS).\n"
    },
    {
      "name": "SmsServiceInstance",
      "description": "Service interface for the Storage Monitoring Service.\n"
    },
    {
      "name": "SmsSessionManager",
      "description": "*SmsSessionManager* managed object manages client sessions.\n\nLogin to SMS service is done through this interface.\nIt is SSO enabled so only login by using SamlToken is allowed.\nThis API is intended for internal use only.\n"
    },
    {
      "name": "SmsStorageManager",
      "description": "The *SmsStorageManager* managed object (SMS) provides methods to retrieve\ninformation about available storage topology, capabilities, and state.\n\nSMS establishes and maintains connections with VASA providers. SMS retrieves\ninformation about storage availability from the providers, and clients can use\nthe SMS API to perform the following operations.\n- Identify VASA providers.\n- Retrieve information about storage arrays.\n- Identify vSphere inventory entities (hosts and datastores)\n  which are associated with external storage entities on the storage arrays.\n"
    },
    {
      "name": "SmsTask",
      "description": "A task is used to monitor long running operations.\n"
    },
    {
      "name": "VasaProvider",
      "description": "VASA(vStorage APIs for Storage Awareness) provider\ndefinition.\n"
    },
    {
      "name": "ManagedObject",
      "description": "This is the built-in base interface implemented by all\nmanaged objects.\n"
    },
    {
      "name": "VslmServiceInstance",
      "description": "The *VslmServiceInstance* managed object is the root object of the\nvSphere Storage Lifecycle Management(VSLM) service.\n\nAfter you connect to\nVSLM Server, you create a reference to the *VslmServiceInstance*, and use\nthat reference to retrieve the *VslmServiceInstanceContent* data\nobject. The *VslmServiceInstanceContent* object provides access to\nVSLM managed objects.\n"
    },
    {
      "name": "VslmSessionManager",
      "description": "*VslmSessionManager* managed object manages client sessions.\n\nLogin to VSLM service is done through this interface.\nIt is SSO enabled so only login by using SamlToken is allowed.\nThis API is intended for internal use only.\n"
    },
    {
      "name": "VslmStorageLifecycleManager",
      "description": "Interface to manage storage inventory in VSLM service.\n\nVSLM maintains inventory of VStorageObjects present on all the datastores\nconnected to VC. If there is a change in datastore membership in VC that has\nto be updated in VSLM as well.\nAPIs in this class are called as callback functions when Datastore\nmembership in VC changes.\n"
    },
    {
      "name": "VslmTask",
      "description": "A task is used to monitor long running operations.\n"
    },
    {
      "name": "VslmVStorageObjectManager",
      "description": "Interface to manage virtual storage object on a vCenter.\n\nVStorageObjectManager and SPBM policy support:\nAll of the VStorageObjectManager APIs requiring ESXi host\nuses \"Programatically selected\" host to perform the actual operation.\nIf the selected host is of 6.5 version then policy would not be passed\ndown to host. In that case, user operation would succeed but if user checks\nSPBM Entity Compliance, it will show \"Mismatch\" / \"Non Compliant\" as a\ncompliance result.\n"
    }
  ],
  "components": {
    "securitySchemes": {
      "Session": {
        "type": "apiKey",
        "in": "header",
        "name": "vmware-api-session-id",
        "description": "A session token, placed in the `vmware-api-session-id` HTTP header, returned by the `Login` operation of the `SessionManager` interface."
      }
    },
    "schemas": {
      "Any": {
        "type": "object",
        "description": "The base of all data types. Not to be used directly on the wire.\n",
        "properties": {
          "_typeName": {
            "description": "The type discriminator. Refers to the name of a valid data object type.\n",
            "type": "string"
          }
        },
        "required": [
          "_typeName"
        ],
        "discriminator": {
          "propertyName": "_typeName",
          "mapping": {
            "boolean": "#/components/schemas/PrimitiveBoolean",
            "byte": "#/components/schemas/PrimitiveByte",
            "short": "#/components/schemas/PrimitiveShort",
            "int": "#/components/schemas/PrimitiveInt",
            "long": "#/components/schemas/PrimitiveLong",
            "float": "#/components/schemas/PrimitiveFloat",
            "double": "#/components/schemas/PrimitiveDouble",
            "string": "#/components/schemas/PrimitiveString",
            "dateTime": "#/components/schemas/PrimitiveDateTime",
            "anyURI": "#/components/schemas/PrimitiveURI",
            "ArrayOfAnyURI": "#/components/schemas/ArrayOfURI",
            "base64Binary": "#/components/schemas/PrimitiveBinary",
            "ArrayOfBase64Binary": "#/components/schemas/ArrayOfBinary",
            "TypeName": "#/components/schemas/PrimitiveTypeName",
            "PropertyPath": "#/components/schemas/PrimitivePropPath",
            "ArrayOfPropertyPath": "#/components/schemas/ArrayOfPropPath",
            "MethodName": "#/components/schemas/PrimitiveMethodName"
          }
        }
      },
      "ArrayOfAnyType": {
        "type": "object",
        "description": "A boxed array of *Any*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Any"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ManagedObjectReference": {
        "type": "object",
        "description": "The ManagedObjectReference data object type is a special-purpose data object. Commonly referred to as simply a \"reference\", \"MoRef\", \"MOR\", or other variations of this theme, instances of managed object references contain data that identifies specific server-side managed objects. Managed object references are typically one of the return types from a method invocation.\n\nManaged object references are client application references to server-side managed objects. The client application uses ManagedObjectReference objects when it invokes operations on a server. A ManagedObjectReference is guaranteed to be unique and persistent during an object's lifetime. The reference persists after an object has moved within the inventory, across sessions, and across server restarts. If you remove an object, for example, a virtual machine, from the inventory, and then put it back, the reference changes.\n",
        "properties": {
          "type": {
            "description": "The name of the Managed Object type this ManagedObjectReference refers to.\n",
            "$ref": "#/components/schemas/MoTypes_enum"
          },
          "value": {
            "description": "A unique identifier (within this vCenter Server instance) for a specific managed object such as `group-d1` or `vm-015` or `ServiceInstance`.\n",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MoTypes_enum": {
        "type": "string",
        "description": "Possible values:\n- `Alarm`\n- `AlarmManager`\n- `AuthorizationManager`\n- `CertificateManager`\n- `ClusterComputeResource`\n- `ClusterEVCManager`\n- `ClusterProfile`\n- `ClusterProfileManager`\n- `ComputeResource`\n- `ContainerView`\n- `CryptoManager`\n- `CryptoManagerHost`\n- `CryptoManagerHostKMS`\n- `CryptoManagerKmip`\n- `CustomFieldsManager`\n- `CustomizationSpecManager`\n- `Datacenter`\n- `Datastore`\n- `DatastoreNamespaceManager`\n- `DiagnosticManager`\n- `DistributedVirtualPortgroup`\n- `DistributedVirtualSwitch`\n- `DistributedVirtualSwitchManager`\n- `EnvironmentBrowser`\n- `EventHistoryCollector`\n- `EventManager`\n- `ExtensibleManagedObject`\n- `ExtensionManager`\n- `FailoverClusterConfigurator`\n- `FailoverClusterManager`\n- `FileManager`\n- `Folder`\n- `GuestAliasManager`\n- `GuestAuthManager`\n- `GuestFileManager`\n- `GuestOperationsManager`\n- `GuestProcessManager`\n- `GuestWindowsRegistryManager`\n- `HealthUpdateManager`\n- `HistoryCollector`\n- `HostAccessManager`\n- `HostActiveDirectoryAuthentication`\n- `HostAssignableHardwareManager`\n- `HostAuthenticationManager`\n- `HostAuthenticationStore`\n- `HostAutoStartManager`\n- `HostBootDeviceSystem`\n- `HostCacheConfigurationManager`\n- `HostCertificateManager`\n- `HostCpuSchedulerSystem`\n- `HostDatastoreBrowser`\n- `HostDatastoreSystem`\n- `HostDateTimeSystem`\n- `HostDiagnosticSystem`\n- `HostDirectoryStore`\n- `HostEsxAgentHostManager`\n- `HostFirewallSystem`\n- `HostFirmwareSystem`\n- `HostGraphicsManager`\n- `HostHealthStatusSystem`\n- `HostImageConfigManager`\n- `HostKernelModuleSystem`\n- `HostLocalAccountManager`\n- `HostLocalAuthentication`\n- `HostMemorySystem`\n- `HostNetworkSystem`\n- `HostNvdimmSystem`\n- `HostPatchManager`\n- `HostPciPassthruSystem`\n- `HostPowerSystem`\n- `HostProfile`\n- `HostProfileManager`\n- `HostServiceSystem`\n- `HostSnmpSystem`\n- `HostSpecificationManager`\n- `HostStorageSystem`\n- `HostSystem`\n- `HostVFlashManager`\n- `HostVMotionSystem`\n- `HostVStorageObjectManager`\n- `HostVirtualNicManager`\n- `HostVsanInternalSystem`\n- `HostVsanSystem`\n- `HttpNfcLease`\n- `InventoryView`\n- `IoFilterManager`\n- `IpPoolManager`\n- `IscsiManager`\n- `LicenseAssignmentManager`\n- `LicenseManager`\n- `ListView`\n- `LocalizationManager`\n- `ManagedEntity`\n- `ManagedObjectView`\n- `MessageBusProxy`\n- `Network`\n- `OpaqueNetwork`\n- `OptionManager`\n- `OverheadMemoryManager`\n- `OvfManager`\n- `PerformanceManager`\n- `Profile`\n- `ProfileComplianceManager`\n- `ProfileManager`\n- `PropertyCollector`\n- `PropertyFilter`\n- `ResourcePlanningManager`\n- `ResourcePool`\n- `ScheduledTask`\n- `ScheduledTaskManager`\n- `SearchIndex`\n- `ServiceInstance`\n- `ServiceManager`\n- `SessionManager`\n- `SimpleCommand`\n- `SiteInfoManager`\n- `StoragePod`\n- `StorageQueryManager`\n- `StorageResourceManager`\n- `Task`\n- `TaskHistoryCollector`\n- `TaskManager`\n- `TenantTenantManager`\n- `UserDirectory`\n- `VStorageObjectManagerBase`\n- `VcenterVStorageObjectManager`\n- `View`\n- `ViewManager`\n- `VirtualApp`\n- `VirtualDiskManager`\n- `VirtualMachine`\n- `VirtualMachineCompatibilityChecker`\n- `VirtualMachineGuestCustomizationManager`\n- `VirtualMachineProvisioningChecker`\n- `VirtualMachineSnapshot`\n- `VirtualizationManager`\n- `VmwareDistributedVirtualSwitch`\n- `VsanUpgradeSystem`\n- `Agency`\n- `Agent`\n- `EamObject`\n- `EamTask`\n- `EsxAgentManager`\n- `PbmCapabilityMetadataManager`\n- `PbmComplianceManager`\n- `PbmPlacementSolver`\n- `PbmProfileProfileManager`\n- `PbmProvider`\n- `PbmReplicationManager`\n- `PbmServiceInstance`\n- `PbmSessionManager`\n- `SmsProvider`\n- `SmsServiceInstance`\n- `SmsSessionManager`\n- `SmsStorageManager`\n- `SmsTask`\n- `VasaProvider`\n- `ManagedObject`\n- `VslmServiceInstance`\n- `VslmSessionManager`\n- `VslmStorageLifecycleManager`\n- `VslmTask`\n- `VslmVStorageObjectManager`\n",
        "enum": [
          "Alarm",
          "AlarmManager",
          "AuthorizationManager",
          "CertificateManager",
          "ClusterComputeResource",
          "ClusterEVCManager",
          "ClusterProfile",
          "ClusterProfileManager",
          "ComputeResource",
          "ContainerView",
          "CryptoManager",
          "CryptoManagerHost",
          "CryptoManagerHostKMS",
          "CryptoManagerKmip",
          "CustomFieldsManager",
          "CustomizationSpecManager",
          "Datacenter",
          "Datastore",
          "DatastoreNamespaceManager",
          "DiagnosticManager",
          "DistributedVirtualPortgroup",
          "DistributedVirtualSwitch",
          "DistributedVirtualSwitchManager",
          "EnvironmentBrowser",
          "EventHistoryCollector",
          "EventManager",
          "ExtensibleManagedObject",
          "ExtensionManager",
          "FailoverClusterConfigurator",
          "FailoverClusterManager",
          "FileManager",
          "Folder",
          "GuestAliasManager",
          "GuestAuthManager",
          "GuestFileManager",
          "GuestOperationsManager",
          "GuestProcessManager",
          "GuestWindowsRegistryManager",
          "HealthUpdateManager",
          "HistoryCollector",
          "HostAccessManager",
          "HostActiveDirectoryAuthentication",
          "HostAssignableHardwareManager",
          "HostAuthenticationManager",
          "HostAuthenticationStore",
          "HostAutoStartManager",
          "HostBootDeviceSystem",
          "HostCacheConfigurationManager",
          "HostCertificateManager",
          "HostCpuSchedulerSystem",
          "HostDatastoreBrowser",
          "HostDatastoreSystem",
          "HostDateTimeSystem",
          "HostDiagnosticSystem",
          "HostDirectoryStore",
          "HostEsxAgentHostManager",
          "HostFirewallSystem",
          "HostFirmwareSystem",
          "HostGraphicsManager",
          "HostHealthStatusSystem",
          "HostImageConfigManager",
          "HostKernelModuleSystem",
          "HostLocalAccountManager",
          "HostLocalAuthentication",
          "HostMemorySystem",
          "HostNetworkSystem",
          "HostNvdimmSystem",
          "HostPatchManager",
          "HostPciPassthruSystem",
          "HostPowerSystem",
          "HostProfile",
          "HostProfileManager",
          "HostServiceSystem",
          "HostSnmpSystem",
          "HostSpecificationManager",
          "HostStorageSystem",
          "HostSystem",
          "HostVFlashManager",
          "HostVMotionSystem",
          "HostVStorageObjectManager",
          "HostVirtualNicManager",
          "HostVsanInternalSystem",
          "HostVsanSystem",
          "HttpNfcLease",
          "InventoryView",
          "IoFilterManager",
          "IpPoolManager",
          "IscsiManager",
          "LicenseAssignmentManager",
          "LicenseManager",
          "ListView",
          "LocalizationManager",
          "ManagedEntity",
          "ManagedObjectView",
          "MessageBusProxy",
          "Network",
          "OpaqueNetwork",
          "OptionManager",
          "OverheadMemoryManager",
          "OvfManager",
          "PerformanceManager",
          "Profile",
          "ProfileComplianceManager",
          "ProfileManager",
          "PropertyCollector",
          "PropertyFilter",
          "ResourcePlanningManager",
          "ResourcePool",
          "ScheduledTask",
          "ScheduledTaskManager",
          "SearchIndex",
          "ServiceInstance",
          "ServiceManager",
          "SessionManager",
          "SimpleCommand",
          "SiteInfoManager",
          "StoragePod",
          "StorageQueryManager",
          "StorageResourceManager",
          "Task",
          "TaskHistoryCollector",
          "TaskManager",
          "TenantTenantManager",
          "UserDirectory",
          "VStorageObjectManagerBase",
          "VcenterVStorageObjectManager",
          "View",
          "ViewManager",
          "VirtualApp",
          "VirtualDiskManager",
          "VirtualMachine",
          "VirtualMachineCompatibilityChecker",
          "VirtualMachineGuestCustomizationManager",
          "VirtualMachineProvisioningChecker",
          "VirtualMachineSnapshot",
          "VirtualizationManager",
          "VmwareDistributedVirtualSwitch",
          "VsanUpgradeSystem",
          "Agency",
          "Agent",
          "EamObject",
          "EamTask",
          "EsxAgentManager",
          "PbmCapabilityMetadataManager",
          "PbmComplianceManager",
          "PbmPlacementSolver",
          "PbmProfileProfileManager",
          "PbmProvider",
          "PbmReplicationManager",
          "PbmServiceInstance",
          "PbmSessionManager",
          "SmsProvider",
          "SmsServiceInstance",
          "SmsSessionManager",
          "SmsStorageManager",
          "SmsTask",
          "VasaProvider",
          "ManagedObject",
          "VslmServiceInstance",
          "VslmSessionManager",
          "VslmStorageLifecycleManager",
          "VslmTask",
          "VslmVStorageObjectManager"
        ]
      },
      "ArrayOfManagedObjectReference": {
        "type": "object",
        "description": "A boxed array of *ManagedObjectReference*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveBoolean": {
        "type": "object",
        "description": "A boxed Boolean primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "boolean"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfBoolean": {
        "type": "object",
        "description": "A boxed array of *PrimitiveBoolean*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "boolean"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveByte": {
        "type": "object",
        "description": "A boxed Byte primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "integer",
            "minimum": -128,
            "maximum": 127
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfByte": {
        "type": "object",
        "description": "A boxed array of *PrimitiveByte*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -128,
              "maximum": 127
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveShort": {
        "type": "object",
        "description": "A boxed Short primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfShort": {
        "type": "object",
        "description": "A boxed array of *PrimitiveShort*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -32768,
              "maximum": 32767
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveInt": {
        "type": "object",
        "description": "A boxed Int primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfInt": {
        "type": "object",
        "description": "A boxed array of *PrimitiveInt*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveLong": {
        "type": "object",
        "description": "A boxed Long primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfLong": {
        "type": "object",
        "description": "A boxed array of *PrimitiveLong*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveFloat": {
        "type": "object",
        "description": "A boxed Float primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "number",
            "format": "float"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfFloat": {
        "type": "object",
        "description": "A boxed array of *PrimitiveFloat*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "float"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveDouble": {
        "type": "object",
        "description": "A boxed Double primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "number",
            "format": "double"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfDouble": {
        "type": "object",
        "description": "A boxed array of *PrimitiveDouble*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveString": {
        "type": "object",
        "description": "A boxed String primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "string"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfString": {
        "type": "object",
        "description": "A boxed array of *PrimitiveString*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveDateTime": {
        "type": "object",
        "description": "A boxed DateTime primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfDateTime": {
        "type": "object",
        "description": "A boxed array of *PrimitiveDateTime*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveURI": {
        "type": "object",
        "description": "A boxed URI primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "string"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfURI": {
        "type": "object",
        "description": "A boxed array of *PrimitiveURI*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveBinary": {
        "type": "object",
        "description": "A boxed Binary primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "string",
            "format": "byte"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfBinary": {
        "type": "object",
        "description": "A boxed array of *PrimitiveBinary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "byte"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveTypeName": {
        "type": "object",
        "description": "A boxed TypeName primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "string"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfTypeName": {
        "type": "object",
        "description": "A boxed array of *PrimitiveTypeName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitivePropPath": {
        "type": "object",
        "description": "A boxed PropPath primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "string"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfPropPath": {
        "type": "object",
        "description": "A boxed array of *PrimitivePropPath*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrimitiveMethodName": {
        "type": "object",
        "description": "A boxed MethodName primitive. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "string"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfMethodName": {
        "type": "object",
        "description": "A boxed array of *PrimitiveMethodName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AbdicateDomOwnershipRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.AbdicateDomOwnership*.\n",
        "properties": {
          "uuids": {
            "description": "List of VSAN/DOM object UUIDs.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "uuids"
        ]
      },
      "AbortCustomizationRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineGuestCustomizationManager.AbortCustomization_Task*.\n",
        "properties": {
          "vm": {
            "description": "The Virtual Machine managed object reference.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          }
        },
        "required": [
          "vm",
          "auth"
        ]
      },
      "AcknowledgeAlarmRequestType": {
        "type": "object",
        "description": "The parameters of *AlarmManager.AcknowledgeAlarm*.\n",
        "properties": {
          "alarm": {
            "description": "The Alarm to acknowledge.\n\n***Required privileges:*** Alarm.Acknowledge\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entity": {
            "description": "The ManagedEntity for which to acknowledge the Alarm.\n\n***Required privileges:*** System.Read\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "alarm",
          "entity"
        ]
      },
      "AcquireCredentialsInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestAuthManager.AcquireCredentialsInGuest*.\n",
        "properties": {
          "vm": {
            "description": "MoRef of the VM to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Query\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "requestedAuth": {
            "description": "The guest authentication data used to acquire credentials.\nSee *GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "sessionID": {
            "description": "The sessionID number should be provided only when\nresponding to a server challenge. The sessionID number to be used with\nthe challenge is found in the\n*GuestAuthenticationChallenge* object.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "vm",
          "requestedAuth"
        ]
      },
      "AcquireGenericServiceTicketRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.AcquireGenericServiceTicket*.\n",
        "properties": {
          "spec": {
            "description": "specification for the service request which will be\ninvoked with the ticket.\n",
            "$ref": "#/components/schemas/SessionManagerServiceRequestSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "AcquireLocalTicketRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.AcquireLocalTicket*.\n",
        "properties": {
          "userName": {
            "description": "User requesting one-time password.\n",
            "type": "string"
          }
        },
        "required": [
          "userName"
        ]
      },
      "AcquireTicketRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.AcquireTicket*.\n",
        "properties": {
          "ticketType": {
            "description": "The type of service to acquire, the set of possible\nvalues is described in *VirtualMachineTicketType_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "ticketType"
        ]
      },
      "AddAuthorizationRoleRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.AddAuthorizationRole*.\n",
        "properties": {
          "name": {
            "description": "Name of the new role.\n",
            "type": "string"
          },
          "privIds": {
            "description": "List of privileges to assign to the role.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "AddCustomFieldDefRequestType": {
        "type": "object",
        "description": "The parameters of *CustomFieldsManager.AddCustomFieldDef*.\n",
        "properties": {
          "name": {
            "description": "The name of the field.\n",
            "type": "string"
          },
          "moType": {
            "description": "The managed object type to which this field\nwill apply\n",
            "type": "string"
          },
          "fieldDefPolicy": {
            "description": "Privilege policy to apply to FieldDef being\ncreated\n",
            "$ref": "#/components/schemas/PrivilegePolicyDef"
          },
          "fieldPolicy": {
            "description": "Privilege policy to apply to instances of field\n",
            "$ref": "#/components/schemas/PrivilegePolicyDef"
          }
        },
        "required": [
          "name"
        ]
      },
      "AddDVPortgroupRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.AddDVPortgroup_Task*.\n",
        "properties": {
          "spec": {
            "description": "The specification for the portgroup.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupConfigSpec"
            }
          }
        },
        "required": [
          "spec"
        ]
      },
      "AddDisksRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanSystem.AddDisks_Task*.\n",
        "properties": {
          "disk": {
            "description": "list of disks to add for use by the VSAN service\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiDisk"
            }
          }
        },
        "required": [
          "disk"
        ]
      },
      "AddFilterEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.AddFilterEntities*.\n",
        "properties": {
          "filterId": {
            "description": "The filter id.\n",
            "type": "string"
          },
          "entities": {
            "description": "The list of additional managed entities. Only\nentities of type HostSystem or\nClusterComputeResource are valid.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "filterId"
        ]
      },
      "AddFilterRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.AddFilter*.\n",
        "properties": {
          "providerId": {
            "description": "The provider identifier.\n",
            "type": "string"
          },
          "filterName": {
            "description": "The filter name.\n",
            "type": "string"
          },
          "infoIds": {
            "description": "The list of HealthUpdateInfo IDs that should be\nfiltered.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "providerId",
          "filterName"
        ]
      },
      "AddGuestAliasRequestType": {
        "type": "object",
        "description": "The parameters of *GuestAliasManager.AddGuestAlias*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.ModifyAliases\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data for this operation. See\n*GuestAuthentication*. These credentials must satisfy\nauthentication requirements\nfor a guest account on the specified virtual machine.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "username": {
            "description": "Username for the guest account on the virtual machine.\n",
            "type": "string"
          },
          "mapCert": {
            "description": "Indicates whether the certificate associated with the\nalias should be mapped. If an alias certificate is mapped,\nguest operation requests that use that alias do not have\nto specify the guest account username in the\n*SAMLTokenAuthentication* object. If mapCert is\nfalse, the request must specify the username.\n",
            "type": "boolean"
          },
          "base64Cert": {
            "description": "X.509 certificate from the VMware SSO Server,\nin base64 encoded DER format. The ESXi\nServer uses this certificate to authenticate guest\noperation requests.\n",
            "type": "string"
          },
          "aliasInfo": {
            "description": "Specifies the subject name for authentication.\nThe subject name (when present) corresponds to\nthe value of the Subject element\nin SAML tokens. The ESXi Server uses the subject\nname to authenticate guest operation requests.\n",
            "$ref": "#/components/schemas/GuestAuthAliasInfo"
          }
        },
        "required": [
          "vm",
          "auth",
          "username",
          "mapCert",
          "base64Cert",
          "aliasInfo"
        ]
      },
      "AddHostRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.AddHost_Task*.\n",
        "properties": {
          "spec": {
            "description": "Specifies the parameters needed to add a single host.\n",
            "$ref": "#/components/schemas/HostConnectSpec"
          },
          "asConnected": {
            "description": "Flag to specify whether or not the host should be connected\nimmediately after it is added. The host will not be added if\na connection attempt is made and fails.\n",
            "type": "boolean"
          },
          "resourcePool": {
            "description": "the resource pool for the root resource pool from the host.\n\n***Required privileges:*** Resource.AssignVMToPool\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "license": {
            "description": "Provide a licenseKey or licenseKeyType. See *LicenseManager*\n",
            "type": "string"
          }
        },
        "required": [
          "spec",
          "asConnected"
        ]
      },
      "AddInternetScsiSendTargetsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.AddInternetScsiSendTargets*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "targets": {
            "description": "An array of iSCSI send targets.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaSendTarget"
            }
          }
        },
        "required": [
          "iScsiHbaDevice",
          "targets"
        ]
      },
      "AddInternetScsiStaticTargetsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.AddInternetScsiStaticTargets*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "targets": {
            "description": "An array of iSCSI static targets to add.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaStaticTarget"
            }
          }
        },
        "required": [
          "iScsiHbaDevice",
          "targets"
        ]
      },
      "AddIssueRequestType": {
        "type": "object",
        "description": "The parameters of *Agency.AddIssue*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "issue": {
            "description": "A new issue.\n",
            "$ref": "#/components/schemas/Issue"
          }
        },
        "required": [
          "issue"
        ]
      },
      "AddKeyRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManager.AddKey*.\n",
        "properties": {
          "key": {
            "description": "\\[in\\] The cryptographic key to add.\n",
            "$ref": "#/components/schemas/CryptoKeyPlain"
          }
        },
        "required": [
          "key"
        ]
      },
      "AddKeysRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManager.AddKeys*.\n",
        "properties": {
          "keys": {
            "description": "\\[in\\] List of cryptographic keys to add.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoKeyPlain"
            }
          }
        }
      },
      "AddLicenseRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.AddLicense*.\n",
        "properties": {
          "licenseKey": {
            "description": "A license. E.g. a serial license.\n",
            "type": "string"
          },
          "labels": {
            "description": "array of key-value labels. Ignored by ESX Server.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "licenseKey"
        ]
      },
      "AddMonitoredEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.AddMonitoredEntities*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          },
          "entities": {
            "description": "The entities that are newly monitored by this\nprovider.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "providerId"
        ]
      },
      "AddNetworkResourcePoolRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.AddNetworkResourcePool*.\n",
        "properties": {
          "configSpec": {
            "description": "the network resource pool configuration specification.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSNetworkResourcePoolConfigSpec"
            }
          }
        },
        "required": [
          "configSpec"
        ]
      },
      "AddPortGroupRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.AddPortGroup*.\n",
        "properties": {
          "portgrp": {
            "$ref": "#/components/schemas/HostPortGroupSpec"
          }
        },
        "required": [
          "portgrp"
        ]
      },
      "AddServiceConsoleVirtualNicRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.AddServiceConsoleVirtualNic*.\n",
        "properties": {
          "portgroup": {
            "type": "string"
          },
          "nic": {
            "$ref": "#/components/schemas/HostVirtualNicSpec"
          }
        },
        "required": [
          "portgroup",
          "nic"
        ]
      },
      "AddStandaloneHostRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.AddStandaloneHost_Task*.\n",
        "properties": {
          "spec": {
            "description": "Specifies the parameters needed to add a single host.\n",
            "$ref": "#/components/schemas/HostConnectSpec"
          },
          "compResSpec": {
            "description": "Optionally specify the configuration for the compute\nresource that will be created to contain the host.\n",
            "$ref": "#/components/schemas/ComputeResourceConfigSpec"
          },
          "addConnected": {
            "description": "Flag to specify whether or not the host should be\nconnected as soon as it is added. The host will not\nbe added if a connection attempt is made and fails.\n",
            "type": "boolean"
          },
          "license": {
            "description": "Provide a licenseKey or licenseKeyType. See *LicenseManager*\n",
            "type": "string"
          }
        },
        "required": [
          "spec",
          "addConnected"
        ]
      },
      "AddVirtualNicRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.AddVirtualNic*.\n",
        "properties": {
          "portgroup": {
            "description": "Note: Must be the empty string in case nic.distributedVirtualPort\nis set.\n",
            "type": "string"
          },
          "nic": {
            "$ref": "#/components/schemas/HostVirtualNicSpec"
          }
        },
        "required": [
          "portgroup",
          "nic"
        ]
      },
      "AddVirtualSwitchRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.AddVirtualSwitch*.\n",
        "properties": {
          "vswitchName": {
            "type": "string"
          },
          "spec": {
            "$ref": "#/components/schemas/HostVirtualSwitchSpec"
          }
        },
        "required": [
          "vswitchName"
        ]
      },
      "AllocateIpv4AddressRequestType": {
        "type": "object",
        "description": "The parameters of *IpPoolManager.AllocateIpv4Address*.\n",
        "properties": {
          "dc": {
            "description": "The datacenter on which to find the pool\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "poolId": {
            "description": "The unique ID of the pool\n",
            "type": "integer",
            "format": "int32"
          },
          "allocationId": {
            "description": "The unique ID for this allocation\n",
            "type": "string"
          }
        },
        "required": [
          "dc",
          "poolId",
          "allocationId"
        ]
      },
      "AllocateIpv6AddressRequestType": {
        "type": "object",
        "description": "The parameters of *IpPoolManager.AllocateIpv6Address*.\n",
        "properties": {
          "dc": {
            "description": "The datacenter on which to find the pool\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "poolId": {
            "description": "The unique ID of the pool\n",
            "type": "integer",
            "format": "int32"
          },
          "allocationId": {
            "description": "The unique ID for this allocation\n",
            "type": "string"
          }
        },
        "required": [
          "dc",
          "poolId",
          "allocationId"
        ]
      },
      "AnswerVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.AnswerVM*.\n",
        "properties": {
          "questionId": {
            "description": "The value from QuestionInfo.id that identifies the question\nto answer.\n",
            "type": "string"
          },
          "answerChoice": {
            "description": "The contents of the QuestionInfo.choice.value array element\nthat identifies the desired answer.\n",
            "type": "string"
          }
        },
        "required": [
          "questionId",
          "answerChoice"
        ]
      },
      "ApplyEntitiesConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.ApplyEntitiesConfig_Task*.\n",
        "properties": {
          "applyConfigSpecs": {
            "description": "An array of\n*ApplyHostProfileConfigurationSpec*\nobjects. Each applyConfigSpecs object contains the data objects\nrequired to remediate a host. The API caller should expand\na cluster to all its hosts for the purpose of providing the\nrequired data object for configuration apply of each host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplyHostProfileConfigurationSpec"
            }
          }
        }
      },
      "ApplyEvcModeVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.ApplyEvcModeVM_Task*.\n",
        "properties": {
          "mask": {
            "description": "The feature masks to apply to the virtual machine.\nAn empty set of masks will clear EVC settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureMask"
            }
          },
          "completeMasks": {
            "description": "Defaults to true if not set. A true value implies\nthat any unspecified feature will not be exposed to the guest.\nA false value will expose any unspecified feature to the guest\nwith the value of the host.\n",
            "type": "boolean"
          }
        }
      },
      "ApplyHostConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.ApplyHostConfig_Task*.\n",
        "properties": {
          "host": {
            "description": "Host to be updated. User must have sufficient credentials and privileges\nto satisfy the contents of the <code>configSpec</code>.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "configSpec": {
            "description": "Set of configuration changes to be applied to the host.\nThe changes are returned by the\n*HostProfile*.*HostProfile.ExecuteHostProfile*\nmethod in the\n*ProfileExecuteResult*.*ProfileExecuteResult.configSpec*\nproperty.\n",
            "$ref": "#/components/schemas/HostConfigSpec"
          },
          "userInput": {
            "description": "Additional host-specific data to be applied to the host.\nThis data is the complete list of deferred parameters verified by the\n*HostProfile*.*HostProfile.ExecuteHostProfile*\nmethod, contained in the *ProfileExecuteResult* object\nreturned by the method.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDeferredPolicyOptionParameter"
            }
          }
        },
        "required": [
          "host",
          "configSpec"
        ]
      },
      "ApplyRecommendationRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.ApplyRecommendation*.\n",
        "properties": {
          "key": {
            "description": "The key field of the DrsRecommendation or Recommendation.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ]
      },
      "ApplyStorageDrsRecommendationRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.ApplyStorageDrsRecommendation_Task*.\n",
        "properties": {
          "key": {
            "description": "The key fields of the Recommendations that are applied.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "key"
        ]
      },
      "ApplyStorageDrsRecommendationToPodRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.ApplyStorageDrsRecommendationToPod_Task*.\n",
        "properties": {
          "pod": {
            "description": "The storage pod.\n\nRefers instance of *StoragePod*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "key": {
            "description": "The key field of the Recommendation.\n",
            "type": "string"
          }
        },
        "required": [
          "pod",
          "key"
        ]
      },
      "AreAlarmActionsEnabledRequestType": {
        "type": "object",
        "description": "The parameters of *AlarmManager.AreAlarmActionsEnabled*.\n",
        "properties": {
          "entity": {
            "description": "The managed entity to look up.\n\n***Required privileges:*** System.Read\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "entity"
        ]
      },
      "AssignUserToGroupRequestType": {
        "type": "object",
        "description": "The parameters of *HostLocalAccountManager.AssignUserToGroup*.\n",
        "properties": {
          "user": {
            "description": "User ID of the account whose group membership is\nbeing assigned.\n",
            "type": "string"
          },
          "group": {
            "description": "Destination group account to which the user is\nbeing assigned.\n",
            "type": "string"
          }
        },
        "required": [
          "user",
          "group"
        ]
      },
      "AssociateProfileRequestType": {
        "type": "object",
        "description": "The parameters of *Profile.AssociateProfile*.\n",
        "properties": {
          "entity": {
            "description": "The entity(s) to associate with the profile.\nIf an entity is already associated with the profile, the association is\nmaintained and the vCenter Server does not perform any action.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "entity"
        ]
      },
      "AttachDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.AttachDisk_Task*.\n",
        "properties": {
          "diskId": {
            "description": "The ID of the virtual disk to be operated. See\n*ID*\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual disk is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "controllerKey": {
            "description": "Key of the controller the disk will connect to.\nIt can be unset if there is only one controller\n(SCSI or SATA) with the available slot in the\nvirtual machine. If there are multiple SCSI or\nSATA controllers available, user must specify\nthe controller; if there is no available\ncontrollers, a *MissingController*\nfault will be thrown.\n",
            "type": "integer",
            "format": "int32"
          },
          "unitNumber": {
            "description": "The unit number of the attached disk on its controller.\nIf unset, the next available slot on the specified\ncontroller or the only available controller will be\nassigned to the attached disk.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "diskId",
          "datastore"
        ]
      },
      "AttachScsiLunExRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.AttachScsiLunEx_Task*.\n",
        "properties": {
          "lunUuid": {
            "description": "each element specifies UUID of LUN to be attached.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "lunUuid"
        ]
      },
      "AttachScsiLunRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.AttachScsiLun*.\n",
        "properties": {
          "lunUuid": {
            "description": "The uuid of the ScsiLun to update.\n",
            "type": "string"
          }
        },
        "required": [
          "lunUuid"
        ]
      },
      "AttachTagToVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.AttachTagToVStorageObject*.\n",
        "properties": {
          "id": {
            "description": "The identifier(ID) of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "category": {
            "description": "The category to which the tag belongs.\n",
            "type": "string"
          },
          "tag": {
            "description": "The tag which has to be associated with the virtual storage\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "category",
          "tag"
        ]
      },
      "AttachVmfsExtentRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.AttachVmfsExtent*.\n",
        "properties": {
          "vmfsPath": {
            "description": "The path of the VMFS to extend. See *FileSystemMountInfo*.\n",
            "type": "string"
          },
          "extent": {
            "description": "A data object that describes the specification of a\nDisk partition.\n",
            "$ref": "#/components/schemas/HostScsiDiskPartition"
          }
        },
        "required": [
          "vmfsPath",
          "extent"
        ]
      },
      "BatchAddHostsToClusterRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.BatchAddHostsToCluster_Task*.\n",
        "properties": {
          "cluster": {
            "description": "Specifies the cluster to which hosts need to be\nadded.\n\nRefers instance of *ClusterComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "newHosts": {
            "description": "Specifies a list of new hosts to be added to\nthe cluster. Hosts are first added as standalone hosts.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderNewHostSpec"
            }
          },
          "existingHosts": {
            "description": "Specifies a list of existing hosts to be\nadded to the cluster. Hosts are first moved to the desired state\nbefore moving them to cluster.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "compResSpec": {
            "description": "Specifies the configuration for the compute\nresource that will be created to contain all the hosts.\n",
            "$ref": "#/components/schemas/ComputeResourceConfigSpec"
          },
          "desiredState": {
            "description": "Specifies desired state for hosts once added to\nthe cluster. If not specified, hosts are added to the cluster in their\ncurrent state. See *FolderDesiredHostState_enum* for valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "cluster"
        ]
      },
      "BatchAddStandaloneHostsRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.BatchAddStandaloneHosts_Task*.\n",
        "properties": {
          "newHosts": {
            "description": "Specifies a list of host specifications for new hosts.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderNewHostSpec"
            }
          },
          "compResSpec": {
            "description": "Specifies the configuration for the compute\nresource that will be created to contain all the\nhosts.\n",
            "$ref": "#/components/schemas/ComputeResourceConfigSpec"
          },
          "addConnected": {
            "description": "Flag to specify whether or not hosts should be\nconnected at the time they are added. A host will not\nbe added if a connection attempt is made and fails.\n",
            "type": "boolean"
          }
        },
        "required": [
          "addConnected"
        ]
      },
      "BatchQueryConnectInfoRequestType": {
        "type": "object",
        "description": "The parameters of *Datacenter.BatchQueryConnectInfo*.\n",
        "properties": {
          "hostSpecs": {
            "description": "Information about the set of hosts to query.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConnectSpec"
            }
          }
        }
      },
      "BindVnicRequestType": {
        "type": "object",
        "description": "The parameters of *IscsiManager.BindVnic*.\n",
        "properties": {
          "iScsiHbaName": {
            "description": "iSCSI adapter name for which the Virtual NIC to\nbe added.\n",
            "type": "string"
          },
          "vnicDevice": {
            "description": "Virtual NIC that is to be bound to the iSCSI HBA\n",
            "type": "string"
          }
        },
        "required": [
          "iScsiHbaName",
          "vnicDevice"
        ]
      },
      "BrowseDiagnosticLogRequestType": {
        "type": "object",
        "description": "The parameters of *DiagnosticManager.BrowseDiagnosticLog*.\n",
        "properties": {
          "host": {
            "description": "Specifies the host. If not specified, then it defaults\nto the default server. For example, if called on\nVirtualCenter, then the value defaults to VirtualCenter\nlogs.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "key": {
            "description": "A string key specifying the key for the log file to\nbrowse. Keys can be obtained using the queryDescriptions\nmethod.\n",
            "type": "string"
          },
          "start": {
            "description": "The line number for the first entry to be returned. If the\nparameter is not specified, then the operation returns\nwith lines starting from the top of the log.\n",
            "type": "integer",
            "format": "int32"
          },
          "lines": {
            "description": "The number of lines to return. If not specified, then\nall lines are returned from the start value to the end of\nthe file.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key"
        ]
      },
      "CanProvisionObjectsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.CanProvisionObjects*.\n",
        "properties": {
          "npbs": {
            "description": "List of NewPolicyBatch structure with sizes and policies.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanNewPolicyBatch"
            }
          },
          "ignoreSatisfiability": {
            "description": "Optionally populate PolicyCost even though\nobject cannot be provisioned in the current cluster topology.\n",
            "type": "boolean"
          }
        },
        "required": [
          "npbs"
        ]
      },
      "CancelRecommendationRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.CancelRecommendation*.\n",
        "properties": {
          "key": {
            "description": "The key field of the Recommendation.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ]
      },
      "CancelRetrievePropertiesExRequestType": {
        "type": "object",
        "description": "The parameters of *PropertyCollector.CancelRetrievePropertiesEx*.\n",
        "properties": {
          "token": {
            "description": "the token returned in the previous *RetrieveResult* returned on the same session by the\nsame *PropertyCollector*.\n",
            "type": "string"
          }
        },
        "required": [
          "token"
        ]
      },
      "CancelStorageDrsRecommendationRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.CancelStorageDrsRecommendation*.\n",
        "properties": {
          "key": {
            "description": "The key field of the Recommendation.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "key"
        ]
      },
      "CertMgrRefreshCACertificatesAndCRLsRequestType": {
        "type": "object",
        "description": "The parameters of *CertificateManager.CertMgrRefreshCACertificatesAndCRLs_Task*.\n",
        "properties": {
          "host": {
            "description": "the hosts on which the certificates need to be refreshed\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "host"
        ]
      },
      "CertMgrRefreshCertificatesRequestType": {
        "type": "object",
        "description": "The parameters of *CertificateManager.CertMgrRefreshCertificates_Task*.\n",
        "properties": {
          "host": {
            "description": "the hosts on which the certificates need to be refreshed\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "host"
        ]
      },
      "CertMgrRevokeCertificatesRequestType": {
        "type": "object",
        "description": "The parameters of *CertificateManager.CertMgrRevokeCertificates_Task*.\n",
        "properties": {
          "host": {
            "description": "the hosts on which the certificates need to be revoked\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "host"
        ]
      },
      "ChangeAccessModeRequestType": {
        "type": "object",
        "description": "The parameters of *HostAccessManager.ChangeAccessMode*.\n",
        "properties": {
          "principal": {
            "description": "The affected user or group.\n",
            "type": "string"
          },
          "isGroup": {
            "description": "True if principal refers to a group account,\nfalse otherwise.\n",
            "type": "boolean"
          },
          "accessMode": {
            "description": "AccessMode to be granted.\n*accessOther* is meaningless and\nwill result in InvalidArgument exception.\n",
            "$ref": "#/components/schemas/HostAccessMode_enum"
          }
        },
        "required": [
          "principal",
          "isGroup",
          "accessMode"
        ]
      },
      "ChangeFileAttributesInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.ChangeFileAttributesInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "guestFilePath": {
            "description": "The complete path to the file to be copied in\nthe guest. If the file points to an symbolic link, then the\nattributes of the target file are changed.\n",
            "type": "string"
          },
          "fileAttributes": {
            "description": "Specifies the different file attributes of the\nguest file to be changed.\nSee *GuestFileAttributes*.\nIf any property is not specified, then the specific attribute of\nthe file will be unchanged.\n",
            "$ref": "#/components/schemas/GuestFileAttributes"
          }
        },
        "required": [
          "vm",
          "auth",
          "guestFilePath",
          "fileAttributes"
        ]
      },
      "ChangeKeyRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerHost.ChangeKey_Task*.\n",
        "properties": {
          "newKey": {
            "description": "The key that replaces the existing core dump encryption key\n",
            "$ref": "#/components/schemas/CryptoKeyPlain"
          }
        },
        "required": [
          "newKey"
        ]
      },
      "ChangeLockdownModeRequestType": {
        "type": "object",
        "description": "The parameters of *HostAccessManager.ChangeLockdownMode*.\n",
        "properties": {
          "mode": {
            "description": "The new desired lockdown mode.\n\nIf this is the same as the current lockdown mode state, the\noperation will silently succeed and nothing will be changed.\n\nIf this is *lockdownDisabled*\nthen lockdown mode will be disabled and the system will\nstart service DCUI if it is not running.\n\nIf this is *lockdownNormal*\nthen lockdown mode will be enabled and the system will\nstart service DCUI if it is not running.\n\nIf this is *lockdownStrict*\nthen lockdown mode will be enabled and the system will\nstop service DCUI if it is running.\n",
            "$ref": "#/components/schemas/HostLockdownMode_enum"
          }
        },
        "required": [
          "mode"
        ]
      },
      "ChangeNFSUserPasswordRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.ChangeNFSUserPassword*.\n",
        "properties": {
          "password": {
            "description": "New password.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "password"
        ]
      },
      "ChangeOwnerRequestType": {
        "type": "object",
        "description": "The parameters of *FileManager.ChangeOwner*.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "datacenter": {
            "description": "***Required privileges:*** System.View\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "owner": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "owner"
        ]
      },
      "ChangePasswordRequestType": {
        "type": "object",
        "description": "The parameters of *HostLocalAccountManager.ChangePassword*.\n",
        "properties": {
          "user": {
            "description": "the user whose password will be changed.\n",
            "type": "string"
          },
          "oldPassword": {
            "description": "the user's current (old) password.\n",
            "type": "string",
            "format": "password"
          },
          "newPassword": {
            "description": "the user's new password.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "user",
          "oldPassword",
          "newPassword"
        ]
      },
      "CheckAddHostEvcRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterEVCManager.CheckAddHostEvc_Task*.\n",
        "properties": {
          "cnxSpec": {
            "description": "The spec that will be used to add the host.\n",
            "$ref": "#/components/schemas/HostConnectSpec"
          }
        },
        "required": [
          "cnxSpec"
        ]
      },
      "CheckAnswerFileStatusRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.CheckAnswerFileStatus_Task*.\n",
        "properties": {
          "host": {
            "description": "Set of hosts for which the answer file status will be checked.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "host"
        ]
      },
      "CheckCloneRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineProvisioningChecker.CheckClone_Task*.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine we propose to clone.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "folder": {
            "description": "The location of the new virtual machine.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "The name of the new virtual machine.\n",
            "type": "string"
          },
          "spec": {
            "description": "Specifies how to clone the virtual machine. In cases\nwhere DRS would automatically select a host, all potential\nhosts are tested against.\n",
            "$ref": "#/components/schemas/VirtualMachineCloneSpec"
          },
          "testType": {
            "description": "The set of tests to run. If this argument is not set, all\ntests will be run. See *CheckTestType_enum* for possible values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vm",
          "folder",
          "name",
          "spec"
        ]
      },
      "CheckCompatibilityRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineCompatibilityChecker.CheckCompatibility_Task*.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine we'd like to place.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The host we would like the virtual machine\nto execute on. The host parameter may be left unset if the compute\nresource associated with the pool represents a stand-alone host\nor a DRS-enabled cluster. In the former case the stand-alone host is\nused. In the latter case, each connected host in the cluster\nthat is not in maintenance mode is tested. If the virtual machine is a\ntemplate then either this parameter or the pool parameter must be set.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pool": {
            "description": "The resource pool we would like the virtual machine\nto reside in. If the pool parameter is left unset, then the virtual\nmachine's current pool is assumed. If the virtual machine is a template\nthen either this parameter or the host parameter must be set.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "testType": {
            "description": "The set of tests to run. If this argument is not set, all\ntests will be run. See *CheckTestType_enum* for possible values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vm"
        ]
      },
      "CheckComplianceRequestType": {
        "type": "object",
        "description": "The parameters of *ProfileComplianceManager.CheckCompliance_Task*.\n",
        "properties": {
          "profile": {
            "description": "If specified, check compliance against the specified profiles.\nIf not specified, use the profiles associated with the entities.\nIf both Profiles and Entities are specified, Check the compliance of each\nEntity against each of the profile specified.\n  \nFor more information, look at the KMap below.\n  \nP represents if Profile is specified.\n  \nE represents if Entity is specified.\n\n                P                        ^P\n      ---------------------------------------------------\n      | Check compliance      |  Profiles associated    |\n     E|  of each entity       |   with the specified    |\n      |  against each of the  |   entity will be used   |\n      |  profiles specified.  |   for checking          |\n      |                       |   compliance.           |\n      |                       |                         |\n      |                       |                         |\n      ---------------------------------------------------\n      | All entities          |   InvalidArgument       |\n      |  associated with the  |   Exception is thrown.  |\n      |  profile are checked. |                         |\n    ^E|                       |                         |\n      |                       |                         |\n      |                       |                         |\n      |                       |                         |\n      ---------------------------------------------------\n\nRefers instances of *Profile*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "entity": {
            "description": "If specified, the compliance check is done against this entity.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "CheckConfigureEvcModeRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterEVCManager.CheckConfigureEvcMode_Task*.\n",
        "properties": {
          "evcModeKey": {
            "description": "A key referencing the desired EVC mode.\n",
            "type": "string"
          },
          "evcGraphicsModeKey": {
            "description": "A key referencing the desired EVC Graphics\nmode *Capability.supportedEVCGraphicsMode*.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "string"
          }
        },
        "required": [
          "evcModeKey"
        ]
      },
      "CheckCustomizationResourcesRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.CheckCustomizationResources*.\n",
        "properties": {
          "guestOs": {
            "description": "Short name from the guest OS descriptor list describing the OS\nwe intend to customize.\n",
            "type": "string"
          }
        },
        "required": [
          "guestOs"
        ]
      },
      "CheckCustomizationSpecRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.CheckCustomizationSpec*.\n",
        "properties": {
          "spec": {
            "description": "The customization specification to check.\n",
            "$ref": "#/components/schemas/CustomizationSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "CheckForUpdatesRequestType": {
        "type": "object",
        "description": "The parameters of *PropertyCollector.CheckForUpdates*.\n",
        "properties": {
          "version": {
            "description": "The data version currently known to the client. The value\nmust be either\n- the special initial version (an empty string)\n- a data version returned from *PropertyCollector.CheckForUpdates* or *PropertyCollector.WaitForUpdates* by the same *PropertyCollector* on the same session.\n- a non-truncated data version returned from *PropertyCollector.WaitForUpdatesEx* by the same *PropertyCollector* on the same\n  session.\n",
            "type": "string"
          }
        }
      },
      "CheckHostPatchRequestType": {
        "type": "object",
        "description": "The parameters of *HostPatchManager.CheckHostPatch_Task*.\n",
        "properties": {
          "metaUrls": {
            "description": "a list of urls pointing to metadata.zip.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "bundleUrls": {
            "description": "a list of urls pointing to an \"offline\" bundle. It is not supported in 5.0 or later.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "spec": {
            "$ref": "#/components/schemas/HostPatchManagerPatchManagerOperationSpec"
          }
        }
      },
      "CheckInstantCloneRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineProvisioningChecker.CheckInstantClone_Task*.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine we propose to instant clone.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "Specifies how to instant clone the virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineInstantCloneSpec"
          },
          "testType": {
            "description": "The set of tests to run. If this argument is not set, all\ntests will be run. See *CheckTestType_enum* for possible values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vm",
          "spec"
        ]
      },
      "CheckLicenseFeatureRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.CheckLicenseFeature*.\n",
        "properties": {
          "host": {
            "description": "Host to act on if LicenseManager is not on a host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "featureKey": {
            "description": "Name of the feature to enable.\n",
            "type": "string"
          }
        },
        "required": [
          "featureKey"
        ]
      },
      "CheckMigrateRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineProvisioningChecker.CheckMigrate_Task*.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine we propose to migrate.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host on which the virtual machines will run. The host\nparameter may be left unset if the compute resource associated with\nthe target pool represents a stand-alone host or a DRS-enabled\ncluster. In the former case the stand-alone host is used as the\ntarget host. In the latter case, each connected host in the cluster\nthat is not in maintenance mode is tested as a target host.\nIf the virtual machine is a template then either this\nparameter or the pool parameter must be set.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pool": {
            "description": "The target resource pool for the virtual machines. If the\npool parameter is left unset, the target pool for each particular\nvirtual machine's migration will be that virtual machine's current\npool. If the virtual machine is a template then either this\nparameter or the host parameter must be set.\nThe pool parameter must be set for testing the feasibility of\nmigration to a different datacenter or different vCenter service.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "state": {
            "description": "The power state that the virtual machines must have. If\nthis argument is not set, each virtual machine is evaluated\naccording to its current power state.\n",
            "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
          },
          "testType": {
            "description": "The set of tests to run. If this argument is not set, all\ntests will be run. See *CheckTestType_enum* for possible values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vm"
        ]
      },
      "CheckPowerOnRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineCompatibilityChecker.CheckPowerOn_Task*.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine to power on.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The host on which we want to power on the virtual machine.\nThe host parameter may be left unset if the compute\nresource associated with the pool represents a stand-alone host\nor a DRS-enabled cluster. In the former case the stand-alone host\nis used. In the latter case, each connected host in the cluster\nthat is not in maintenance mode is tested. Either this parameter\nor the pool parameter must be set.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pool": {
            "description": "The resource pool we would like the virtual machine to run\nin. If the pool parameter is left unset, we use the host's\nroot resource pool.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "testType": {
            "description": "The set of tests to run. If this argument is not set,\nall tests will be run. See *CheckTestType_enum* for possible values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vm"
        ]
      },
      "CheckProfileComplianceRequestType": {
        "type": "object",
        "description": "The parameters of *Profile.CheckProfileCompliance_Task*.\n",
        "properties": {
          "entity": {
            "description": "If specified, the compliance check is performed on this entity.\nIf the entity is not specified, the vCenter Server runs a compliance check on all the\nentities associated with the profile. The entity does not have to be associated with the\nprofile.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "CheckRelocateRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineProvisioningChecker.CheckRelocate_Task*.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine we propose to relocate.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification of where to relocate the virtual machine.\nIn cases where DRS would automatically select a host, all potential\nhosts are tested against.\nThe host parameter in the spec may be left unset for checking\nfeasibility of relocation to a different datacenter or different\nvCenter service, if the compute resource associated with the\ntarget pool represents a stand-alone host, the host is tested\nagainst, otherwise each connected host in the cluster that is\nnot in maintenance mode represented by the target pool is tested\nas a target host.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
          },
          "testType": {
            "description": "The set of tests to run. If this argument is not set, all\ntests will be run. See *CheckTestType_enum* for possible values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vm",
          "spec"
        ]
      },
      "CheckVmConfigRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineCompatibilityChecker.CheckVmConfig_Task*.\n",
        "properties": {
          "spec": {
            "description": "The specification of the virtual machine to create.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          },
          "vm": {
            "description": "The existing virtual machine to apply the spec to.\nIf this is not provided, the spec is assumed to be for the creation\nof a new virtual machine.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The host we would like the virtual machine\nto execute on. The host parameter may be left unset if the compute\nresource associated with the pool represents a stand-alone host\nor a DRS-enabled cluster. In the former case the stand-alone host\nis used. In the latter case, each connected host in the cluster\nthat is not in maintenance mode is tested. If the virtual machine\nis a template, then either this parameter or the pool parameter\nmust be set.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pool": {
            "description": "The resource pool we would like the virtual machine\nto reside in. If the pool parameter is left unset, then we use the\nhost's root resource pool.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "testType": {
            "description": "The set of tests to run. If this argument is not set, all\ntests will be run. See *CheckTestType_enum* for possible values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "spec"
        ]
      },
      "ClearComplianceStatusRequestType": {
        "type": "object",
        "description": "The parameters of *ProfileComplianceManager.ClearComplianceStatus*.\n",
        "properties": {
          "profile": {
            "description": "If specified, clear the ComplianceResult related to the Profile.\n\nRefers instances of *Profile*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "entity": {
            "description": "If specified, clear the ComplianceResult related to the entity.\nIf profile and entity are not specified, all the ComplianceResults will be cleared.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "ClearTriggeredAlarmsRequestType": {
        "type": "object",
        "description": "The parameters of *AlarmManager.ClearTriggeredAlarms*.\n",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/AlarmFilterSpec"
          }
        },
        "required": [
          "filter"
        ]
      },
      "ClearVStorageObjectControlFlagsRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.ClearVStorageObjectControlFlags*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage\nobject is located.\n\n***Required privileges:*** Datastore.FileManagement\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "controlFlags": {
            "description": "control flags enum array to be cleared on the\nVStorageObject. All control flags not included\nin the array remain intact.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "CloneSessionRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.CloneSession*.\n",
        "properties": {
          "cloneTicket": {
            "description": "ticket string acquired via *SessionManager.AcquireCloneTicket*.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "cloneTicket"
        ]
      },
      "CloneVAppRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualApp.CloneVApp_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the new vApp.\n",
            "type": "string"
          },
          "target": {
            "description": "The parent entity of the new vApp. Must be of type\n*ResourcePool* or *VirtualApp*.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "Specifies how to clone the vApp.\n",
            "$ref": "#/components/schemas/VAppCloneSpec"
          }
        },
        "required": [
          "name",
          "target",
          "spec"
        ]
      },
      "CloneVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.CloneVM_Task*.\n",
        "properties": {
          "folder": {
            "description": "The location of the new virtual machine.\n\n***Required privileges:*** VirtualMachine.Inventory.CreateFromExisting\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "The name of the new virtual machine.\n",
            "type": "string"
          },
          "spec": {
            "description": "Specifies how to clone the virtual machine. The folder\nspecified in the spec takes precedence over the folder parameter.\n",
            "$ref": "#/components/schemas/VirtualMachineCloneSpec"
          }
        },
        "required": [
          "folder",
          "name",
          "spec"
        ]
      },
      "CloneVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.CloneVStorageObject_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification for cloning the virtual storage\nobject.\n",
            "$ref": "#/components/schemas/VslmCloneSpec"
          }
        },
        "required": [
          "id",
          "datastore",
          "spec"
        ]
      },
      "CloseInventoryViewFolderRequestType": {
        "type": "object",
        "description": "The parameters of *InventoryView.CloseInventoryViewFolder*.\n",
        "properties": {
          "entity": {
            "description": "An array of managed object references. Each array entry is a\nreference to an entity to collapse.\n\n***Required privileges:*** System.View\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "entity"
        ]
      },
      "ClusterEnterMaintenanceModeRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.ClusterEnterMaintenanceMode*.\n",
        "properties": {
          "host": {
            "description": "The array of hosts to put into maintenance mode.\n\n***Required privileges:*** Host.Config.Maintenance\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "option": {
            "description": "An array of *OptionValue*\noptions for this query. The specified options override the\nadvanced options in *ClusterDrsConfigInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          },
          "info": {
            "description": "***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/ClusterComputeResourceMaintenanceInfo"
          }
        },
        "required": [
          "host"
        ]
      },
      "CompositeHostProfileRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.CompositeHostProfile_Task*.\n",
        "properties": {
          "source": {
            "description": "Refers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "targets": {
            "description": "Refers instances of *Profile*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "toBeMerged": {
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "toBeReplacedWith": {
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "toBeDeleted": {
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "enableStatusToBeCopied": {
            "$ref": "#/components/schemas/HostApplyProfile"
          }
        },
        "required": [
          "source"
        ]
      },
      "ComputeDiskPartitionInfoForResizeRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.ComputeDiskPartitionInfoForResize*.\n",
        "properties": {
          "partition": {
            "description": "The disk partition to resize.\n",
            "$ref": "#/components/schemas/HostScsiDiskPartition"
          },
          "blockRange": {
            "description": "Specifies the desired block range for the resized\npartition. The start of the block range specified should match\nthat of the current partition.\n",
            "$ref": "#/components/schemas/HostDiskPartitionBlockRange"
          },
          "partitionFormat": {
            "description": "Specifies the desired partition format to be\ncomputed from the block range.\nIf partitionFormat is not specified, the existing partitionFormat\non disk is used, if the disk is not blank and mbr otherwise.\n",
            "type": "string"
          }
        },
        "required": [
          "partition",
          "blockRange"
        ]
      },
      "ComputeDiskPartitionInfoRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.ComputeDiskPartitionInfo*.\n",
        "properties": {
          "devicePath": {
            "description": "The name of the device path for the specific disk.\n",
            "type": "string"
          },
          "layout": {
            "description": "A data object that describes the disk partition layout.\n",
            "$ref": "#/components/schemas/HostDiskPartitionLayout"
          },
          "partitionFormat": {
            "description": "Specifies the desired partition format to be\ncomputed from the block range.\nIf partitionFormat is not specified, the existing partitionFormat\non disk is used, if the disk is not blank and mbr otherwise.\n",
            "type": "string"
          }
        },
        "required": [
          "devicePath",
          "layout"
        ]
      },
      "ConfigureCryptoKeyRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.ConfigureCryptoKey*.\n",
        "properties": {
          "keyId": {
            "description": "The key to be used for coredump encryption. If unset, uses\nexisting host or cluster key or new key is generated from\nthe default KMIP server.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        }
      },
      "ConfigureDatastoreIORMRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.ConfigureDatastoreIORM_Task*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore to be configured.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The configuration spec.\n",
            "$ref": "#/components/schemas/StorageIORMConfigSpec"
          }
        },
        "required": [
          "datastore",
          "spec"
        ]
      },
      "ConfigureDatastorePrincipalRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.ConfigureDatastorePrincipal*.\n",
        "properties": {
          "userName": {
            "description": "Datastore principal user name.\n",
            "type": "string"
          },
          "password": {
            "description": "Optional password for systems that require password for\nuser impersonation.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "userName"
        ]
      },
      "ConfigureEvcModeRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterEVCManager.ConfigureEvcMode_Task*.\n",
        "properties": {
          "evcModeKey": {
            "description": "A key referencing the desired EVC mode.\n",
            "type": "string"
          },
          "evcGraphicsModeKey": {
            "description": "A key referencing the desired EVC Graphics\nmode *Capability.supportedEVCGraphicsMode*.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "string"
          }
        },
        "required": [
          "evcModeKey"
        ]
      },
      "ConfigureHCIRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.ConfigureHCI_Task*.\n",
        "properties": {
          "clusterSpec": {
            "description": "Specification to configure the cluster,\nsee *ClusterComputeResourceHCIConfigSpec*\nfor details. The *DistributedVirtualSwitch* and\n*DistributedVirtualPortgroup* objects contained\nwithin the specification must be in the same datacenter as the\ncluster. Specify *ClusterComputeResourceHCIConfigSpec.vSanConfigSpec* only when\nvSan is enabled on the cluster.\n",
            "$ref": "#/components/schemas/ClusterComputeResourceHCIConfigSpec"
          },
          "hostInputs": {
            "description": "Inputs to configure each host in the cluster,\nsee *ClusterComputeResourceHostConfigurationInput*\nfor details. Hosts in this list should be part of the cluster and\nshould be in maintenance mode for them to be configured per\nspecification. If this parameter is not specified, the API\noperates on all the hosts in the cluster. Hosts which were not\nconfigured due to not being in maintenance\nmode will be returned in *ClusterComputeResourceClusterConfigResult.failedHosts*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHostConfigurationInput"
            }
          }
        },
        "required": [
          "clusterSpec"
        ]
      },
      "ConfigureHostCacheRequestType": {
        "type": "object",
        "description": "The parameters of *HostCacheConfigurationManager.ConfigureHostCache_Task*.\n",
        "properties": {
          "spec": {
            "description": "Specification for solid state drive cache configuration.\n",
            "$ref": "#/components/schemas/HostCacheConfigurationSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "ConfigureLicenseSourceRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.ConfigureLicenseSource*.\n",
        "properties": {
          "host": {
            "description": "Host for which the license manager should be reconfigured.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "licenseSource": {
            "description": "ServedSource or LocalSource.\n",
            "$ref": "#/components/schemas/LicenseSource"
          }
        },
        "required": [
          "licenseSource"
        ]
      },
      "ConfigurePowerPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *HostPowerSystem.ConfigurePowerPolicy*.\n",
        "properties": {
          "key": {
            "description": "A key from one of the policies in\n*PowerSystemCapability.availablePolicy*.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key"
        ]
      },
      "ConfigureStorageDrsForPodRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.ConfigureStorageDrsForPod_Task*.\n",
        "properties": {
          "pod": {
            "description": "The storage pod.\n\n***Required privileges:*** StoragePod.Config\n\nRefers instance of *StoragePod*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "A set of storage Drs configuration changes to apply to the storage pod.\nThe specification can be a complete set of changes or a partial\nset of changes, applied incrementally.\n",
            "$ref": "#/components/schemas/StorageDrsConfigSpec"
          },
          "modify": {
            "description": "Flag to specify whether the specification (\"spec\") should\nbe applied incrementally. If \"modify\" is false and the\noperation succeeds, then the configuration of the storage pod\nmatches the specification exactly; in this case any unset\nportions of the specification will result in unset or\ndefault portions of the configuration.\n",
            "type": "boolean"
          }
        },
        "required": [
          "pod",
          "spec",
          "modify"
        ]
      },
      "ConfigureVFlashResourceExRequestType": {
        "type": "object",
        "description": "The parameters of *HostVFlashManager.ConfigureVFlashResourceEx_Task*.\n",
        "properties": {
          "devicePath": {
            "description": "An array of device path names that identify disks.\nSee *ScsiDisk*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ConnectNvmeControllerExRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.ConnectNvmeControllerEx_Task*.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "connectSpec": {
            "description": "A list of data objects, each specifying the parameters\nnecessary to connect to an NVMe controller.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeConnectSpec"
            }
          }
        }
      },
      "ConnectNvmeControllerRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.ConnectNvmeController*.\n",
        "properties": {
          "connectSpec": {
            "description": "A data object that specifies the parameters\nnecessary to connect to the controller.\n",
            "$ref": "#/components/schemas/HostNvmeConnectSpec"
          }
        },
        "required": [
          "connectSpec"
        ]
      },
      "ContinueRetrievePropertiesExRequestType": {
        "type": "object",
        "description": "The parameters of *PropertyCollector.ContinueRetrievePropertiesEx*.\n",
        "properties": {
          "token": {
            "description": "the token returned in the previous *RetrieveResult* returned on the same session by the\nsame *PropertyCollector*.\n",
            "type": "string"
          }
        },
        "required": [
          "token"
        ]
      },
      "ConvertNamespacePathToUuidPathRequestType": {
        "type": "object",
        "description": "The parameters of *DatastoreNamespaceManager.ConvertNamespacePathToUuidPath*.\n",
        "properties": {
          "datacenter": {
            "description": "The datacenter of the namespace path. Needs to be set\nwhen making the call to VC; ignored when the call is\nmade to ESX.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "namespaceUrl": {
            "description": "Namesapce URL of the form\n> \\[ds://\\]/vmfs/volumes/\\[_datastore-uuid_\\]/\\[_directory-name_\\]/...\n>\n",
            "type": "string"
          }
        },
        "required": [
          "namespaceUrl"
        ]
      },
      "CopyDatastoreFileRequestType": {
        "type": "object",
        "description": "The parameters of *FileManager.CopyDatastoreFile_Task*.\n",
        "properties": {
          "sourceName": {
            "description": "The name of the source, either a URL or a\ndatastore path referring to the file or folder to be copied.\n",
            "type": "string"
          },
          "sourceDatacenter": {
            "description": "If <code>sourceName</code> is a datastore path, the\ndatacenter for that datastore path.\nNot needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>sourceName</code> must be a URL.\n\n***Required privileges:*** System.View\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destinationName": {
            "description": "The name of the destination, either a\nURL or a datastore path referring to the destination file\nor folder.\n",
            "type": "string"
          },
          "destinationDatacenter": {
            "description": "If <code>destinationName</code> is a datastore\npath, the datacenter for that datastore path.\nNot needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter, it is assumed that\nthe destination path belongs to the source datacenter.\n\n***Required privileges:*** System.View\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "force": {
            "description": "If true, overwrite any identically named file\nat the destination. If not specified, it is assumed to be false.\n",
            "type": "boolean"
          }
        },
        "required": [
          "sourceName",
          "destinationName"
        ]
      },
      "CopyVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.CopyVirtualDisk_Task*.\n",
        "properties": {
          "sourceName": {
            "description": "The name of the source, either a datastore path\nor a URL referring to the virtual disk to be copied.\n",
            "type": "string"
          },
          "sourceDatacenter": {
            "description": "If <code>sourceName</code> is a datastore path, the\ndatacenter for that datastore path.\nNot needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>sourceName</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destName": {
            "description": "The name of the destination, either a datastore path\nor a URL referring to the virtual disk to be created.\n",
            "type": "string"
          },
          "destDatacenter": {
            "description": "If <code>destName</code> is a datastore\npath, the datacenter for that datastore path.\nNot needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter, it is assumed that\nthe destination path belongs to the source datacenter.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destSpec": {
            "description": "The specification of the virtual disk to be created.\nIf not specified, a preallocated format and busLogic adapter type is assumed.\n",
            "$ref": "#/components/schemas/VirtualDiskSpec"
          },
          "force": {
            "description": "The force flag is currently ignored. The FileAlreadyExists fault is thrown if\nthe destination file already exists.\n",
            "type": "boolean"
          }
        },
        "required": [
          "sourceName",
          "destName"
        ]
      },
      "CreateAgencyRequestType": {
        "type": "object",
        "description": "The parameters of *EsxAgentManager.CreateAgency*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "agencyConfigInfo": {
            "description": "The configuration that describes how to deploy the agents in the\ncreated agency.\n",
            "$ref": "#/components/schemas/AgencyConfigInfo"
          },
          "initialGoalState": {
            "description": "Deprecated. No sence to create agency in other state than\n<code>enabled</code>. <code>disabled</code> is deprecated\nwhereas <code>uninstalled</code> is useless.\nThe initial goal state of the agency. See\n*EamObjectRuntimeInfoGoalState_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "agencyConfigInfo",
          "initialGoalState"
        ]
      },
      "CreateAlarmRequestType": {
        "type": "object",
        "description": "The parameters of *AlarmManager.CreateAlarm*.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is associated.\n\n***Required privileges:*** Alarm.Create\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification for the new alarm.\n",
            "$ref": "#/components/schemas/AlarmSpec"
          }
        },
        "required": [
          "entity",
          "spec"
        ]
      },
      "CreateChildVMRequestType": {
        "type": "object",
        "description": "The parameters of *ResourcePool.CreateChildVM_Task*.\n",
        "properties": {
          "config": {
            "description": "The configuration of the virtual machine hardware.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          },
          "host": {
            "description": "The target host on which the virtual machine will run. This must\nspecify a host that is a member of the ComputeResource indirectly\nspecified by the pool. For a stand-alone host or a cluster with DRS,\nhost can be omitted, and the system selects a default.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "config"
        ]
      },
      "CreateClusterExRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.CreateClusterEx*.\n",
        "properties": {
          "name": {
            "description": "Name for the new cluster.\n",
            "type": "string"
          },
          "spec": {
            "description": "Specification for the cluster.\n",
            "$ref": "#/components/schemas/ClusterConfigSpecEx"
          }
        },
        "required": [
          "name",
          "spec"
        ]
      },
      "CreateClusterRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.CreateCluster*.\n",
        "properties": {
          "name": {
            "description": "Name for the new cluster.\n",
            "type": "string"
          },
          "spec": {
            "description": "Specification for the cluster.\n",
            "$ref": "#/components/schemas/ClusterConfigSpec"
          }
        },
        "required": [
          "name",
          "spec"
        ]
      },
      "CreateCollectorForEventsRequestType": {
        "type": "object",
        "description": "The parameters of *EventManager.CreateCollectorForEvents*.\n",
        "properties": {
          "filter": {
            "description": "The event query filter.\n",
            "$ref": "#/components/schemas/EventFilterSpec"
          }
        },
        "required": [
          "filter"
        ]
      },
      "CreateCollectorForTasksRequestType": {
        "type": "object",
        "description": "The parameters of *TaskManager.CreateCollectorForTasks*.\n",
        "properties": {
          "filter": {
            "description": "The specification for the task query filter.\n",
            "$ref": "#/components/schemas/TaskFilterSpec"
          }
        },
        "required": [
          "filter"
        ]
      },
      "CreateCollectorWithInfoFilterForTasksRequestType": {
        "type": "object",
        "description": "The parameters of *TaskManager.CreateCollectorWithInfoFilterForTasks*.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "filter": {
            "description": "The specification for the task query filter.\n",
            "$ref": "#/components/schemas/TaskFilterSpec"
          },
          "infoFilter": {
            "description": "The specification for the task info filter.\n",
            "$ref": "#/components/schemas/TaskInfoFilterSpec"
          }
        },
        "required": [
          "filter"
        ]
      },
      "CreateContainerViewRequestType": {
        "type": "object",
        "description": "The parameters of *ViewManager.CreateContainerView*.\n",
        "properties": {
          "container": {
            "description": "A reference to an instance of a *Folder*,\n*Datacenter*, *ComputeResource*,\n*ResourcePool*, or *HostSystem* object.\n\n***Required privileges:*** System.View\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "type": {
            "description": "An optional list of managed entity types. The server\nassociates only objects of the specified type(s) with the view.\nIf you specify an empty array, the server uses all types.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "recursive": {
            "description": "Whether to include only the immediate children of the\ncontainer instance, or to include additional objects by\nfollowing paths beyond the immediate children.\n\nWhen recursive is false, the list of objects contains\nonly immediate children.\nWhen recursive is true, the server populates the list\nby following references beyond the immediate children\n(using a child's references, and then references in the\nresulting objects, and so on).\n\nDepending on the container type, the server will use the following\nproperties of the container instance to obtain objects for the\nview's object list:\n- *Folder* object - *Folder.childEntity*\n  property.\n  If recursive is false, the container list includes the reference\n  to the child entity in the folder instance.\n  If recursive is true, the server will follow the child\n  folder path(s) to collect additional childEntity references.\n- *ResourcePool* object - *ResourcePool.vm*\n  and *ResourcePool.resourcePool* properties.\n  If recursive is false, the object list will contain references\n  to the virtual machines associated with this resource pool,\n  and references to virtual machines associated with the\n  immediate child resource pools. If recursive is true,\n  the server will follow all child resource pool paths\n  extending from the immediate children (and their children,\n  and so on) to collect additional references to virtual machines.\n- *ComputeResource* object - *ComputeResource.host*\n  and *ComputeResource.resourcePool* properties.\n  If recursive is false, the object list will contain references\n  to the host systems associated with this compute resource,\n  references to virtual machines associated with the\n  host systems, and references to virtual machines associated\n  with the immediate child resource pools.\n  If recursive is true, the server will follow the child\n  resource pool paths (and their child resource pool paths,\n  and so on) to collect additional references to virtual machines.\n- *Datacenter* object - *Datacenter.vmFolder*,\n  *Datacenter.hostFolder*,\n  *Datacenter.datastoreFolder*, and\n  *Datacenter.networkFolder* properties.\n  If recursive is set to false, the server uses the\n  immediate child folders for the virtual machines,\n  hosts, datastores, and networks associated with this\n  datacenter. If recursive is set to true, the server\n  will follow the folder paths to collect references\n  to additional objects.\n- *HostSystem* object - *HostSystem.vm*\n  property.\n  The view object list contains references to the virtual machines\n  associated with this host system. The value of recursive does not\n  affect this behavior.\n",
            "type": "boolean"
          }
        },
        "required": [
          "container",
          "recursive"
        ]
      },
      "CreateCustomizationSpecRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.CreateCustomizationSpec*.\n",
        "properties": {
          "item": {
            "$ref": "#/components/schemas/CustomizationSpecItem"
          }
        },
        "required": [
          "item"
        ]
      },
      "CreateDVPortgroupRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.CreateDVPortgroup_Task*.\n",
        "properties": {
          "spec": {
            "description": "The specification for the portgroup.\n",
            "$ref": "#/components/schemas/DVPortgroupConfigSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "CreateDVSRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.CreateDVS_Task*.\n",
        "properties": {
          "spec": {
            "description": "The *DVSCreateSpec*\nto create the distributed virtual switch.\n",
            "$ref": "#/components/schemas/DVSCreateSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "CreateDatacenterRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.CreateDatacenter*.\n",
        "properties": {
          "name": {
            "description": "Name for the new datacenter. An entity name\nmust be a non-empty string of less than 80 characters.\nThe slash (/), backslash (\\\\) and percent (%) will be escaped\nusing the URL syntax. For example, %2F.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "CreateDefaultProfileRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.CreateDefaultProfile*.\n",
        "properties": {
          "profileType": {
            "description": "Type of profile to create. The profile types\nare system-defined\n(*ApplyProfile*.*ApplyProfile.profileTypeName*).\n",
            "type": "string"
          },
          "profileTypeName": {
            "description": "If specified, the method returns a profile object\ncontaining data for the named profile. The type name does not have\nto be system-defined. A user-defined profile can include various\ndynamically-defined profiles.\n",
            "type": "string"
          },
          "profile": {
            "description": "Base profile used during the operation.\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "profileType"
        ]
      },
      "CreateDescriptorRequestType": {
        "type": "object",
        "description": "The parameters of *OvfManager.CreateDescriptor*.\n",
        "properties": {
          "obj": {
            "description": "The entity to export. Supported types are *VirtualMachine*\nand *VirtualApp*.\n\n***Required privileges:*** VApp.Export\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "cdp": {
            "description": "Parameters to the method, bundled in an instance of\nCreateDescriptorParams.\n",
            "$ref": "#/components/schemas/OvfCreateDescriptorParams"
          }
        },
        "required": [
          "obj",
          "cdp"
        ]
      },
      "CreateDiagnosticPartitionRequestType": {
        "type": "object",
        "description": "The parameters of *HostDiagnosticSystem.CreateDiagnosticPartition*.\n",
        "properties": {
          "spec": {
            "$ref": "#/components/schemas/HostDiagnosticPartitionCreateSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "CreateDirectoryRequestType": {
        "type": "object",
        "description": "The parameters of *DatastoreNamespaceManager.CreateDirectory*.\n",
        "properties": {
          "datastore": {
            "description": "datastore on which to create a top-level directory\n\n***Required privileges:*** Datastore.Config\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "displayName": {
            "description": "display name hint for the directory to create\n",
            "type": "string"
          },
          "policy": {
            "description": "opaque storage policy to associate with the directory\n",
            "type": "string"
          },
          "size": {
            "description": "directory size in MB on vvol/vsan backed object storage.\ndefault directory size will be used for vsan backed\nobject storage if not set.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "CreateDiskFromSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.CreateDiskFromSnapshot_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "name": {
            "description": "A user friendly name to be associated with the new disk.\n",
            "type": "string"
          },
          "profile": {
            "description": "SPBM Profile requirement on the new virtual storage object.\nIf not specified datastore default policy would be\nassigned.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "crypto": {
            "description": "Crypto information of the new disk.\nIf unset and if profile contains an encryption iofilter and\nif snapshto is unencrypted, then cyrpto will be of\ntype CryptoSpecEncrypt, and filled with keyId that is\nautomatically generated and keyProviderId that is the\ndefault kms cluster.\nIf unset and if profile is a default policy and if snapshot\nis unenrypted, then crypto is treated as CryptoSpecNoOp.\nIf unset and if profile contains an encryption iofilter and\nif snapshot is encrypted, then cyrpto is treated as\nCryptoSpecNoOp.\nIf unset and if profile is a default policy and if\nsnapshot is encrypted, then cyrpto is treated as\nCryptoSpecDecrypt.\nTo recrypt the disk during creating disk, crypto has to be\npresent.\n",
            "$ref": "#/components/schemas/CryptoSpec"
          },
          "path": {
            "description": "Relative location in the specified datastore where disk needs\nto be created. If not specified disk gets created at the\ndefualt VStorageObject location on the specified datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId",
          "name"
        ]
      },
      "CreateDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.CreateDisk_Task*.\n",
        "properties": {
          "spec": {
            "description": "The specification of the virtual storage object\nto be created.\n",
            "$ref": "#/components/schemas/VslmCreateSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "CreateFilterRequestType": {
        "type": "object",
        "description": "The parameters of *PropertyCollector.CreateFilter*.\n",
        "properties": {
          "spec": {
            "description": "The specifications for the filter.\n",
            "$ref": "#/components/schemas/PropertyFilterSpec"
          },
          "partialUpdates": {
            "description": "Flag to specify whether a change to a nested property should report\nonly the nested change or the entire specified property value. If the\nvalue is true, a change should report only the nested property. If\nthe value is false, a change should report the enclosing property\nnamed in the filter.\n",
            "type": "boolean"
          }
        },
        "required": [
          "spec",
          "partialUpdates"
        ]
      },
      "CreateFolderRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.CreateFolder*.\n",
        "properties": {
          "name": {
            "description": "The name to be given the new folder. An entity name\nmust be a non-empty string of less than 80 characters.\nThe slash (/), backslash (\\\\) and percent (%) will be escaped\nusing the URL syntax. For example, %2F. Any percent (%)\ncharacter used in this parameter must be escaped, unless\nit is used to start an escape sequence. Clients may also\nescape any other characters in this parameter.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "CreateGroupRequestType": {
        "type": "object",
        "description": "The parameters of *HostLocalAccountManager.CreateGroup*.\n",
        "properties": {
          "group": {
            "description": "Specification of group being created.\n",
            "$ref": "#/components/schemas/HostAccountSpec"
          }
        },
        "required": [
          "group"
        ]
      },
      "CreateImportSpecRequestType": {
        "type": "object",
        "description": "The parameters of *OvfManager.CreateImportSpec*.\n",
        "properties": {
          "ovfDescriptor": {
            "description": "The OVF descriptor of the entity.\n",
            "type": "string"
          },
          "resourcePool": {
            "description": "The resource pool to import the entity to. May be a\nvApp.\n\n***Required privileges:*** VApp.Import\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastore": {
            "description": "The datastore on which to create the inventory objects\nof the entity, for example \"storage1\". The privilege\nDatastore.AllocateSpace is required on the datastore.\n\n***Required privileges:*** Datastore.AllocateSpace\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "cisp": {
            "description": "Additional parameters to the method, bundled in an instance of\nCreateImportSpecParams.\n",
            "$ref": "#/components/schemas/OvfCreateImportSpecParams"
          }
        },
        "required": [
          "ovfDescriptor",
          "resourcePool",
          "datastore",
          "cisp"
        ]
      },
      "CreateIpPoolRequestType": {
        "type": "object",
        "description": "The parameters of *IpPoolManager.CreateIpPool*.\n",
        "properties": {
          "dc": {
            "description": "The datacenter on which to create the pool.\n\n***Required privileges:*** Datacenter.IpPoolConfig\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pool": {
            "description": "The IP pool to create on the server\n",
            "$ref": "#/components/schemas/IpPool"
          }
        },
        "required": [
          "dc",
          "pool"
        ]
      },
      "CreateListViewFromViewRequestType": {
        "type": "object",
        "description": "The parameters of *ViewManager.CreateListViewFromView*.\n",
        "properties": {
          "view": {
            "description": "The view that will provide the object list for the\nnew ListView object.\n\nRefers instance of *View*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "view"
        ]
      },
      "CreateListViewRequestType": {
        "type": "object",
        "description": "The parameters of *ViewManager.CreateListView*.\n",
        "properties": {
          "obj": {
            "description": "The initial list of objects in the view.\n\n***Required privileges:*** System.View\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "CreateLocalDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.CreateLocalDatastore*.\n",
        "properties": {
          "name": {
            "description": "The name of a datastore to create on the local host.\n",
            "type": "string"
          },
          "path": {
            "description": "The file path for a directory in which the virtual machine data\nwill be stored.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "path"
        ]
      },
      "CreateNasDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.CreateNasDatastore*.\n",
        "properties": {
          "spec": {
            "description": "The specification for creating a network-attached storage volume.\n",
            "$ref": "#/components/schemas/HostNasVolumeSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "CreateNvdimmNamespaceRequestType": {
        "type": "object",
        "description": "The parameters of *HostNvdimmSystem.CreateNvdimmNamespace_Task*.\n",
        "properties": {
          "createSpec": {
            "description": "Parameters to create the required namespace.\n",
            "$ref": "#/components/schemas/NvdimmNamespaceCreateSpec"
          }
        },
        "required": [
          "createSpec"
        ]
      },
      "CreateNvdimmPMemNamespaceRequestType": {
        "type": "object",
        "description": "The parameters of *HostNvdimmSystem.CreateNvdimmPMemNamespace_Task*.\n",
        "properties": {
          "createSpec": {
            "description": "Parameters to create the required namespace.\n",
            "$ref": "#/components/schemas/NvdimmPMemNamespaceCreateSpec"
          }
        },
        "required": [
          "createSpec"
        ]
      },
      "CreateNvmeOverRdmaAdapterRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.CreateNvmeOverRdmaAdapter*.\n",
        "properties": {
          "rdmaDeviceName": {
            "description": "The device name of the RDMA device\nto be used to create the software adapter.\nCan be obtained from *HostRdmaDevice.device*.\n",
            "type": "string"
          }
        },
        "required": [
          "rdmaDeviceName"
        ]
      },
      "CreateObjectScheduledTaskRequestType": {
        "type": "object",
        "description": "The parameters of *ScheduledTaskManager.CreateObjectScheduledTask*.\n",
        "properties": {
          "obj": {
            "description": "The managed object for which the\nscheduled task triggers an action. You can\nschedule tasks on any managed object.\n\n***Required privileges:*** ScheduledTask.Create\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification for the new scheduled task.\n",
            "$ref": "#/components/schemas/ScheduledTaskSpec"
          }
        },
        "required": [
          "obj",
          "spec"
        ]
      },
      "CreatePerfIntervalRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.CreatePerfInterval*.\n",
        "properties": {
          "intervalId": {
            "description": "A custom interval, specified as the number of seconds to hold data in the\ndatabase, a user-specified unique name, and a sampling period (in\nseconds).\n",
            "$ref": "#/components/schemas/PerfInterval"
          }
        },
        "required": [
          "intervalId"
        ]
      },
      "CreateProfileRequestType": {
        "type": "object",
        "description": "The parameters of *ProfileManager.CreateProfile*.\n",
        "properties": {
          "createSpec": {
            "description": "Specification for the profile being created.\nUsually a derived class CreateSpec can be used to create the Profile.\n",
            "$ref": "#/components/schemas/ProfileCreateSpec"
          }
        },
        "required": [
          "createSpec"
        ]
      },
      "CreateRegistryKeyInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestWindowsRegistryManager.CreateRegistryKeyInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "keyName": {
            "description": "The path to the registry key to be created.\n",
            "$ref": "#/components/schemas/GuestRegKeyNameSpec"
          },
          "isVolatile": {
            "description": "If true, the key is created in memory and is not\npreserved across system reboot. Otherwise, it shall\npersist in the file system.\n",
            "type": "boolean"
          },
          "classType": {
            "description": "User defined class type for this key. May be omitted.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "keyName",
          "isVolatile"
        ]
      },
      "CreateResourcePoolRequestType": {
        "type": "object",
        "description": "The parameters of *ResourcePool.CreateResourcePool*.\n",
        "properties": {
          "name": {
            "description": "The name of the ResourcePool. Any % (percent) character\nused in this parameter must be escaped, unless it is used\nto start an escape sequence. Clients may also escape any\nother characters in this parameter.\n",
            "type": "string"
          },
          "spec": {
            "description": "The spec for the ResourcePool.\nAll values in ResourceAllocationInfo must be specified and\nare not optional.\n",
            "$ref": "#/components/schemas/ResourceConfigSpec"
          }
        },
        "required": [
          "name",
          "spec"
        ]
      },
      "CreateScheduledTaskRequestType": {
        "type": "object",
        "description": "The parameters of *ScheduledTaskManager.CreateScheduledTask*.\n",
        "properties": {
          "entity": {
            "description": "The managed entity (or entities) for which the\nscheduled task triggers an action. You can\nschedule tasks on any managed entity. If the\nscheduled task is associated with a leaf node in\nthe inventory tree, it applies only to a single\nentity (virtual machine or host). If the\ntask is associated with a folder, a datacenter, a\ncompute resource, or a resource pool, it applies to\nthe virtual machine or host descendants of the entity.\n\n***Required privileges:*** ScheduledTask.Create\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification for the new scheduled task.\n",
            "$ref": "#/components/schemas/ScheduledTaskSpec"
          }
        },
        "required": [
          "entity",
          "spec"
        ]
      },
      "CreateSecondaryVMExRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.CreateSecondaryVMEx_Task*.\n",
        "properties": {
          "host": {
            "description": "The host where the secondary virtual machine is to be\ncreated and powered on. If no host is specified, a compatible host will be\nselected by the system. If a host cannot be found for the secondary or the specified\nhost is not suitable, the secondary will not be created and a fault will be returned.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "This parameter *FaultToleranceVMConfigSpec* can\nbe used to specify the storage location of the fault tolerance\ntie-breaker file, secondary configuration file and secondary\ndisks.\n\nIf the virtual machine is on a vSAN datastore, then the\nFault Tolerance secondary virtual machine and the tie-breaker\nfile also have to be placed on that same vSAN datastore.\nConversely, if a primary VM is not using vSAN datastore,\nthen its Fault Tolerance secondary virtual machine can\nnot be placed on a vSAN datastore. Fault Tolerance is not\nsupported for VMs that are using both vSAN and non-vSAN\ndatastores for its configuration and disks.\n\nIf the virtual machine is using persistent memory for any of\nits disks, then its corresponding secondary disk placement\nentry should not be specified in the\n*FaultToleranceVMConfigSpec*. The system will\nautomatically place the corresponding secondary disk on\npersistent memory.\n",
            "$ref": "#/components/schemas/FaultToleranceConfigSpec"
          }
        }
      },
      "CreateSecondaryVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.CreateSecondaryVM_Task*.\n",
        "properties": {
          "host": {
            "description": "The host where the secondary virtual machine is to be\ncreated and powered on. If no host is specified, a compatible host will be\nselected by the system. If a host cannot be found for the secondary or the specified\nhost is not suitable, the secondary will not be created and a fault will be returned.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "CreateSnapshotExRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.CreateSnapshotEx_Task*.\n",
        "properties": {
          "name": {
            "description": "The name for this snapshot. The name need not be unique for\nthis virtual machine.\n",
            "type": "string"
          },
          "description": {
            "description": "A description for this snapshot. If omitted, a default\ndescription may be provided.\n",
            "type": "string"
          },
          "memory": {
            "description": "If TRUE, a dump of the internal state of the virtual machine\n(basically a memory dump) is included in the snapshot. Memory snapshots\nconsume time and resources, and thus take longer to create.\nWhen set to FALSE, the power state of the snapshot is set to powered off.\n\n*capabilities*\nindicates whether or not this virtual machine supports this operation.\nFor a virtual machine in suspended state we always include memory\nunless *VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported* is\ntrue.\n",
            "type": "boolean"
          },
          "quiesceSpec": {
            "description": "Spec for granular control over quiesce details.\nIf quiesceSpec is set and the virtual machine is powered on when the\nsnapshot is taken, VMware Tools is used to quiesce the file\nsystem in the virtual machine. This assures that a disk snapshot\nrepresents a consistent state of the guest file systems. If the virtual\nmachine is powered off or VMware Tools are not available, the quiesce\nspec is ignored. If the spec type is *VirtualMachineGuestQuiesceSpec*, the\ndefault quiescing process will be applied. If the spec type is\n*VirtualMachineWindowsQuiesceSpec* and Guest OS is Windows, the parameters\nwill control the VSS process.\n",
            "$ref": "#/components/schemas/VirtualMachineGuestQuiesceSpec"
          }
        },
        "required": [
          "name",
          "memory"
        ]
      },
      "CreateSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.CreateSnapshot_Task*.\n",
        "properties": {
          "name": {
            "description": "The name for this snapshot. The name need not be unique for\nthis virtual machine.\n",
            "type": "string"
          },
          "description": {
            "description": "A description for this snapshot. If omitted, a default\ndescription may be provided.\n",
            "type": "string"
          },
          "memory": {
            "description": "If TRUE, a dump of the internal state of the virtual machine\n(basically a memory dump) is included in the snapshot. Memory snapshots\nconsume time and resources, and thus take longer to create. When set to FALSE,\nthe power state of the snapshot is set to powered off.\n\n*capabilities*\nindicates whether or not this virtual machine supports this operation.\nFor a virtual machine in suspended state we always include memory\nunless *VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported* is\ntrue.\n",
            "type": "boolean"
          },
          "quiesce": {
            "description": "If TRUE and the virtual machine is powered on when the\nsnapshot is taken, VMware Tools is used to quiesce the file\nsystem in the virtual machine. This assures that a disk snapshot\nrepresents a consistent state of the guest file systems. If the virtual machine\nis powered off or VMware Tools are not available, the quiesce flag is ignored.\n",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "memory",
          "quiesce"
        ]
      },
      "CreateSoftwareAdapterRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.CreateSoftwareAdapter*.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "spec": {
            "description": "A data object that specifices the parameters necessary\nto create a software host bus adapter of a specific type.\n",
            "$ref": "#/components/schemas/HostHbaCreateSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "CreateStoragePodRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.CreateStoragePod*.\n",
        "properties": {
          "name": {
            "description": "Name for the new storage pod.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "CreateTaskRequestType": {
        "type": "object",
        "description": "The parameters of *TaskManager.CreateTask*.\n",
        "properties": {
          "obj": {
            "description": "ManagedObject with which Task will be associated\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "taskTypeId": {
            "description": "Extension registered task type identifier\nfor type of task being created\n",
            "type": "string"
          },
          "initiatedBy": {
            "description": "The name of the user on whose behalf the\nExtension is creating the task\n",
            "type": "string"
          },
          "cancelable": {
            "description": "True if the task should be cancelable,\nfalse otherwise\n",
            "type": "boolean"
          },
          "parentTaskKey": {
            "description": "Key of the task that is the parent of this task\n",
            "type": "string"
          },
          "activationId": {
            "description": "Activation Id is a client-provided token to link an\nAPI call with a task. When provided, the activationId is added to the\n*TaskInfo*\n",
            "type": "string"
          }
        },
        "required": [
          "obj",
          "taskTypeId",
          "cancelable"
        ]
      },
      "CreateTemporaryDirectoryInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.CreateTemporaryDirectoryInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "prefix": {
            "description": "The prefix to be given to the new temporary directory.\n",
            "type": "string"
          },
          "suffix": {
            "description": "The suffix to be given to the new temporary directory.\n",
            "type": "string"
          },
          "directoryPath": {
            "description": "The complete path to the directory in which to create the\nnew directory. If unset or an empty string, a guest-specific location\nwill be used.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "prefix",
          "suffix"
        ]
      },
      "CreateTemporaryFileInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.CreateTemporaryFileInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "prefix": {
            "description": "The prefix to be given to the new temporary file.\n",
            "type": "string"
          },
          "suffix": {
            "description": "The suffix to be given to the new temporary file.\n",
            "type": "string"
          },
          "directoryPath": {
            "description": "The complete path to the directory in which to\ncreate the file.\nIf unset, or an empty string, a guest-specific location will be used.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "prefix",
          "suffix"
        ]
      },
      "CreateUserRequestType": {
        "type": "object",
        "description": "The parameters of *HostLocalAccountManager.CreateUser*.\n",
        "properties": {
          "user": {
            "description": "Specification of user being created.\n",
            "$ref": "#/components/schemas/HostAccountSpec"
          }
        },
        "required": [
          "user"
        ]
      },
      "CreateVAppRequestType": {
        "type": "object",
        "description": "The parameters of *ResourcePool.CreateVApp*.\n",
        "properties": {
          "name": {
            "description": "The name of the vApp container in the inventory\n",
            "type": "string"
          },
          "resSpec": {
            "description": "The resource configuration for the vApp container (same as for a\nregular resource pool).\n",
            "$ref": "#/components/schemas/ResourceConfigSpec"
          },
          "configSpec": {
            "description": "The specification of the vApp specific meta-data.\n",
            "$ref": "#/components/schemas/VAppConfigSpec"
          },
          "vmFolder": {
            "description": "The parent folder for the vApp. This must be null if this is\na child vApp.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name",
          "resSpec",
          "configSpec"
        ]
      },
      "CreateVMRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.CreateVM_Task*.\n",
        "properties": {
          "config": {
            "description": "The configuration of the virtual machine hardware.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          },
          "pool": {
            "description": "The resource pool to which the virtual machine will be attached.\n\n***Required privileges:*** Resource.AssignVMToPool\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host on which the virtual machine will run. This must\nspecify a host that is a member of the ComputeResource indirectly\nspecified by the pool. For a stand-alone host or a cluster with DRS,\nhost can be omitted, and the system selects a default.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "config",
          "pool"
        ]
      },
      "CreateVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.CreateVirtualDisk_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a\nURL referring to the virtual disk to be created.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification of the virtual disk to be created.\n",
            "$ref": "#/components/schemas/VirtualDiskSpec"
          }
        },
        "required": [
          "name",
          "spec"
        ]
      },
      "CreateVmfsDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.CreateVmfsDatastore*.\n",
        "properties": {
          "spec": {
            "description": "The specification for creating a datastore backed by a VMFS.\n",
            "$ref": "#/components/schemas/VmfsDatastoreCreateSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "CreateVvolDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.CreateVvolDatastore*.\n",
        "properties": {
          "spec": {
            "description": "Specification for creating a Virtual-Volume based datastore.\n",
            "$ref": "#/components/schemas/HostDatastoreSystemVvolDatastoreSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "CryptoManagerHostEnableRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerHost.CryptoManagerHostEnable*.\n",
        "properties": {
          "initialKey": {
            "description": "The key to be used for core dump encryption\n",
            "$ref": "#/components/schemas/CryptoKeyPlain"
          }
        },
        "required": [
          "initialKey"
        ]
      },
      "CustomizationSpecItemToXmlRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.CustomizationSpecItemToXml*.\n",
        "properties": {
          "item": {
            "$ref": "#/components/schemas/CustomizationSpecItem"
          }
        },
        "required": [
          "item"
        ]
      },
      "CustomizeGuestRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineGuestCustomizationManager.CustomizeGuest_Task*.\n",
        "properties": {
          "vm": {
            "description": "The Virtual Machine managed object reference.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "spec": {
            "description": "Is a *CustomizationSpec*.\nIt specifies the virtual machine's configuration.\n",
            "$ref": "#/components/schemas/CustomizationSpec"
          },
          "configParams": {
            "description": "addtional key/value pair list to support\nthird party customization.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "required": [
          "vm",
          "auth",
          "spec"
        ]
      },
      "CustomizeVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.CustomizeVM_Task*.\n",
        "properties": {
          "spec": {
            "description": "The customization specification object.\n",
            "$ref": "#/components/schemas/CustomizationSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "DVPortgroupRollbackRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualPortgroup.DVPortgroupRollback_Task*.\n",
        "properties": {
          "entityBackup": {
            "description": "The backup of Distributed Virtual PortGroup entity.\n",
            "$ref": "#/components/schemas/EntityBackupConfig"
          }
        }
      },
      "DVSManagerExportEntityRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.DVSManagerExportEntity_Task*.\n",
        "properties": {
          "selectionSet": {
            "description": "The selection criteria for a set of\nentities to export the configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SelectionSet"
            }
          }
        },
        "required": [
          "selectionSet"
        ]
      },
      "DVSManagerImportEntityRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.DVSManagerImportEntity_Task*.\n",
        "properties": {
          "entityBackup": {
            "description": "Configuration of one or more entities to be imported.\nThe entity backup configuration is returned\nby the *DistributedVirtualSwitchManager.DVSManagerExportEntity_Task* method.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityBackupConfig"
            }
          },
          "importType": {
            "description": "Specifies whether to create a new configuration\nor restore a previous configuration. See *EntityImportType_enum* for valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "entityBackup",
          "importType"
        ]
      },
      "DVSManagerLookupDvPortGroupRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.DVSManagerLookupDvPortGroup*.\n",
        "properties": {
          "switchUuid": {
            "description": "The UUID of the *DistributedVirtualSwitch*.\n",
            "type": "string"
          },
          "portgroupKey": {
            "description": "The key that identifies a\n*DistributedVirtualPortgroup*.\n",
            "type": "string"
          }
        },
        "required": [
          "switchUuid",
          "portgroupKey"
        ]
      },
      "DVSRollbackRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.DVSRollback_Task*.\n",
        "properties": {
          "entityBackup": {
            "description": "Backup of a distributed virtual switch, returned by\nthe *DistributedVirtualSwitchManager.DVSManagerExportEntity_Task*\nmethod.\n",
            "$ref": "#/components/schemas/EntityBackupConfig"
          }
        }
      },
      "DecodeLicenseRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.DecodeLicense*.\n",
        "properties": {
          "licenseKey": {
            "description": "A license. E.g. a serial license.\n",
            "type": "string"
          }
        },
        "required": [
          "licenseKey"
        ]
      },
      "DefragmentVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.DefragmentVirtualDisk_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk that should be defragmented.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "DeleteCustomizationSpecRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.DeleteCustomizationSpec*.\n",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "DeleteDatastoreFileRequestType": {
        "type": "object",
        "description": "The parameters of *FileManager.DeleteDatastoreFile_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the file or folder, either a URL or a datastore path\nreferring to the file or folder to be deleted.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\n***Required privileges:*** System.View\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "DeleteDirectoryInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.DeleteDirectoryInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "directoryPath": {
            "description": "The complete path to the directory to be deleted.\n",
            "type": "string"
          },
          "recursive": {
            "description": "If true, all subdirectories are also deleted.\nIf false, the directory must be empty for the operation to succeed.\n",
            "type": "boolean"
          }
        },
        "required": [
          "vm",
          "auth",
          "directoryPath",
          "recursive"
        ]
      },
      "DeleteDirectoryRequestType": {
        "type": "object",
        "description": "The parameters of *DatastoreNamespaceManager.DeleteDirectory*.\n",
        "properties": {
          "datacenter": {
            "description": "The datacenter of the datastore path. Needs to be set\nwhen making the call to VC; ignored when the call is\nmade to ESX.\n\n***Required privileges:*** System.View\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastorePath": {
            "description": "Stable vmfs path of the directory to delete.\n",
            "type": "string"
          }
        },
        "required": [
          "datastorePath"
        ]
      },
      "DeleteFileInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.DeleteFileInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "filePath": {
            "description": "The complete path to the file or symbolic link to be deleted.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "filePath"
        ]
      },
      "DeleteFileRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreBrowser.DeleteFile*.\n",
        "properties": {
          "datastorePath": {
            "type": "string"
          }
        },
        "required": [
          "datastorePath"
        ]
      },
      "DeleteHostSpecificationRequestType": {
        "type": "object",
        "description": "The parameters of *HostSpecificationManager.DeleteHostSpecification*.\n",
        "properties": {
          "host": {
            "description": "The specified host for which the specification will be\ndeleted.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ]
      },
      "DeleteHostSubSpecificationRequestType": {
        "type": "object",
        "description": "The parameters of *HostSpecificationManager.DeleteHostSubSpecification*.\n",
        "properties": {
          "host": {
            "description": "The specified host for which the sub specification will be\ndeleted.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "subSpecName": {
            "description": "The name of the host sub specification to be deleted.\n",
            "type": "string"
          }
        },
        "required": [
          "host",
          "subSpecName"
        ]
      },
      "DeleteNvdimmNamespaceRequestType": {
        "type": "object",
        "description": "The parameters of *HostNvdimmSystem.DeleteNvdimmNamespace_Task*.\n",
        "properties": {
          "deleteSpec": {
            "description": "Details of namespace to be deleted.\n",
            "$ref": "#/components/schemas/NvdimmNamespaceDeleteSpec"
          }
        },
        "required": [
          "deleteSpec"
        ]
      },
      "DeleteRegistryKeyInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestWindowsRegistryManager.DeleteRegistryKeyInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "keyName": {
            "description": "The path to the registry key to be deleted.\n",
            "$ref": "#/components/schemas/GuestRegKeyNameSpec"
          },
          "recursive": {
            "description": "If true, the key is deleted along with any subkeys (if\npresent). Otherwise, it shall only delete the key if it\nhas no subkeys.\n",
            "type": "boolean"
          }
        },
        "required": [
          "vm",
          "auth",
          "keyName",
          "recursive"
        ]
      },
      "DeleteRegistryValueInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestWindowsRegistryManager.DeleteRegistryValueInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "valueName": {
            "description": "The registry value name to be deleted.\nThe Value \"name\" (specified in\n*GuestRegValueNameSpec*)\ncan be empty. If \"name\" is empty, it deletes the value\nfor the unnamed or default value of the given key.\n",
            "$ref": "#/components/schemas/GuestRegValueNameSpec"
          }
        },
        "required": [
          "vm",
          "auth",
          "valueName"
        ]
      },
      "DeleteScsiLunStateRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DeleteScsiLunState*.\n",
        "properties": {
          "lunCanonicalName": {
            "description": "The 'canonicalName' of the ScsiLun\nwhose state needs to be deleted.\n",
            "type": "string"
          }
        },
        "required": [
          "lunCanonicalName"
        ]
      },
      "DeleteSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.DeleteSnapshot_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId"
        ]
      },
      "DeleteVStorageObjectExRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.DeleteVStorageObjectEx_Task*.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be deleted.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "DeleteVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.DeleteVStorageObject_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be deleted.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "DeleteVffsVolumeStateRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DeleteVffsVolumeState*.\n",
        "properties": {
          "vffsUuid": {
            "description": "The VFFS UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "vffsUuid"
        ]
      },
      "DeleteVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.DeleteVirtualDisk_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk to be deleted.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "DeleteVmfsVolumeStateRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DeleteVmfsVolumeState*.\n",
        "properties": {
          "vmfsUuid": {
            "description": "The VMFS UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "vmfsUuid"
        ]
      },
      "DeleteVsanObjectsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.DeleteVsanObjects*.\n",
        "properties": {
          "uuids": {
            "description": "List of object UUIDs to be deleted.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "force": {
            "description": "Optional force delete.\n",
            "type": "boolean"
          }
        },
        "required": [
          "uuids"
        ]
      },
      "DeselectVnicForNicTypeRequestType": {
        "type": "object",
        "description": "The parameters of *HostVirtualNicManager.DeselectVnicForNicType*.\n",
        "properties": {
          "nicType": {
            "description": "The type of VirtualNic that would be deselected\n",
            "type": "string"
          },
          "device": {
            "description": "The device that uniquely identifies the VirtualNic.\n",
            "type": "string"
          }
        },
        "required": [
          "nicType",
          "device"
        ]
      },
      "DestroyIpPoolRequestType": {
        "type": "object",
        "description": "The parameters of *IpPoolManager.DestroyIpPool*.\n",
        "properties": {
          "dc": {
            "description": "The datacenter on which to find the pool\n\n***Required privileges:*** Datacenter.IpPoolConfig\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "id": {
            "description": "The unique ID of the pool\n",
            "type": "integer",
            "format": "int32"
          },
          "force": {
            "description": "If true, the pool will be destroyed even if it is in use\n",
            "type": "boolean"
          }
        },
        "required": [
          "dc",
          "id",
          "force"
        ]
      },
      "DestroyVffsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DestroyVffs*.\n",
        "properties": {
          "vffsPath": {
            "description": "The path of the VFFS to destroy. See *FileSystemMountInfo*.\n",
            "type": "string"
          }
        },
        "required": [
          "vffsPath"
        ]
      },
      "DetachDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.DetachDisk_Task*.\n",
        "properties": {
          "diskId": {
            "description": "The ID of the virtual disk to be operated. See\n*ID*\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "diskId"
        ]
      },
      "DetachScsiLunExRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DetachScsiLunEx_Task*.\n",
        "properties": {
          "lunUuid": {
            "description": "each element specifies UUID of LUN to be detached.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "lunUuid"
        ]
      },
      "DetachScsiLunRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DetachScsiLun*.\n",
        "properties": {
          "lunUuid": {
            "description": "The uuid of the ScsiLun device to detach.\n",
            "type": "string"
          }
        },
        "required": [
          "lunUuid"
        ]
      },
      "DetachTagFromVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.DetachTagFromVStorageObject*.\n",
        "properties": {
          "id": {
            "description": "The identifier(ID) of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "category": {
            "description": "The category to which the tag belongs.\n",
            "type": "string"
          },
          "tag": {
            "description": "The tag which has to be disassociated with the virtual storage\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "category",
          "tag"
        ]
      },
      "DisableAlarmRequestType": {
        "type": "object",
        "description": "The parameters of *AlarmManager.DisableAlarm*.\n",
        "properties": {
          "alarm": {
            "description": "The Alarm being disabled.\n\n***Required privileges:*** Alarm.ToggleEnableOnEntity\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entity": {
            "description": "The ManagedEntity on which to disable the alarm.\n\n***Required privileges:*** System.Read\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "alarm",
          "entity"
        ]
      },
      "DisableClusteredVmdkSupportRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.DisableClusteredVmdkSupport*.\n",
        "properties": {
          "datastore": {
            "description": "Datastore on which clustered vmdk should be\ndisabled.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "DisableFeatureRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.DisableFeature*.\n",
        "properties": {
          "host": {
            "description": "Host to act on if LicenseManager is not on a host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "featureKey": {
            "description": "key of the feature to disable.\n",
            "type": "string"
          }
        },
        "required": [
          "featureKey"
        ]
      },
      "DisableMultipathPathRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DisableMultipathPath*.\n",
        "properties": {
          "pathName": {
            "description": "The name of the path to disable.\n",
            "type": "string"
          }
        },
        "required": [
          "pathName"
        ]
      },
      "DisableRulesetRequestType": {
        "type": "object",
        "description": "The parameters of *HostFirewallSystem.DisableRuleset*.\n",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "DisableSecondaryVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.DisableSecondaryVM_Task*.\n",
        "properties": {
          "vm": {
            "description": "The secondary virtual machine specified will be disabed.\nThis field must specify a secondary virtual machine that is part of the fault\ntolerant group that this virtual machine is currently associated with. It can\nonly be invoked from the primary virtual machine in the group.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ]
      },
      "DisconnectNvmeControllerExRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DisconnectNvmeControllerEx_Task*.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "disconnectSpec": {
            "description": "A list of data objects, each specifying the parameters\nnecessary to disconnect an NVMe controller.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeDisconnectSpec"
            }
          }
        }
      },
      "DisconnectNvmeControllerRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DisconnectNvmeController*.\n",
        "properties": {
          "disconnectSpec": {
            "description": "A data object that specifies the parameters\nnecessary to perform the disconnection.\n",
            "$ref": "#/components/schemas/HostNvmeDisconnectSpec"
          }
        },
        "required": [
          "disconnectSpec"
        ]
      },
      "DiscoverFcoeHbasRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DiscoverFcoeHbas*.\n",
        "properties": {
          "fcoeSpec": {
            "$ref": "#/components/schemas/FcoeConfigFcoeSpecification"
          }
        },
        "required": [
          "fcoeSpec"
        ]
      },
      "DiscoverNvmeControllersRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.DiscoverNvmeControllers*.\n",
        "properties": {
          "discoverSpec": {
            "description": "A data object that specifies the parameters\nnecessary to retrieve the Discovery Log.\n",
            "$ref": "#/components/schemas/HostNvmeDiscoverSpec"
          }
        },
        "required": [
          "discoverSpec"
        ]
      },
      "DissociateProfileRequestType": {
        "type": "object",
        "description": "The parameters of *Profile.DissociateProfile*.\n",
        "properties": {
          "entity": {
            "description": "List of entities. The vCenter Server will remove the associations\nthat the profile has with the entities in the list. If unset,\nthe Server removes all the associations that the profile has with any\nmanaged entities in the inventory.\nIf the specified entity is not associated with the profile,\nthe Server does not perform any action.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "DoesCustomizationSpecExistRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.DoesCustomizationSpecExist*.\n",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "DropConnectionsRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.DropConnections*.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "listOfConnections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConnection"
            }
          }
        }
      },
      "DuplicateCustomizationSpecRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.DuplicateCustomizationSpec*.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "newName": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "newName"
        ]
      },
      "DvsReconfigureVmVnicNetworkResourcePoolRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task*.\n",
        "properties": {
          "configSpec": {
            "description": "The Virtual NIC network resource pool configuration specification and operation type.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsVmVnicResourcePoolConfigSpec"
            }
          }
        },
        "required": [
          "configSpec"
        ]
      },
      "EagerZeroVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.EagerZeroVirtualDisk_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk that should be inflated.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "EmitSyslogMarkRequestType": {
        "type": "object",
        "description": "The parameters of *DiagnosticManager.EmitSyslogMark*.\n\n***Since:*** vSphere API Release 8.0.0.2\n",
        "properties": {
          "message": {
            "description": "The string to be used.\n",
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      },
      "EnableAlarmActionsRequestType": {
        "type": "object",
        "description": "The parameters of *AlarmManager.EnableAlarmActions*.\n",
        "properties": {
          "entity": {
            "description": "The managed entity on which to set a schedule.\n\n***Required privileges:*** Alarm.DisableActions\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "enabled": {
            "description": "true, if alarms are enabled during the schedule.\n",
            "type": "boolean"
          }
        },
        "required": [
          "entity",
          "enabled"
        ]
      },
      "EnableAlarmRequestType": {
        "type": "object",
        "description": "The parameters of *AlarmManager.EnableAlarm*.\n",
        "properties": {
          "alarm": {
            "description": "The Alarm being enabled.\n\n***Required privileges:*** Alarm.ToggleEnableOnEntity\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entity": {
            "description": "The ManagedEntity on which to enable the alarm.\n\n***Required privileges:*** System.Read\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "alarm",
          "entity"
        ]
      },
      "EnableClusteredVmdkSupportRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.EnableClusteredVmdkSupport*.\n",
        "properties": {
          "datastore": {
            "description": "Datastore on which clustered vmdk should be\nenabled\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "EnableCryptoRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.EnableCrypto*.\n",
        "properties": {
          "keyPlain": {
            "description": "The key to be used for coredump encryption\n",
            "$ref": "#/components/schemas/CryptoKeyPlain"
          }
        },
        "required": [
          "keyPlain"
        ]
      },
      "EnableFeatureRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.EnableFeature*.\n",
        "properties": {
          "host": {
            "description": "Host to act on if LicenseManager is not on a host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "featureKey": {
            "description": "Name of the feature to enable.\n",
            "type": "string"
          }
        },
        "required": [
          "featureKey"
        ]
      },
      "EnableMultipathPathRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.EnableMultipathPath*.\n",
        "properties": {
          "pathName": {
            "description": "The name of the path to enable.\n",
            "type": "string"
          }
        },
        "required": [
          "pathName"
        ]
      },
      "EnableNetworkResourceManagementRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.EnableNetworkResourceManagement*.\n",
        "properties": {
          "enable": {
            "description": "If true, enables I/O control. If false,\ndisables network I/O control.\n",
            "type": "boolean"
          }
        },
        "required": [
          "enable"
        ]
      },
      "EnableRulesetRequestType": {
        "type": "object",
        "description": "The parameters of *HostFirewallSystem.EnableRuleset*.\n",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "EnableSecondaryVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.EnableSecondaryVM_Task*.\n",
        "properties": {
          "vm": {
            "description": "The secondary virtual machine specified will be enabled.\nThis field must specify a secondary virtual machine that is part of the fault\ntolerant group that this virtual machine is currently associated with. It can\nonly be invoked from the primary virtual machine in the group.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The host on which the secondary virtual machine is to be\nenabled and possibly powered on. If no host is specified, a compatible host\nwill be selected by the system. If the secondary virtual machine is not\ncompatible with the specified host, the secondary will not be re-enabled\nand a fault will be returned.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ]
      },
      "EnterMaintenanceModeRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.EnterMaintenanceMode_Task*.\n",
        "properties": {
          "timeout": {
            "description": "The task completes when the host successfully enters maintenance\nmode or the timeout expires, and in the latter case the task\ncontains a Timeout fault. If the timeout is less than or equal to\nzero, there is no timeout. The timeout is specified in seconds.\n",
            "type": "integer",
            "format": "int32"
          },
          "evacuatePoweredOffVms": {
            "description": "This is a parameter only supported by VirtualCenter.\nIf set to true, for a DRS disabled cluster, the task will not\nsucceed unless all powered-off virtual machines have been manually\nreregistered; for a DRS enabled cluster, VirtualCenter will\nautomatically reregister powered-off virtual machines and a\npowered-off virtual machine may remain at the host only for two\nreasons: (a) no compatible host found for reregistration, (b) DRS\nis disabled for the virtual machine. If set to false, powered-off\nvirtual machines do not need to be moved.\n",
            "type": "boolean"
          },
          "maintenanceSpec": {
            "description": "Any additional actions to be taken by the host upon\nentering maintenance mode. If omitted, default actions will\nbe taken as documented in the *HostMaintenanceSpec*.\n",
            "$ref": "#/components/schemas/HostMaintenanceSpec"
          }
        },
        "required": [
          "timeout"
        ]
      },
      "EstimateDatabaseSizeRequestType": {
        "type": "object",
        "description": "The parameters of *ResourcePlanningManager.EstimateDatabaseSize*.\n",
        "properties": {
          "dbSizeParam": {
            "description": "*DatabaseSizeParam*\nContains the summary of an inventory for which the database size\nrequirements are to be computed. It also contains\nthe historic interval setting for which the database\ncomputations are to be done. This is an optional parameter and\nthe current virtual center historical settings are used by default.\nThere are many other optional fields in the dbSizeParam structure\nthat are appropriately filled up based on some heuristics.\n",
            "$ref": "#/components/schemas/DatabaseSizeParam"
          }
        },
        "required": [
          "dbSizeParam"
        ]
      },
      "EsxAgentHostManagerUpdateConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostEsxAgentHostManager.EsxAgentHostManagerUpdateConfig*.\n",
        "properties": {
          "configInfo": {
            "description": "configuration of agent virtual machine resources\n",
            "$ref": "#/components/schemas/HostEsxAgentHostManagerConfigInfo"
          }
        },
        "required": [
          "configInfo"
        ]
      },
      "EvacuateVsanNodeRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanSystem.EvacuateVsanNode_Task*.\n",
        "properties": {
          "maintenanceSpec": {
            "description": "Specifies the data evacuation mode. See *HostMaintenanceSpec*.\nIf unspecified, the default mode chosen will be\n*ensureObjectAccessibility*.\n",
            "$ref": "#/components/schemas/HostMaintenanceSpec"
          },
          "timeout": {
            "description": "Time to wait for the task to complete in seconds.\nIf the value is less than or equal to zero, there\nis no timeout. The operation fails with a Timedout\nexception if it timed out.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maintenanceSpec",
          "timeout"
        ]
      },
      "ExecuteHostProfileRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfile.ExecuteHostProfile*.\n",
        "properties": {
          "host": {
            "description": "Host on which to execute the profile.\nThe host does not have to be associated with the profile.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "deferredParam": {
            "description": "Additional configuration data to be applied to the host.\nThis should contain all of the host-specific data, including data from from\nprevious calls to the method.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDeferredPolicyOptionParameter"
            }
          }
        },
        "required": [
          "host"
        ]
      },
      "ExecuteSimpleCommandRequestType": {
        "type": "object",
        "description": "The parameters of *SimpleCommand.ExecuteSimpleCommand*.\n",
        "properties": {
          "arguments": {
            "description": "An arbitrary collection of arguments.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ExitMaintenanceModeRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.ExitMaintenanceMode_Task*.\n",
        "properties": {
          "timeout": {
            "description": "Number of seconds to wait for the exit maintenance mode to\nsucceed. If the timeout is less than or equal to zero, there\nis no timeout.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "timeout"
        ]
      },
      "ExpandVmfsDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.ExpandVmfsDatastore*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore whose capacity should be increased.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification describing which extent of the VMFS\ndatastore to expand.\n",
            "$ref": "#/components/schemas/VmfsDatastoreExpandSpec"
          }
        },
        "required": [
          "datastore",
          "spec"
        ]
      },
      "ExpandVmfsExtentRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.ExpandVmfsExtent*.\n",
        "properties": {
          "vmfsPath": {
            "description": "The path of the VMFS to expand. See *FileSystemMountInfo*.\n",
            "type": "string"
          },
          "extent": {
            "description": "The disk partition corresponding to the extent to be\nexpanded.\n",
            "$ref": "#/components/schemas/HostScsiDiskPartition"
          }
        },
        "required": [
          "vmfsPath",
          "extent"
        ]
      },
      "ExportAnswerFileRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.ExportAnswerFile_Task*.\n",
        "properties": {
          "host": {
            "description": "Host with which the answer file is associated.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ]
      },
      "ExtendDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.ExtendDisk_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual disk to be extended.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual disk is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "newCapacityInMB": {
            "description": "The new capacity of the virtual disk in MB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "id",
          "datastore",
          "newCapacityInMB"
        ]
      },
      "ExtendHCIRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.ExtendHCI_Task*.\n",
        "properties": {
          "hostInputs": {
            "description": "Inputs to configure specified set of hosts in the\ncluster. See\n*ClusterComputeResourceHostConfigurationInput*\nfor details. Hosts in this list should be part of the cluster and\nshould be in maintenance mode for them to be configured per\nspecification. Hosts which were not configured due to not\nbeing in maintenance mode will be returned in\n*ClusterComputeResourceClusterConfigResult.failedHosts*. Specify\n*ClusterComputeResourceHostConfigurationInput.hostVmkNics* only if *dvsSetting*\nis set.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHostConfigurationInput"
            }
          },
          "vSanConfigSpec": {
            "description": "Specification to configure vSAN on specified set of\nhosts. See vim.vsan.ReconfigSpec for details. This parameter\nshould be specified only when vSan is enabled on the cluster.\n",
            "$ref": "#/components/schemas/SDDCBase"
          }
        }
      },
      "ExtendVffsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.ExtendVffs*.\n",
        "properties": {
          "vffsPath": {
            "description": "The path of the VFFS to extend. See *FileSystemMountInfo*.\n",
            "type": "string"
          },
          "devicePath": {
            "description": "Device path of the SSD disk.\n",
            "type": "string"
          },
          "spec": {
            "description": "A data object that describes the SSD disk partition\ninformation. If this property is not provided, partition\ninformation will be computed and generated.\n",
            "$ref": "#/components/schemas/HostDiskPartitionSpec"
          }
        },
        "required": [
          "vffsPath",
          "devicePath"
        ]
      },
      "ExtendVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.ExtendVirtualDisk_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk whose capacity should be expanded.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "newCapacityKb": {
            "description": "The new capacty of the virtual disk in Kb.\n",
            "type": "integer",
            "format": "int64"
          },
          "eagerZero": {
            "description": "If true, the extended part of the disk will be\nexplicitly filled with zeroes.\n",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "newCapacityKb"
        ]
      },
      "ExtendVmfsDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.ExtendVmfsDatastore*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore whose capacity should be increased.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification describing what extents to add to a\nVMFS datastore.\n",
            "$ref": "#/components/schemas/VmfsDatastoreExtendSpec"
          }
        },
        "required": [
          "datastore",
          "spec"
        ]
      },
      "FailoverReplicationGroupRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.FailoverReplicationGroup_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "failoverParam": {
            "description": "Settings for the failover.\n",
            "$ref": "#/components/schemas/FailoverParam"
          }
        },
        "required": [
          "failoverParam"
        ]
      },
      "FetchAuditRecordsRequestType": {
        "type": "object",
        "description": "The parameters of *DiagnosticManager.FetchAuditRecords*.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "token": {
            "description": "The token to be used for the operation. The first call must\nbe made without a token. All subsequent calls use the token\nreturned in AuditRecordStatus.\n",
            "type": "string"
          }
        }
      },
      "FetchDVPortKeysRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.FetchDVPortKeys*.\n",
        "properties": {
          "criteria": {
            "description": "The port selection criteria. If unset, the operation\nreturns the keys of all the ports in the switch.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortCriteria"
          }
        }
      },
      "FetchDVPortsRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.FetchDVPorts*.\n",
        "properties": {
          "criteria": {
            "description": "The port selection criteria. If unset, the operation\nreturns the keys of all the ports in the portgroup.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortCriteria"
          }
        }
      },
      "FetchUserPrivilegeOnEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.FetchUserPrivilegeOnEntities*.\n",
        "properties": {
          "entities": {
            "description": "are the entities to retrieve privileges on\n\n***Required privileges:*** System.View\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "userName": {
            "description": "is the user to retrieve privileges for\n",
            "type": "string"
          }
        },
        "required": [
          "entities",
          "userName"
        ]
      },
      "FindAllByDnsNameRequestType": {
        "type": "object",
        "description": "The parameters of *SearchIndex.FindAllByDnsName*.\n",
        "properties": {
          "datacenter": {
            "description": "If specified, restricts the query to entities in\na particular datacenter. If not specified, the entire inventory is\nsearched.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "dnsName": {
            "description": "The fully qualified domain name to find.\n",
            "type": "string"
          },
          "vmSearch": {
            "description": "If true, search for virtual machines, otherwise search for\nhosts.\n",
            "type": "boolean"
          }
        },
        "required": [
          "dnsName",
          "vmSearch"
        ]
      },
      "FindAllByIpRequestType": {
        "type": "object",
        "description": "The parameters of *SearchIndex.FindAllByIp*.\n",
        "properties": {
          "datacenter": {
            "description": "If specified, restricts the query to entities in\na particular datacenter. If not specified, the entire inventory is\nsearched.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "ip": {
            "description": "The dot-decimal notation formatted IP address to find.\n",
            "type": "string"
          },
          "vmSearch": {
            "description": "If true, search for virtual machines, otherwise search for\nhosts.\n",
            "type": "boolean"
          }
        },
        "required": [
          "ip",
          "vmSearch"
        ]
      },
      "FindAllByUuidRequestType": {
        "type": "object",
        "description": "The parameters of *SearchIndex.FindAllByUuid*.\n",
        "properties": {
          "datacenter": {
            "description": "If specified, restricts the query to entities in\na particular datacenter. If not specified, the entire inventory is\nsearched.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "uuid": {
            "description": "The UUID to find. If vmSearch is true, the UUID can be either BIOS\nor instance UUID.\n",
            "type": "string"
          },
          "vmSearch": {
            "description": "If true, search for virtual machines, otherwise search for\nhosts.\n",
            "type": "boolean"
          },
          "instanceUuid": {
            "description": "Should only be set when vmSearch is true. If specified, search\nfor virtual machines whose instance UUID matches the given uuid.\nOtherwise, search for virtual machines whose BIOS UUID matches the given\nuuid.\n",
            "type": "boolean"
          }
        },
        "required": [
          "uuid",
          "vmSearch"
        ]
      },
      "FindAssociatedProfileRequestType": {
        "type": "object",
        "description": "The parameters of *ProfileManager.FindAssociatedProfile*.\n",
        "properties": {
          "entity": {
            "description": "Entity for which profile is being looked up.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "entity"
        ]
      },
      "FindByDatastorePathRequestType": {
        "type": "object",
        "description": "The parameters of *SearchIndex.FindByDatastorePath*.\n",
        "properties": {
          "datacenter": {
            "description": "Specifies the datacenter to which the datastore path belongs.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "path": {
            "description": "A datastore path to the .vmx file for the virtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "datacenter",
          "path"
        ]
      },
      "FindByDnsNameRequestType": {
        "type": "object",
        "description": "The parameters of *SearchIndex.FindByDnsName*.\n",
        "properties": {
          "datacenter": {
            "description": "If specified, restricts the query to entities in\na particular datacenter. If not specified, the entire inventory is\nsearched.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "dnsName": {
            "description": "The fully qualified domain name to find.\n",
            "type": "string"
          },
          "vmSearch": {
            "description": "if true, search for virtual machines, otherwise search for\nhosts.\n",
            "type": "boolean"
          }
        },
        "required": [
          "dnsName",
          "vmSearch"
        ]
      },
      "FindByInventoryPathRequestType": {
        "type": "object",
        "description": "The parameters of *SearchIndex.FindByInventoryPath*.\n",
        "properties": {
          "inventoryPath": {
            "description": "The path to the entity.\n",
            "type": "string"
          }
        },
        "required": [
          "inventoryPath"
        ]
      },
      "FindByIpRequestType": {
        "type": "object",
        "description": "The parameters of *SearchIndex.FindByIp*.\n",
        "properties": {
          "datacenter": {
            "description": "If specified, restricts the query to entities in\na particular datacenter. If not specified, the entire inventory is\nsearched.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "ip": {
            "description": "The dot-decimal notation formatted IP address to find.\n",
            "type": "string"
          },
          "vmSearch": {
            "description": "if true, search for virtual machines, otherwise search for\nhosts.\n",
            "type": "boolean"
          }
        },
        "required": [
          "ip",
          "vmSearch"
        ]
      },
      "FindByUuidRequestType": {
        "type": "object",
        "description": "The parameters of *SearchIndex.FindByUuid*.\n",
        "properties": {
          "datacenter": {
            "description": "If specified, restricts the query to entities in\na particular datacenter. If not specified, the entire inventory is\nsearched.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "uuid": {
            "description": "The UUID to find. If vmSearch is true, the uuid can be either BIOS\nor instance UUID.\n",
            "type": "string"
          },
          "vmSearch": {
            "description": "If true, search for virtual machines, otherwise search for\nhosts.\n",
            "type": "boolean"
          },
          "instanceUuid": {
            "description": "Should only be set when vmSearch is true. If specified, search\nfor virtual machines whose instance UUID matches the given uuid.\nOtherwise, search for virtual machines whose BIOS UUID matches the given\nuuid.\n",
            "type": "boolean"
          }
        },
        "required": [
          "uuid",
          "vmSearch"
        ]
      },
      "FindChildRequestType": {
        "type": "object",
        "description": "The parameters of *SearchIndex.FindChild*.\n",
        "properties": {
          "entity": {
            "description": "A reference to a managed entity.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "The name of the child object.\n",
            "type": "string"
          }
        },
        "required": [
          "entity",
          "name"
        ]
      },
      "FindExtensionRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensionManager.FindExtension*.\n",
        "properties": {
          "extensionKey": {
            "description": "Key to search for.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey"
        ]
      },
      "FindRulesForVmRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.FindRulesForVm*.\n",
        "properties": {
          "vm": {
            "description": "The vm whose rules need to be looked up.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ]
      },
      "FormatVffsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.FormatVffs*.\n",
        "properties": {
          "createSpec": {
            "description": "A data object that describes the VFFS volume\ncreation specification.\n",
            "$ref": "#/components/schemas/HostVffsSpec"
          }
        },
        "required": [
          "createSpec"
        ]
      },
      "FormatVmfsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.FormatVmfs*.\n",
        "properties": {
          "createSpec": {
            "description": "A data object that describes the VMware File System\n(VMFS) creation specification.\n",
            "$ref": "#/components/schemas/HostVmfsSpec"
          }
        },
        "required": [
          "createSpec"
        ]
      },
      "GenerateCertificateSigningRequestByDnRequestType": {
        "type": "object",
        "description": "The parameters of *HostCertificateManager.GenerateCertificateSigningRequestByDn*.\n",
        "properties": {
          "distinguishedName": {
            "description": "DN to be used as subject in CSR.\n",
            "type": "string"
          },
          "spec": {
            "description": "is used to generate CSR for selected certificate kind\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "$ref": "#/components/schemas/HostCertificateManagerCertificateSpec"
          }
        },
        "required": [
          "distinguishedName"
        ]
      },
      "GenerateCertificateSigningRequestRequestType": {
        "type": "object",
        "description": "The parameters of *HostCertificateManager.GenerateCertificateSigningRequest*.\n",
        "properties": {
          "useIpAddressAsCommonName": {
            "description": "if true, use host's\nmanagement IP address as CN in the CSR;\notherwise use host's FQDN.\n",
            "type": "boolean"
          },
          "spec": {
            "description": "is used to generate CSR for selected\ncertificate kind.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "$ref": "#/components/schemas/HostCertificateManagerCertificateSpec"
          }
        },
        "required": [
          "useIpAddressAsCommonName"
        ]
      },
      "GenerateClientCsrRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.GenerateClientCsr*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "request": {
            "description": "\\[in\\] Certificate sign request.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "$ref": "#/components/schemas/CryptoManagerKmipCertSignRequest"
          }
        },
        "required": [
          "cluster"
        ]
      },
      "GenerateConfigTaskListRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.GenerateConfigTaskList*.\n",
        "properties": {
          "configSpec": {
            "description": "ConfigSpec which was proposed by\n*HostProfile.ExecuteHostProfile* method.\n",
            "$ref": "#/components/schemas/HostConfigSpec"
          },
          "host": {
            "description": "Host on which the HostProfile application needs to be\ncarried out.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "configSpec",
          "host"
        ]
      },
      "GenerateHostConfigTaskSpecRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.GenerateHostConfigTaskSpec_Task*.\n",
        "properties": {
          "hostsInfo": {
            "description": "List of host data for which configuration task list\nneeds to be generated. The\n*StructuredCustomizations.customizations* value should be\nprovided only if the host customization data for that host is\ninvalid. If this property is not provided, the API will use the\nhost customization data stored in VC and generate task list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StructuredCustomizations"
            }
          }
        }
      },
      "GenerateHostProfileTaskListRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.GenerateHostProfileTaskList_Task*.\n",
        "properties": {
          "configSpec": {
            "description": "ConfigSpec which was proposed by\n*HostProfile.ExecuteHostProfile* method.\n",
            "$ref": "#/components/schemas/HostConfigSpec"
          },
          "host": {
            "description": "Host on which the HostProfile application needs to be\ncarried out.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "configSpec",
          "host"
        ]
      },
      "GenerateKeyRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.GenerateKey*.\n",
        "properties": {
          "keyProvider": {
            "description": "\\[in\\] Which provider will generate the key.\nIf omitted, will use the default key provider.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "spec": {
            "description": "\\[in\\] The spec that contains custom attributes key/value pairs.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "$ref": "#/components/schemas/CryptoManagerKmipCustomAttributeSpec"
          }
        }
      },
      "GenerateLogBundlesRequestType": {
        "type": "object",
        "description": "The parameters of *DiagnosticManager.GenerateLogBundles_Task*.\n",
        "properties": {
          "includeDefault": {
            "description": "Specifies if the bundle should include the\ndefault server. If called on a VirtualCenter\nserver, then this means the VirtualCenter\ndiagnostic files. If called directly on a host,\nthen includeDefault must be set to true.\n",
            "type": "boolean"
          },
          "host": {
            "description": "Lists hosts that are included. This is only used\nwhen called on VirtualCenter. If called directly\non a host, then this parameter must be empty.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "includeDefault"
        ]
      },
      "GenerateSelfSignedClientCertRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.GenerateSelfSignedClientCert*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "request": {
            "description": "\\[in\\] Certificate sign request.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "$ref": "#/components/schemas/CryptoManagerKmipCertSignRequest"
          }
        },
        "required": [
          "cluster"
        ]
      },
      "GetAlarmRequestType": {
        "type": "object",
        "description": "The parameters of *AlarmManager.GetAlarm*.\n",
        "properties": {
          "entity": {
            "description": "The entity. If not set, alarms are returned for\nall visible entities.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "GetAlarmStateRequestType": {
        "type": "object",
        "description": "The parameters of *AlarmManager.GetAlarmState*.\n",
        "properties": {
          "entity": {
            "description": "The entity.\n\n***Required privileges:*** System.Read\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "entity"
        ]
      },
      "GetCryptoKeyStatusRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerHost.GetCryptoKeyStatus*.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "keys": {
            "description": "\\[in\\] Cryptographic keys to query status.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoKeyId"
            }
          }
        }
      },
      "GetCustomizationSpecRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.GetCustomizationSpec*.\n",
        "properties": {
          "name": {
            "description": "Unique name identifying the requested customization specification.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "GetDefaultKmsClusterRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.GetDefaultKmsCluster*.\n",
        "properties": {
          "entity": {
            "description": "\\[in\\] The entity where the default KMS cluster to get.\nIf omitted, then return global default KMS cluster.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "defaultsToParent": {
            "description": "\\[in\\] (Optional, default = false) If set to true,\nthen get the default kms cluster follow the\nentity hierarchy. That means if the entity has\nno default kms cluster, then try to get from\nits parent.\n",
            "type": "boolean"
          }
        }
      },
      "GetVsanObjExtAttrsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.GetVsanObjExtAttrs*.\n",
        "properties": {
          "uuids": {
            "description": "List of object UUIDs.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "uuids"
        ]
      },
      "HasMonitoredEntityRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.HasMonitoredEntity*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          },
          "entity": {
            "description": "An entity of type HostSystem.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "providerId",
          "entity"
        ]
      },
      "HasPrivilegeOnEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.HasPrivilegeOnEntities*.\n",
        "properties": {
          "entity": {
            "description": "The set of entities on which the privileges are checked.\n\n***Required privileges:*** System.Read\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "sessionId": {
            "description": "The session ID to check privileges for. A sesssion ID can be\nobtained from *UserSession.key*.\n",
            "type": "string"
          },
          "privId": {
            "description": "The array of privilege IDs to check.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "entity",
          "sessionId"
        ]
      },
      "HasPrivilegeOnEntityRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.HasPrivilegeOnEntity*.\n",
        "properties": {
          "entity": {
            "description": "The entity on which the privileges are checked.\n\n***Required privileges:*** System.Read\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "sessionId": {
            "description": "The session ID to check privileges for. A sesssion ID can be\nobtained from *UserSession.key*.\n",
            "type": "string"
          },
          "privId": {
            "description": "The array of privilege IDs to check.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "entity",
          "sessionId"
        ]
      },
      "HasProviderRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.HasProvider*.\n",
        "properties": {
          "id": {
            "description": "The provider id.\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "HasUserPrivilegeOnEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.HasUserPrivilegeOnEntities*.\n",
        "properties": {
          "entities": {
            "description": "are the managed objects to check privileges on. If they\nrefer to managed objects that are not managed entities\nthe privilege check will be done on the root folder.\n\n***Required privileges:*** System.View\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "userName": {
            "description": "is the name of the user to check privileges for. Both\nUPN and PreWindows2000LogonName user name formats\nare supported.\n",
            "type": "string"
          },
          "privId": {
            "description": "is the set of privileges to check for\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "entities",
          "userName"
        ]
      },
      "HostClearVStorageObjectControlFlagsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostClearVStorageObjectControlFlags*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage\nobject is located.\n\n***Required privileges:*** Datastore.FileManagement\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "controlFlags": {
            "description": "control flags enum array to be cleared on the\nVStorageObject. All control flags not included\nin the array remain intact.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostCloneVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostCloneVStorageObject_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage\nobject is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification for cloning the virtual storage\nobject.\n",
            "$ref": "#/components/schemas/VslmCloneSpec"
          }
        },
        "required": [
          "id",
          "datastore",
          "spec"
        ]
      },
      "HostConfigVFlashCacheRequestType": {
        "type": "object",
        "description": "The parameters of *HostVFlashManager.HostConfigVFlashCache*.\n",
        "properties": {
          "spec": {
            "description": "Specification for host cache configuration.\n",
            "$ref": "#/components/schemas/HostVFlashManagerVFlashCacheConfigSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "HostConfigureVFlashResourceRequestType": {
        "type": "object",
        "description": "The parameters of *HostVFlashManager.HostConfigureVFlashResource*.\n",
        "properties": {
          "spec": {
            "description": "the vFlash resource specification.\n",
            "$ref": "#/components/schemas/HostVFlashManagerVFlashResourceConfigSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "HostCreateDiskRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostCreateDisk_Task*.\n",
        "properties": {
          "spec": {
            "description": "The specification of the virtual storage object\nto be created.\n2\n",
            "$ref": "#/components/schemas/VslmCreateSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "HostDeleteVStorageObjectExRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostDeleteVStorageObjectEx_Task*.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be deleted.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostDeleteVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostDeleteVStorageObject_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be deleted.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostExtendDiskRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostExtendDisk_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual disk to be extended.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual disk is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "newCapacityInMB": {
            "description": "The new capacity of the virtual disk in MB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "id",
          "datastore",
          "newCapacityInMB"
        ]
      },
      "HostGetVFlashModuleDefaultConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostVFlashManager.HostGetVFlashModuleDefaultConfig*.\n",
        "properties": {
          "vFlashModule": {
            "description": "Name of the vFlash module\n",
            "type": "string"
          }
        },
        "required": [
          "vFlashModule"
        ]
      },
      "HostInflateDiskRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostInflateDisk_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual disk to be inflated.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual disk is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostListVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostListVStorageObject*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore to query for the virtual storage objects.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "HostQueryVirtualDiskUuidRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostQueryVirtualDiskUuid*.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk whose uuid for the DDB entry needs to be queried.\nA URL has the form\n> _scheme_://_authority_/folder/_path_?dsName=_dsName_\n\nwhere\n- _scheme_ is <code>http</code> or <code>https</code>.\n- _authority_ specifies the hostname or IP address of the VirtualCenter or\n  ESX server and optionally the port.\n- _dsName_ is the name of the Datastore.\n- _path_ is a slash-delimited path from the root of the datastore.\n\nA datastore path has the form\n> \\[_datastore_\\] _path_\n\nwhere\n- _datastore_ is the datastore name.\n- _path_ is a slash-delimited path from the root of the datastore.\n\nAn example datastore path is \"\\[storage\\] path/to/file.extension\".\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "HostReconcileDatastoreInventoryRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostReconcileDatastoreInventory_Task*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore that needs to be reconciled.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "HostRegisterDiskRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostRegisterDisk*.\n",
        "properties": {
          "path": {
            "description": "URL or datastore path to the virtual disk.\n",
            "type": "string"
          },
          "name": {
            "description": "The descriptive name of the disk object. If\nunset the name will be automatically determined\nfrom the path. @see vim.vslm.BaseConfigInfo#name\n",
            "type": "string"
          },
          "modifyControlFlags": {
            "description": "Optional Parameter describing if the control Flags should be changed to default values\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "path"
        ]
      },
      "HostRelocateVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostRelocateVStorageObject_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage\nobject is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification for relocation of the virtual\nstorage object.\n",
            "$ref": "#/components/schemas/VslmRelocateSpec"
          }
        },
        "required": [
          "id",
          "datastore",
          "spec"
        ]
      },
      "HostRenameVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostRenameVStorageObject*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be renamed.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "The new name for the virtual storage object.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "name"
        ]
      },
      "HostRetrieveVStorageInfrastructureObjectPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostRetrieveVStorageInfrastructureObjectPolicy*.\n",
        "properties": {
          "datastore": {
            "description": "Datastore on which policy needs to be retrieved.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "HostRetrieveVStorageObjectMetadataRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostRetrieveVStorageObjectMetadata*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore to query for the virtual storage objects.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "prefix": {
            "description": "The prefix of the metadata key that needs to be retrieved\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostRetrieveVStorageObjectMetadataValueRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostRetrieveVStorageObjectMetadataValue*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore to query for the virtual storage objects.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "key": {
            "description": "The key for the the virtual storage object\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "key"
        ]
      },
      "HostRetrieveVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostRetrieveVStorageObject*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be retrieved.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "diskInfoFlags": {
            "description": "Flags indicating the FCD information to be\nretrieved. If diskInfoFlags is unset, then all FCD\ninformation will be retrieved. See\n*vslmDiskInfoFlag_enum* for the list of\nsupported values.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostRetrieveVStorageObjectStateRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostRetrieveVStorageObjectState*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object the state to be retrieved.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostScheduleReconcileDatastoreInventoryRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostScheduleReconcileDatastoreInventory*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore that needs to be reconciled.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "HostSetVStorageObjectControlFlagsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostSetVStorageObjectControlFlags*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage\nobject is located.\n\n***Required privileges:*** Datastore.FileManagement\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "controlFlags": {
            "description": "control flags enum array to be set on the\nVStorageObject. All control flags not included\nin the array remain intact.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostSetVirtualDiskUuidRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostSetVirtualDiskUuid_Task*.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk whose uuid for the DDB entry needs to be set.\nA URL has the form\n> _scheme_://_authority_/folder/_path_?dsName=_dsName_\n\nwhere\n- _scheme_ is <code>http</code> or <code>https</code>.\n- _authority_ specifies the hostname or IP address of the VirtualCenter or\n  ESX server and optionally the port.\n- _dsName_ is the name of the Datastore.\n- _path_ is a slash-delimited path from the root of the datastore.\n\nA datastore path has the form\n> \\[_datastore_\\] _path_\n\nwhere\n- _datastore_ is the datastore name.\n- _path_ is a slash-delimited path from the root of the datastore.\n\nAn example datastore path is \"\\[storage\\] path/to/file.extension\".\n",
            "type": "string"
          },
          "uuid": {
            "description": "The hex representation of the unique ID for this virtual disk. If uuid is not set or missing,\na random UUID is generated and assigned.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "HostSpecGetUpdatedHostsRequestType": {
        "type": "object",
        "description": "The parameters of *HostSpecificationManager.HostSpecGetUpdatedHosts*.\n",
        "properties": {
          "startChangeID": {
            "description": "The beginning of the time period.\n",
            "type": "string"
          },
          "endChangeID": {
            "description": "The ending of the time period.\n",
            "type": "string"
          }
        }
      },
      "HostStorageSystem_MarkForRemovalRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.HostStorageSystem_MarkForRemoval*.\n",
        "properties": {
          "hbaName": {
            "type": "string"
          },
          "remove": {
            "type": "boolean"
          }
        },
        "required": [
          "hbaName",
          "remove"
        ]
      },
      "HostUpdateVStorageObjectMetadataExRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostUpdateVStorageObjectMetadataEx_Task*.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore to query for the virtual storage objects.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "metadata": {
            "description": "array of key/value strings. (keys must be unique\nwithin the list)\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "deleteKeys": {
            "description": "array of keys need to be deleted\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostUpdateVStorageObjectMetadataRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostUpdateVStorageObjectMetadata_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore to query for the virtual storage objects.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "metadata": {
            "description": "array of key/value strings. (keys must be unique\nwithin the list)\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "deleteKeys": {
            "description": "array of keys need to be deleted\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostVStorageObjectCreateDiskFromSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostVStorageObjectCreateDiskFromSnapshot_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "name": {
            "description": "A user friendly name to be associated with the new disk.\n",
            "type": "string"
          },
          "profile": {
            "description": "SPBM Profile requirement on the new virtual storage object.\nIf not specified datastore default policy would be\nassigned.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "crypto": {
            "description": "Crypto information of the new disk.\n",
            "$ref": "#/components/schemas/CryptoSpec"
          },
          "path": {
            "description": "Relative location in the specified datastore where disk needs\nto be created. If not specified disk gets created at defualt\nVStorageObject location on the specified datastore.\n",
            "type": "string"
          },
          "provisioningType": {
            "description": "Provisioining type of the disk as specified in above\nmentioned profile. The list of supported values can be found in\n*BaseConfigInfoDiskFileBackingInfoProvisioningType_enum*\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId",
          "name"
        ]
      },
      "HostVStorageObjectCreateSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostVStorageObjectCreateSnapshot_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "description": {
            "description": "A short description to be associated with the snapshot.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "description"
        ]
      },
      "HostVStorageObjectDeleteSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostVStorageObjectDeleteSnapshot_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId"
        ]
      },
      "HostVStorageObjectRetrieveSnapshotInfoRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostVStorageObjectRetrieveSnapshotInfo*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "HostVStorageObjectRevertRequestType": {
        "type": "object",
        "description": "The parameters of *HostVStorageObjectManager.HostVStorageObjectRevert_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId"
        ]
      },
      "HttpNfcLeaseAbortRequestType": {
        "type": "object",
        "description": "The parameters of *HttpNfcLease.HttpNfcLeaseAbort*.\n",
        "properties": {
          "fault": {
            "description": "\\[in\\] The fault that caused the abort, if any.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        }
      },
      "HttpNfcLeaseProbeUrlsRequestType": {
        "type": "object",
        "description": "The parameters of *HttpNfcLease.HttpNfcLeaseProbeUrls*.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "files": {
            "description": "\\[in\\] List of remote source file descriptors\nThere should be the same number of *HttpNfcLeaseSourceFile*\nas *HttpNfcLeaseDeviceUrl* provided by this lease.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseSourceFile"
            }
          },
          "timeout": {
            "description": "\\[in\\] time in seconds for each url validation.\nMaximum timeout is 60.\n",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "HttpNfcLeaseProgressRequestType": {
        "type": "object",
        "description": "The parameters of *HttpNfcLease.HttpNfcLeaseProgress*.\n",
        "properties": {
          "percent": {
            "description": "\\[in\\] Completion status represented as an integer\nin the 0-100 range.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "percent"
        ]
      },
      "HttpNfcLeasePullFromUrlsRequestType": {
        "type": "object",
        "description": "The parameters of *HttpNfcLease.HttpNfcLeasePullFromUrls_Task*.\n",
        "properties": {
          "files": {
            "description": "\\[in\\] List of remote source file descriptors\nThere should be the same number of *HttpNfcLeaseSourceFile*\nas *HttpNfcLeaseDeviceUrl* provided by this lease.\nPrivilege VApp.PullFromUrls is required.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseSourceFile"
            }
          }
        }
      },
      "HttpNfcLeaseSetManifestChecksumTypeRequestType": {
        "type": "object",
        "description": "The parameters of *HttpNfcLease.HttpNfcLeaseSetManifestChecksumType*.\n",
        "properties": {
          "deviceUrlsToChecksumTypes": {
            "description": "\\[in\\] Should contain key value pairs:\nwhere key is *HttpNfcLeaseDeviceUrl.key* returned in this lease info and value\nis desired algorithm from *HttpNfcLeaseManifestEntryChecksumType_enum*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        }
      },
      "ImpersonateUserRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.ImpersonateUser*.\n",
        "properties": {
          "userName": {
            "description": "The user or extension key to impersonate.\n",
            "type": "string"
          },
          "locale": {
            "description": "A two-character ISO-639 language ID (like \"en\")\noptionally followed by an\nunderscore and a two-character ISO 3166 country ID (like \"US\").\n\nExamples are \"de\", \"fr\\_CA\", \"zh\", \"zh\\_CN\", and \"zh\\_TW\".\nNote: The method uses the server default locale when\na locale is not provided. This default can be configured in the\nserver configuration file. If unspecified, it defaults to the\nlocale of the server environment or English (\"en\") if unsupported.\n",
            "type": "string"
          }
        },
        "required": [
          "userName"
        ]
      },
      "ImportCertificateForCAMRequestType": {
        "type": "object",
        "description": "The parameters of *HostActiveDirectoryAuthentication.ImportCertificateForCAM_Task*.\n",
        "properties": {
          "certPath": {
            "description": "full path of the certificate on ESXi\n",
            "type": "string"
          },
          "camServer": {
            "description": "IP of server providing the CAM service.\n",
            "type": "string"
          }
        },
        "required": [
          "certPath",
          "camServer"
        ]
      },
      "ImportUnmanagedSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.ImportUnmanagedSnapshot*.\n",
        "properties": {
          "vdisk": {
            "description": "\\- The name of the disk to import, either a datastore path or a URL\nreferring to the virtual disk from which to get geometry information.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>vdisk</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>vdisk</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vvolId": {
            "description": "\\- unmanaged snapshot identifier\n",
            "type": "string"
          }
        },
        "required": [
          "vdisk",
          "vvolId"
        ]
      },
      "ImportVAppRequestType": {
        "type": "object",
        "description": "The parameters of *ResourcePool.ImportVApp*.\n",
        "properties": {
          "spec": {
            "description": "An *ImportSpec* describing what to import.\n",
            "$ref": "#/components/schemas/ImportSpec"
          },
          "folder": {
            "description": "The folder to which the entity will be attached.\n\n***Required privileges:*** VApp.Import\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host on which the entity will run. This must\nspecify a host that is a member of the ComputeResource indirectly\nspecified by the pool. For a stand-alone host or a cluster with DRS,\nhost can be omitted, and the system selects a default.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "spec"
        ]
      },
      "IncreaseDirectorySizeRequestType": {
        "type": "object",
        "description": "The parameters of *DatastoreNamespaceManager.IncreaseDirectorySize*.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "datacenter": {
            "description": "the datacenter of the namespace path. Needs to be set\nwhen making the call to VC; ignored when the call is\nmade to ESX.\n\n***Required privileges:*** System.View\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "stableName": {
            "description": "stable vmfs path of the top-level directory\n",
            "type": "string"
          },
          "size": {
            "description": "the desired final size in MB of the directory, not a diff\nfrom the current size; should be more than current size\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "stableName",
          "size"
        ]
      },
      "InflateDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.InflateDisk_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual disk to be inflated.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual disk is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "InflateVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.InflateVirtualDisk_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk that should be inflated.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "InitializeDisksRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanSystem.InitializeDisks_Task*.\n",
        "properties": {
          "mapping": {
            "description": "list of disk mappings to initialize\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskMapping"
            }
          }
        },
        "required": [
          "mapping"
        ]
      },
      "InitiateFileTransferFromGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.InitiateFileTransferFromGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Query\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "guestFilePath": {
            "description": "The complete path to the file inside the guest\nthat has to be transferred to the client. It cannot be a path to\na directory or a symbolic link.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "guestFilePath"
        ]
      },
      "InitiateFileTransferToGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.InitiateFileTransferToGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "guestFilePath": {
            "description": "The complete destination path in the guest to\ntransfer the file from the client. It cannot be a path to\na directory or a symbolic link.\n",
            "type": "string"
          },
          "fileAttributes": {
            "description": "File attributes of the file that has to be\ncreated in the guest. See *GuestFileAttributes*.\nIf any file attribute is not specified, then the default value\nof that property will be set for the file.\n",
            "$ref": "#/components/schemas/GuestFileAttributes"
          },
          "fileSize": {
            "description": "Size of the file to transfer to the guest in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "overwrite": {
            "description": "If set, the destination file is clobbered.\n",
            "type": "boolean"
          }
        },
        "required": [
          "vm",
          "auth",
          "guestFilePath",
          "fileAttributes",
          "fileSize",
          "overwrite"
        ]
      },
      "InstallHostPatchRequestType": {
        "type": "object",
        "description": "The parameters of *HostPatchManager.InstallHostPatch_Task*.\n",
        "properties": {
          "repository": {
            "description": "Location of the repository that contains the\nbulletin depot. The depot must be organized as a flat\ncollection of bulletins with each one being a folder named\nafter the bulletin ID. Each folder must contain both\nupdate metadata and required binaries.\n",
            "$ref": "#/components/schemas/HostPatchManagerLocator"
          },
          "updateID": {
            "description": "The update to be installed on the host.\n",
            "type": "string"
          },
          "force": {
            "description": "Specify whether to force reinstall an update.\nBy default, installing an already-installed update would fail\nwith the *PatchAlreadyInstalled* fault. If\nforce is set to true, the update will be forcefully reinstalled,\nthus overwriting the already installed update.\n",
            "type": "boolean"
          }
        },
        "required": [
          "repository",
          "updateID"
        ]
      },
      "InstallHostPatchV2RequestType": {
        "type": "object",
        "description": "The parameters of *HostPatchManager.InstallHostPatchV2_Task*.\n",
        "properties": {
          "metaUrls": {
            "description": "A list of urls pointing to metadata.zip.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "bundleUrls": {
            "description": "a list of urls pointing to an \"offline\" bundle. It is not supported in 5.0 or later.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vibUrls": {
            "description": "The urls of update binary files to be installed.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "spec": {
            "$ref": "#/components/schemas/HostPatchManagerPatchManagerOperationSpec"
          }
        }
      },
      "InstallIoFilterRequestType": {
        "type": "object",
        "description": "The parameters of *IoFilterManager.InstallIoFilter_Task*.\n",
        "properties": {
          "vibUrl": {
            "description": "The URL that points to the IO Filter VIB package.\n",
            "type": "string"
          },
          "compRes": {
            "description": "The compute resource to install the IO Filter on.\n\"compRes\" must be a cluster.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vibSslTrust": {
            "description": "This specifies SSL trust policy *IoFilterManagerSslTrust*\nfor the given VIB URL. If unset, the server certificate is\nvalidated against the trusted root certificates.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/IoFilterManagerSslTrust"
          }
        },
        "required": [
          "vibUrl",
          "compRes"
        ]
      },
      "InstallServerCertificateRequestType": {
        "type": "object",
        "description": "The parameters of *HostCertificateManager.InstallServerCertificate*.\n",
        "properties": {
          "cert": {
            "description": "SSL certificate in PEM format\n",
            "type": "string"
          }
        },
        "required": [
          "cert"
        ]
      },
      "InstallSmartCardTrustAnchorRequestType": {
        "type": "object",
        "description": "The parameters of *HostActiveDirectoryAuthentication.InstallSmartCardTrustAnchor*.\n",
        "properties": {
          "cert": {
            "description": "SSL certificate in PEM format\n",
            "type": "string"
          }
        },
        "required": [
          "cert"
        ]
      },
      "InstantCloneRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.InstantClone_Task*.\n",
        "properties": {
          "spec": {
            "description": "Is a *VirtualMachineInstantCloneSpec*. It specifies the\ncloned virtual machine's configuration.\n",
            "$ref": "#/components/schemas/VirtualMachineInstantCloneSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "IsKmsClusterActiveRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.IsKmsClusterActive*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\nWill use default cluster if omitted.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          }
        }
      },
      "JoinDomainRequestType": {
        "type": "object",
        "description": "The parameters of *HostActiveDirectoryAuthentication.JoinDomain_Task*.\n",
        "properties": {
          "domainName": {
            "description": "Name of the domain to be joined.\n",
            "type": "string"
          },
          "userName": {
            "description": "Name for an Active Directory account\nthat has the authority to add hosts to the domain.\n",
            "type": "string"
          },
          "password": {
            "description": "Password for the <code>userName</code> account.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "domainName",
          "userName",
          "password"
        ]
      },
      "JoinDomainWithCAMRequestType": {
        "type": "object",
        "description": "The parameters of *HostActiveDirectoryAuthentication.JoinDomainWithCAM_Task*.\n",
        "properties": {
          "domainName": {
            "description": "Name of the domain to be joined.\n",
            "type": "string"
          },
          "camServer": {
            "description": "Name of server providing the CAM service.\n",
            "type": "string"
          }
        },
        "required": [
          "domainName",
          "camServer"
        ]
      },
      "LeaveCurrentDomainRequestType": {
        "type": "object",
        "description": "The parameters of *HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task*.\n",
        "properties": {
          "force": {
            "description": "If <code>True</code>, any existing permissions on managed entities for\nActive Directory users will be deleted. If <code>False</code> and such\npermissions exist, the operation will fail.\n",
            "type": "boolean"
          }
        },
        "required": [
          "force"
        ]
      },
      "ListFilesInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.ListFilesInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Query\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "filePath": {
            "description": "The complete path to the directory or file to query.\n",
            "type": "string"
          },
          "index": {
            "description": "Which result to start the list with. The default is 0.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxResults": {
            "description": "The maximum number of results to return. The default\nis 50.\n",
            "type": "integer",
            "format": "int32"
          },
          "matchPattern": {
            "description": "A filter for the return values.\nMatch patterns are specified using perl-compatible regular\nexpressions.\nIf matchPattern is unset, then the pattern '.\\*' is used.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "filePath"
        ]
      },
      "ListGuestAliasesRequestType": {
        "type": "object",
        "description": "The parameters of *GuestAliasManager.ListGuestAliases*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.QueryAliases\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data for this operation. See\n*GuestAuthentication*. These credentials must satisfy\nauthentication requirements\nfor a guest account on the specified virtual machine.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "username": {
            "description": "The guest user whose Alias store is being queried.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "username"
        ]
      },
      "ListGuestMappedAliasesRequestType": {
        "type": "object",
        "description": "The parameters of *GuestAliasManager.ListGuestMappedAliases*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.QueryAliases\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data for this operation. See\n*GuestAuthentication*. These credentials must satisfy\nauthentication requirements\nfor a guest account on the specified virtual machine.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          }
        },
        "required": [
          "vm",
          "auth"
        ]
      },
      "ListKeysRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManager.ListKeys*.\n",
        "properties": {
          "limit": {
            "description": "\\[in\\] maximum keys to return.\n",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ListKmipServersRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.ListKmipServers*.\n",
        "properties": {
          "limit": {
            "description": "\\[in\\] maximum clusters to return.\n",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ListKmsClustersRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.ListKmsClusters*.\n",
        "properties": {
          "includeKmsServers": {
            "description": "\\[in\\] Whether to list KMS servers information\nin the cluster.\nBy default will not include the KMS servers\ninformation.\n",
            "type": "boolean"
          },
          "managementTypeFilter": {
            "description": "\\[in\\] The KMS cluster management type filter.\nBit map values:\n0x01 - Return VC managed Key Providers\nregistered in the CryptoManager.\n0x02 - Return Trusted Key Providers\nregistered in the CryptoManager.\n0x04 - Return Trusted Key Providers which are\nnot registered with the CryptoManager.\n0x08 - Return Native Key Providers.\nothers - reserved, will be ignored\nIf omitted or -1, then all kinds of Key Providers\nwill be returned.\n",
            "type": "integer",
            "format": "int32"
          },
          "statusFilter": {
            "description": "\\[in\\] The Key Provider status filter.\nBit map values:\n0x01 - Return active Key Providers.\n0x02 - Return inactive Key Providers.\nothers - reserved, will be ignored\nIf omitted or -1, then all status of Key Providers\nwill be returned.\n",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ListProcessesInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestProcessManager.ListProcessesInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Query\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "pids": {
            "description": "If set, only return information about the specified processes.\nOtherwise, information about all processes are returned.\nIf a specified processes does not exist, nothing will\nbe returned for that process.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "required": [
          "vm",
          "auth"
        ]
      },
      "ListRegistryKeysInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestWindowsRegistryManager.ListRegistryKeysInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Query\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "keyName": {
            "description": "The path to the registry key for which all subkeys are to\nbe listed.\n",
            "$ref": "#/components/schemas/GuestRegKeyNameSpec"
          },
          "recursive": {
            "description": "If true, all subkeys are listed recursively.\n",
            "type": "boolean"
          },
          "matchPattern": {
            "description": "A filter for the key names returned, specified using\nperl-compatible regular expressions. If matchPattern\nis unset, then the pattern '.\\*' is used, which returns\nall key names found, otherwise only those key names\nthat match the input pattern shall be returned.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "keyName",
          "recursive"
        ]
      },
      "ListRegistryValuesInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestWindowsRegistryManager.ListRegistryValuesInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Query\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "keyName": {
            "description": "The path to the registry key for which all values are to be\nlisted.\n",
            "$ref": "#/components/schemas/GuestRegKeyNameSpec"
          },
          "expandStrings": {
            "description": "If true, all values that have expandable data such\nas environment variable names, shall get expanded in\nthe result.\n",
            "type": "boolean"
          },
          "matchPattern": {
            "description": "A filter for the value names returned, specified using\nperl-compatible regular expressions. If matchPattern\nis unset, then the pattern '.\\*' is used, which returns\nall value names found, otherwise only those value\nnames that match the input pattern shall be returned.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "keyName",
          "expandStrings"
        ]
      },
      "ListTagsAttachedToVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.ListTagsAttachedToVStorageObject*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "ListVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.ListVStorageObject*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore to query for the virtual storage objects.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "ListVStorageObjectsAttachedToTagRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.ListVStorageObjectsAttachedToTag*.\n",
        "properties": {
          "category": {
            "description": "The category to which the tag belongs.\n",
            "type": "string"
          },
          "tag": {
            "description": "The tag to be queried.\n",
            "type": "string"
          }
        },
        "required": [
          "category",
          "tag"
        ]
      },
      "LogUserEventRequestType": {
        "type": "object",
        "description": "The parameters of *EventManager.LogUserEvent*.\n",
        "properties": {
          "entity": {
            "description": "The entity against which the event is logged. The entity must be\nthe root folder, a DataCenter, a VirtualMachine, a HostSystem,\nor a ComputeResource.\n\n***Required privileges:*** Global.LogEvent\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "msg": {
            "description": "The message to be logged.\n",
            "type": "string"
          }
        },
        "required": [
          "entity",
          "msg"
        ]
      },
      "LoginBySSPIRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.LoginBySSPI*.\n",
        "properties": {
          "base64Token": {
            "description": "The partially formed context returned from\nInitializeSecurityContext().\n",
            "type": "string"
          },
          "locale": {
            "description": "A two-character ISO-639 language ID (like \"en\")\noptionally followed by an\nunderscore and a two-character ISO 3166 country ID (like \"US\").\n\nExamples are \"de\", \"fr\\_CA\", \"zh\", \"zh\\_CN\", and \"zh\\_TW\".\nNote: The method uses the server default locale when\na locale is not provided. This default can be configured in the\nserver configuration file. If unspecified, it defaults to the\nlocale of the server environment or English (\"en\") if unsupported.\n",
            "type": "string"
          }
        },
        "required": [
          "base64Token"
        ]
      },
      "LoginByTokenRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.LoginByToken*.\n",
        "properties": {
          "locale": {
            "description": "A two-character ISO-639 language ID (like \"en\")\noptionally followed by an\nunderscore and a two-character ISO 3166 country ID (like \"US\").\n\nExamples are \"de\", \"fr\\_CA\", \"zh\", \"zh\\_CN\", and \"zh\\_TW\".\nNote: The method uses the server default locale when\na locale is not provided. This default can be configured in the\nserver configuration file. If unspecified, it defaults to the\nlocale of the server environment or English (\"en\") if unsupported.\n",
            "type": "string"
          }
        }
      },
      "LoginExtensionByCertificateRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.LoginExtensionByCertificate*.\n",
        "properties": {
          "extensionKey": {
            "description": "Key of extension that is logging in.\n",
            "type": "string"
          },
          "locale": {
            "description": "A two-character ISO-639 language ID (like \"en\")\noptionally followed by an\nunderscore and a two-character ISO 3166 country ID (like \"US\").\n\nExamples are \"de\", \"fr\\_CA\", \"zh\", \"zh\\_CN\", and \"zh\\_TW\".\nNote: The method uses the server default locale when\na locale is not provided. This default can be configured in the\nserver configuration file. If unspecified, it defaults to the\nlocale of the server environment or English (\"en\") if unsupported.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey"
        ]
      },
      "LoginExtensionBySubjectNameRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.LoginExtensionBySubjectName*.\n",
        "properties": {
          "extensionKey": {
            "description": "Key of extension that is logging in.\n",
            "type": "string"
          },
          "locale": {
            "description": "A two-character ISO-639 language ID (like \"en\")\noptionally followed by an\nunderscore and a two-character ISO 3166 country ID (like \"US\").\n\nExamples are \"de\", \"fr\\_CA\", \"zh\", \"zh\\_CN\", and \"zh\\_TW\".\nNote: The method uses the server default locale when\na locale is not provided. This default can be configured in the\nserver configuration file. If unspecified, it defaults to the\nlocale of the server environment or English (\"en\") if unsupported.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey"
        ]
      },
      "LoginExtensionRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.LoginExtension*.\n",
        "properties": {
          "extensionKey": {
            "description": "Key of extension that is logging in.\n",
            "type": "string"
          },
          "base64SignedCredentials": {
            "description": "base-64 encoding of the SHA-1\ndigest of the string \"login\" signed with the extension's\nprivate RSA key using PKCS#1 padding.\n",
            "type": "string"
          },
          "locale": {
            "description": "A two-character ISO-639 language ID (like \"en\")\noptionally followed by an\nunderscore and a two-character ISO 3166 country ID (like \"US\").\n\nExamples are \"de\", \"fr\\_CA\", \"zh\", \"zh\\_CN\", and \"zh\\_TW\".\nNote: The method uses the server default locale when\na locale is not provided. This default can be configured in the\nserver configuration file. If unspecified, it defaults to the\nlocale of the server environment or English (\"en\") if unsupported.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey",
          "base64SignedCredentials"
        ]
      },
      "LoginRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.Login*.\n",
        "properties": {
          "userName": {
            "description": "The *ID*\nof the user who is logging on to the server.\n",
            "type": "string"
          },
          "password": {
            "description": "The *HostAccountSpec.password*\nof the user who is logging on to the server.\n",
            "type": "string",
            "format": "password"
          },
          "locale": {
            "description": "A two-character ISO-639 language ID (like \"en\")\noptionally followed by an\nunderscore and a two-character ISO 3166 country ID (like \"US\").\n\nExamples are \"de\", \"fr\\_CA\", \"zh\", \"zh\\_CN\", and \"zh\\_TW\".\nNote: The method uses the server default locale when\na locale is not provided. This default can be configured in the\nserver configuration file. If unspecified, it defaults to the\nlocale of the server environment or English (\"en\") if unsupported.\n",
            "type": "string"
          }
        },
        "required": [
          "userName",
          "password"
        ]
      },
      "LookupDvPortGroupRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.LookupDvPortGroup*.\n",
        "properties": {
          "portgroupKey": {
            "description": "The key that identifies a portgroup of this VDS.\n",
            "type": "string"
          }
        },
        "required": [
          "portgroupKey"
        ]
      },
      "LookupVmOverheadMemoryRequestType": {
        "type": "object",
        "description": "The parameters of *OverheadMemoryManager.LookupVmOverheadMemory*.\n",
        "properties": {
          "vm": {
            "description": "The Virtual Machine managed object reference.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The Host managed object reference.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm",
          "host"
        ]
      },
      "MakeDirectoryInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.MakeDirectoryInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "directoryPath": {
            "description": "The complete path to the directory to be created.\n",
            "type": "string"
          },
          "createParentDirectories": {
            "description": "Whether any parent directories\nare to be created.\n",
            "type": "boolean"
          }
        },
        "required": [
          "vm",
          "auth",
          "directoryPath",
          "createParentDirectories"
        ]
      },
      "MakeDirectoryRequestType": {
        "type": "object",
        "description": "The parameters of *FileManager.MakeDirectory*.\n",
        "properties": {
          "name": {
            "description": "The name of the folder, either a URL or a datastore path\nreferring to the folder to be created.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\n***Required privileges:*** System.View\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "createParentDirectories": {
            "description": "If true, any non-existent intermediate level\nfolders will be created. If not specified,\nit is assumed to be false.\n",
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "MakePrimaryVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.MakePrimaryVM_Task*.\n",
        "properties": {
          "vm": {
            "description": "The secondary virtual machine specified will be made the primary\nvirtual machine.\nThis field must specify a secondary virtual machine that is part of the fault\ntolerant group that this virtual machine is currently associated with. It can\nonly be invoked from the primary virtual machine in the group.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ]
      },
      "MarkAsLocalRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.MarkAsLocal_Task*.\n",
        "properties": {
          "scsiDiskUuid": {
            "description": "The SCSI disk UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "scsiDiskUuid"
        ]
      },
      "MarkAsNonLocalRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.MarkAsNonLocal_Task*.\n",
        "properties": {
          "scsiDiskUuid": {
            "description": "The SCSI disk UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "scsiDiskUuid"
        ]
      },
      "MarkAsNonSsdRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.MarkAsNonSsd_Task*.\n",
        "properties": {
          "scsiDiskUuid": {
            "description": "The SCSI disk UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "scsiDiskUuid"
        ]
      },
      "MarkAsSsdRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.MarkAsSsd_Task*.\n",
        "properties": {
          "scsiDiskUuid": {
            "description": "The SCSI disk UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "scsiDiskUuid"
        ]
      },
      "MarkAsVirtualMachineRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.MarkAsVirtualMachine*.\n",
        "properties": {
          "pool": {
            "description": "Resource pool to associate with the virtual machine.\n\n***Required privileges:*** Resource.AssignVMToPool\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host on which the virtual machine is intended to run. The\nhost\nparameter must specify a host that is a member of the ComputeResource\nindirectly specified by the pool. For a stand-alone host or a cluster with\nDRS, it can be omitted and the system selects a default.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "pool"
        ]
      },
      "MarkDefaultRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.MarkDefault*.\n",
        "properties": {
          "clusterId": {
            "description": "\\[in\\] KMIP cluster ID to become default.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          }
        },
        "required": [
          "clusterId"
        ]
      },
      "MarkPerenniallyReservedExRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.MarkPerenniallyReservedEx_Task*.\n",
        "properties": {
          "lunUuid": {
            "description": "The UUIDs of the ScsiLun devices that need a change in\nthe perennially reserved flag state.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "state": {
            "description": "State of the ScsiLun perennially reserved flag to be set.\n",
            "type": "boolean"
          }
        },
        "required": [
          "state"
        ]
      },
      "MarkPerenniallyReservedRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.MarkPerenniallyReserved*.\n",
        "properties": {
          "lunUuid": {
            "description": "The UUID of the ScsiLun device to be marked as perennially\nreserved.\n",
            "type": "string"
          },
          "state": {
            "description": "State of the ScsiLun perennially reserved flag to be set.\n",
            "type": "boolean"
          }
        },
        "required": [
          "lunUuid",
          "state"
        ]
      },
      "MarkServiceProviderEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *TenantTenantManager.MarkServiceProviderEntities*.\n",
        "properties": {
          "entity": {
            "description": "an array of management entities.\n\n***Required privileges:*** TenantManager.Update\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "MergeDvsRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.MergeDvs_Task*.\n",
        "properties": {
          "dvs": {
            "description": "The switch (source) to be merged\n\n***Required privileges:*** DVSwitch.Delete\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "dvs"
        ]
      },
      "MergePermissionsRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.MergePermissions*.\n",
        "properties": {
          "srcRoleId": {
            "description": "The ID of the source role providing the permissions\nwhich are changing.\n",
            "type": "integer",
            "format": "int32"
          },
          "dstRoleId": {
            "description": "The ID of the destination role to which the\npermissions are reassigned.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "srcRoleId",
          "dstRoleId"
        ]
      },
      "MigrateVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.MigrateVM_Task*.\n",
        "properties": {
          "pool": {
            "description": "The target resource pool for the virtual machine. If the pool\nparameter is left unset, the virtual machine's current pool is used\nas the target pool.\n\n***Required privileges:*** Resource.AssignVMToPool\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host to which the virtual machine is intended to migrate.\nThe host parameter\nmay be left unset if the compute resource associated with the\ntarget pool represents a stand-alone host or a DRS-enabled cluster.\nIn the former case the stand-alone host is used as the target host.\nIn the latter case, the DRS system selects an appropriate\ntarget host from the cluster.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "priority": {
            "description": "The task priority (@see vim.VirtualMachine.MovePriority).\n",
            "$ref": "#/components/schemas/VirtualMachineMovePriority_enum"
          },
          "state": {
            "description": "If specified, the virtual machine migrates only if\nits state matches the specified state.\n",
            "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
          }
        },
        "required": [
          "priority"
        ]
      },
      "ModifyListViewRequestType": {
        "type": "object",
        "description": "The parameters of *ListView.ModifyListView*.\n",
        "properties": {
          "add": {
            "description": "Optional list of objects to add to the view.\n\n***Required privileges:*** System.View\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "remove": {
            "description": "Optional list of objects to remove from the view.\n\n***Required privileges:*** System.View\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "MountVffsVolumeRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.MountVffsVolume*.\n",
        "properties": {
          "vffsUuid": {
            "type": "string"
          }
        },
        "required": [
          "vffsUuid"
        ]
      },
      "MountVmfsVolumeExRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.MountVmfsVolumeEx_Task*.\n",
        "properties": {
          "vmfsUuid": {
            "description": "each element specifies the UUID of a VMFS volume to be unmounted.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vmfsUuid"
        ]
      },
      "MountVmfsVolumeRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.MountVmfsVolume*.\n",
        "properties": {
          "vmfsUuid": {
            "type": "string"
          }
        },
        "required": [
          "vmfsUuid"
        ]
      },
      "MoveDVPortRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.MoveDVPort_Task*.\n",
        "properties": {
          "portKey": {
            "description": "The keys of the ports to be moved into the portgroup.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "destinationPortgroupKey": {
            "description": "The key of the portgroup to be moved into.\nIf unset, the port will be moved under the switch.\n",
            "type": "string"
          }
        },
        "required": [
          "portKey"
        ]
      },
      "MoveDatastoreFileRequestType": {
        "type": "object",
        "description": "The parameters of *FileManager.MoveDatastoreFile_Task*.\n",
        "properties": {
          "sourceName": {
            "description": "The name of the source, either a URL or a datastore path\nreferring to the file or folder to be moved.\n",
            "type": "string"
          },
          "sourceDatacenter": {
            "description": "If <code>sourceName</code> is a datastore path, the\ndatacenter for that datastore path.\nNot needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>sourceName</code> must be a URL.\n\n***Required privileges:*** System.View\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destinationName": {
            "description": "The name of the destination, either a URL or a\ndatastore path referring to the destination file or folder.\n",
            "type": "string"
          },
          "destinationDatacenter": {
            "description": "If <code>destinationName</code> is a datastore\npath, the datacenter for that datastore path.\nNot needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter, it is assumed that\nthe destination path belongs to the source datacenter.\n\n***Required privileges:*** System.View\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "force": {
            "description": "If true, overwrite any identically named file\nat the destination. If not specified, it is assumed to be false.\n",
            "type": "boolean"
          }
        },
        "required": [
          "sourceName",
          "destinationName"
        ]
      },
      "MoveDirectoryInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.MoveDirectoryInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "srcDirectoryPath": {
            "description": "The complete path to the directory to be moved.\n",
            "type": "string"
          },
          "dstDirectoryPath": {
            "description": "The complete path to the where the directory is\nmoved or its new name. It cannot be a path to an existing directory\nor an existing file.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "srcDirectoryPath",
          "dstDirectoryPath"
        ]
      },
      "MoveFileInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestFileManager.MoveFileInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "srcFilePath": {
            "description": "The complete path to the original file or\nsymbolic link to be moved.\n",
            "type": "string"
          },
          "dstFilePath": {
            "description": "The complete path to the where the file is renamed.\nIt cannot be a path to an existing directory.\n",
            "type": "string"
          },
          "overwrite": {
            "description": "If set, the destination file is clobbered.\n",
            "type": "boolean"
          }
        },
        "required": [
          "vm",
          "auth",
          "srcFilePath",
          "dstFilePath",
          "overwrite"
        ]
      },
      "MoveHostIntoRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.MoveHostInto_Task*.\n",
        "properties": {
          "host": {
            "description": "The list of hosts to move into the cluster.\n\n***Required privileges:*** Host.Inventory.MoveHost\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "resourcePool": {
            "description": "The resource pool to match the root resource pool of\nstand-alone hosts. This argument has no effect if the host is part of a\ncluster.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ]
      },
      "MoveIntoFolderRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.MoveIntoFolder_Task*.\n",
        "properties": {
          "list": {
            "description": "The list of objects to be moved into the folder.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "list"
        ]
      },
      "MoveIntoRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.MoveInto_Task*.\n",
        "properties": {
          "host": {
            "description": "The list of hosts to move into the cluster.\n\n***Required privileges:*** Host.Inventory.MoveHost\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "host"
        ]
      },
      "MoveIntoResourcePoolRequestType": {
        "type": "object",
        "description": "The parameters of *ResourcePool.MoveIntoResourcePool*.\n",
        "properties": {
          "list": {
            "description": "A list of ResourcePool and VirtualMachine objects.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "list"
        ]
      },
      "MoveVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.MoveVirtualDisk_Task*.\n",
        "properties": {
          "sourceName": {
            "description": "The name of the source, either a datastore path\nor a URL referring to the virtual disk to be moved.\n",
            "type": "string"
          },
          "sourceDatacenter": {
            "description": "If <code>sourceName</code> is a datastore path, the\ndatacenter for that datastore path.\nNot needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>sourceName</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destName": {
            "description": "The name of the destination, either a datastore path\nor a URL referring to the destination virtual disk.\n",
            "type": "string"
          },
          "destDatacenter": {
            "description": "If <code>destName</code> is a datastore\npath, the datacenter for that datastore path.\nNot needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter, it is assumed that\nthe destination path belongs to the source datacenter.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "force": {
            "description": "If true, overwrite any indentically named disk at the destination.\nIf not specified, it is assumed to be false\n",
            "type": "boolean"
          },
          "profile": {
            "description": "User can specify new set of profile when moving virtual disk.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          }
        },
        "required": [
          "sourceName",
          "destName"
        ]
      },
      "NotifyAffectedServicesRequestType": {
        "type": "object",
        "description": "The parameters of *HostCertificateManager.NotifyAffectedServices*.\n",
        "properties": {
          "services": {
            "description": "list of services that need to be notified and no\nother service would be notified. if not provided all supported\nservices would be notified.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "OpenInventoryViewFolderRequestType": {
        "type": "object",
        "description": "The parameters of *InventoryView.OpenInventoryViewFolder*.\n",
        "properties": {
          "entity": {
            "description": "An array of managed object references. Each array entry is a reference\nto an entity to expand. Expands each entity in the\norder given. If an entity is not in the current view,\nexpands the view as needed.\n\n***Required privileges:*** System.View\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "entity"
        ]
      },
      "OverwriteCustomizationSpecRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.OverwriteCustomizationSpec*.\n",
        "properties": {
          "item": {
            "$ref": "#/components/schemas/CustomizationSpecItem"
          }
        },
        "required": [
          "item"
        ]
      },
      "ParseDescriptorRequestType": {
        "type": "object",
        "description": "The parameters of *OvfManager.ParseDescriptor*.\n",
        "properties": {
          "ovfDescriptor": {
            "description": "The OVF descriptor to examine.\n",
            "type": "string"
          },
          "pdp": {
            "description": "Additional parameters for parseDescriptor, wrapped in an instance of\nParseDescriptorParams.\n",
            "$ref": "#/components/schemas/OvfParseDescriptorParams"
          }
        },
        "required": [
          "ovfDescriptor",
          "pdp"
        ]
      },
      "PbmAssignDefaultRequirementProfileRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmAssignDefaultRequirementProfile*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profile": {
            "description": "The profile that needs to be made default profile.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          },
          "datastores": {
            "description": "The datastores for which the profile needs to be made as default profile.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          }
        },
        "required": [
          "profile",
          "datastores"
        ]
      },
      "PbmCheckCompatibilityRequestType": {
        "type": "object",
        "description": "The parameters of *PbmPlacementSolver.PbmCheckCompatibility*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hubsToSearch": {
            "description": "Candidate list of hubs, either datastores or storage pods or a\nmix. If this parameter is not specified, the Server uses all\nof the datastores and storage pods for placement compatibility\nchecking.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          },
          "profile": {
            "description": "Storage requirement profile.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          }
        },
        "required": [
          "profile"
        ]
      },
      "PbmCheckCompatibilityWithSpecRequestType": {
        "type": "object",
        "description": "The parameters of *PbmPlacementSolver.PbmCheckCompatibilityWithSpec*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hubsToSearch": {
            "description": "Candidate list of hubs, either datastores or storage pods\nor a mix. If this parameter is not specified, the Server uses all of the\ndatastores and storage pods for placement compatibility checking.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          },
          "profileSpec": {
            "description": "Specification for a capability based profile.\n",
            "$ref": "#/components/schemas/PbmCapabilityProfileCreateSpec"
          }
        },
        "required": [
          "profileSpec"
        ]
      },
      "PbmCheckComplianceRequestType": {
        "type": "object",
        "description": "The parameters of *PbmComplianceManager.PbmCheckCompliance*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "entities": {
            "description": "One or more references to storage entities.\nYou can specify virtual machines and virtual disks\nA maximum of 1000 virtual machines and/or virtual disks can be specified\nin a call. The results of calling the checkCompliance API with\nmore than a 1000 entities is undefined.\n- If the list of entities also contains datastores, the Server\n  will ignore the datastores.\n- If the list contains valid and invalid entities, the Server ignores\n  the invalid entities and returns results for the valid entities.\n  Invalid entities are entities that are not in the vCenter inventory.\n- If the list contains only datastores, the method throws\n  an <code>InvalidArgument</code> fault.\n- If the list contains virtual machines and disks and the entities\n  are invalid or have been deleted by the time of the request, the method\n  throws an <code>InvalidArgument</code> fault.\n  \nIf an entity does not have an associated storage profile, the entity\nis removed from the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmServerObjectRef"
            }
          },
          "profile": {
            "description": "Not used. If specified, the Server ignores the value.\nThe Server uses the profiles associated with the specified entities.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          }
        },
        "required": [
          "entities"
        ]
      },
      "PbmCheckRequirementsRequestType": {
        "type": "object",
        "description": "The parameters of *PbmPlacementSolver.PbmCheckRequirements*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hubsToSearch": {
            "description": "Candidate list of hubs, either datastores or storage pods\nor a mix. If this parameter is not specified, the Server uses all of the\ndatastores and storage pods for placement compatibility checking.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          },
          "placementSubjectRef": {
            "description": "reference to the object being placed. Should be null when a new\nobject is being provisioned. Should be specified when placement compatibility is being checked\nfor an existing object. Supported objects are\n*virtualMachine*,\n*virtualMachineAndDisks*,\n*virtualDiskId*,\n*virtualDiskUUID*\n",
            "$ref": "#/components/schemas/PbmServerObjectRef"
          },
          "placementSubjectRequirement": {
            "description": "Requirements including the policy requirements, compute\nrequirements and capacity requirements. It is invalid to specify no requirements. It is also\ninvalid to specify duplicate requirements or multiple conflicting requirements such as\nspecifying both *PbmPlacementCapabilityConstraintsRequirement* and\n*PbmPlacementCapabilityProfileRequirement*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementRequirement"
            }
          }
        }
      },
      "PbmCheckRollupComplianceRequestType": {
        "type": "object",
        "description": "The parameters of *PbmComplianceManager.PbmCheckRollupCompliance*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "entity": {
            "description": "One or more references to virtual machines.\nA maximum of 1000 virtual machines can be specified\nin a call. The results of calling the checkRollupCompliance API with\nmore than a 1000 entities is undefined.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmServerObjectRef"
            }
          }
        },
        "required": [
          "entity"
        ]
      },
      "PbmCreateRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmCreate*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "createSpec": {
            "description": "Capability-based profile specification.\n",
            "$ref": "#/components/schemas/PbmCapabilityProfileCreateSpec"
          }
        },
        "required": [
          "createSpec"
        ]
      },
      "PbmDeleteRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmDelete*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profileId": {
            "description": "Array of profile identifiers.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileId"
            }
          }
        },
        "required": [
          "profileId"
        ]
      },
      "PbmFetchCapabilityMetadataRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmFetchCapabilityMetadata*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "resourceType": {
            "description": "Type of profile resource. The Server supports the \"STORAGE\" resource\ntype only. If not specified, this method will return capability metadata for the storage\nresources. Any other <code>resourceType</code> is considered invalid.\n",
            "$ref": "#/components/schemas/PbmProfileResourceType"
          },
          "vendorUuid": {
            "description": "Unique identifier for the vendor/owner of capability\nmetadata. The specified vendor ID must match\n*PbmCapabilitySchemaVendorInfo*.*PbmCapabilitySchemaVendorInfo.vendorUuid*.\nIf omitted, the Server searchs all capability metadata registered with the system. If a\n<code>vendorUuid</code> unknown to the Server is specified, empty results will be returned.\n",
            "type": "string"
          }
        }
      },
      "PbmFetchCapabilitySchemaRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmFetchCapabilitySchema*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "vendorUuid": {
            "description": "Unique identifier for the vendor/owner of capability metadata.\nIf omitted, the server searchs all capability metadata registered\nwith the system. The specified vendor ID must match\n*PbmCapabilitySchemaVendorInfo*.*PbmCapabilitySchemaVendorInfo.vendorUuid*.\n",
            "type": "string"
          },
          "lineOfService": {
            "description": "Optional line of service that must match *PbmLineOfServiceInfoLineOfServiceEnum_enum*.\nIf specified, the capability schema objects\nare returned for the given lineOfServices. If null, then all\ncapability schema objects that may or may not have data service capabilities\nare returned.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "PbmFetchComplianceResultRequestType": {
        "type": "object",
        "description": "The parameters of *PbmComplianceManager.PbmFetchComplianceResult*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "entities": {
            "description": "One or more references to storage entities.\nA maximum of 1000 virtual machines and/or virtual disks can be specified\nin a call. The results of calling the fetchComplianceResult API with\nmore than a 1000 entities is undefined.\n- If the list of entities also contains datastores, the Server\n  will ignore the datastores.\n- If the list contains valid and invalid entities, the Server ignores\n  the invalid entities and returns results for the valid entities.\n  Invalid entities are entities that are not in the vCenter inventory.\n- If the list contains only datastores, the method throws\n  an <code>InvalidArgument</code> fault.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmServerObjectRef"
            }
          },
          "profile": {
            "description": "Not used. if specified, the Server ignores the value.\nThe Server uses the profiles associated with the specified entities.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          }
        },
        "required": [
          "entities"
        ]
      },
      "PbmFetchRollupComplianceResultRequestType": {
        "type": "object",
        "description": "The parameters of *PbmComplianceManager.PbmFetchRollupComplianceResult*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "entity": {
            "description": "One or more virtual machines.\nA maximum of 1000 virtual machines can be specified\nin a call. The results of calling the fetchRollupComplianceResult API with\nmore than a 1000 entity objects is undefined.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmServerObjectRef"
            }
          }
        },
        "required": [
          "entity"
        ]
      },
      "PbmFetchVendorInfoRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmFetchVendorInfo*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "resourceType": {
            "description": "Specifies the resource type. The Server supports the STORAGE resource\ntype only. If not specified, server defaults to STORAGE resource type. Any other\n<code>resourceType</code> is considered invalid.\n",
            "$ref": "#/components/schemas/PbmProfileResourceType"
          }
        }
      },
      "PbmFindApplicableDefaultProfileRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmFindApplicableDefaultProfile*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "datastores": {
            "description": "Datastores for which the default profile is found out. Note that\nthe datastore pods/clusters are not supported.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          }
        },
        "required": [
          "datastores"
        ]
      },
      "PbmQueryAssociatedEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmQueryAssociatedEntities*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profiles": {
            "description": "Storage policy array.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileId"
            }
          }
        }
      },
      "PbmQueryAssociatedEntityRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmQueryAssociatedEntity*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profile": {
            "description": "Profile identifier.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          },
          "entityType": {
            "description": "If specified, the method returns only those entities\nwhich match the type. The <code>entityType</code> string value must match\none of the *PbmObjectType_enum* values.\nIf not specified, the method returns all entities associated with the profile.\n",
            "type": "string"
          }
        },
        "required": [
          "profile"
        ]
      },
      "PbmQueryAssociatedProfileRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmQueryAssociatedProfile*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "entity": {
            "description": "Reference to a virtual machine, virtual disk, or datastore.\n",
            "$ref": "#/components/schemas/PbmServerObjectRef"
          }
        },
        "required": [
          "entity"
        ]
      },
      "PbmQueryAssociatedProfilesRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmQueryAssociatedProfiles*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "entities": {
            "description": "Array of server object references.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmServerObjectRef"
            }
          }
        },
        "required": [
          "entities"
        ]
      },
      "PbmQueryByRollupComplianceStatusRequestType": {
        "type": "object",
        "description": "The parameters of *PbmComplianceManager.PbmQueryByRollupComplianceStatus*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "status": {
            "description": "*PbmComplianceStatus_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "PbmQueryDefaultRequirementProfileRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmQueryDefaultRequirementProfile*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hub": {
            "description": "Placement hub (i.e. datastore).\n",
            "$ref": "#/components/schemas/PbmPlacementHub"
          }
        },
        "required": [
          "hub"
        ]
      },
      "PbmQueryDefaultRequirementProfilesRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmQueryDefaultRequirementProfiles*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "datastores": {
            "description": "The datastores for which the default profiles are requested. For\nlegacy datastores we set\n`DefaultProfileInfo.defaultProfile` to `null`.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          }
        },
        "required": [
          "datastores"
        ]
      },
      "PbmQueryMatchingHubRequestType": {
        "type": "object",
        "description": "The parameters of *PbmPlacementSolver.PbmQueryMatchingHub*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hubsToSearch": {
            "description": "Candidate list of hubs, either datastores or storage pods or a\nmix. If this parameter is not specified, the Server uses all\nof the datastores and storage pods.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          },
          "profile": {
            "description": "Storage requirement profile.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          }
        },
        "required": [
          "profile"
        ]
      },
      "PbmQueryMatchingHubWithSpecRequestType": {
        "type": "object",
        "description": "The parameters of *PbmPlacementSolver.PbmQueryMatchingHubWithSpec*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hubsToSearch": {
            "description": "Candidate list of hubs, either datastores or storage\npods or a mix. If this parameter is not specified, the Server uses\nall of the datastores and storage pods for placement compatibility checking.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          },
          "createSpec": {
            "description": "Storage profile creation specification.\n",
            "$ref": "#/components/schemas/PbmCapabilityProfileCreateSpec"
          }
        },
        "required": [
          "createSpec"
        ]
      },
      "PbmQueryProfileRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmQueryProfile*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "resourceType": {
            "description": "Type of resource. You can specify only STORAGE.\n",
            "$ref": "#/components/schemas/PbmProfileResourceType"
          },
          "profileCategory": {
            "description": "Profile category. The string value must correspond\nto one of the *PbmProfileCategoryEnum_enum* values.\nIf you do not specify a profile category, the method returns profiles in all\ncategories.\n",
            "type": "string"
          }
        },
        "required": [
          "resourceType"
        ]
      },
      "PbmQueryReplicationGroupsRequestType": {
        "type": "object",
        "description": "The parameters of *PbmReplicationManager.PbmQueryReplicationGroups*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "entities": {
            "description": "Array of server object references. Valid types are\n*virtualMachine*,\n*virtualMachineAndDisks*,\n*virtualDiskId*,\n*virtualDiskUUID*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmServerObjectRef"
            }
          }
        }
      },
      "PbmQuerySpaceStatsForStorageContainerRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmQuerySpaceStatsForStorageContainer*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "datastore": {
            "description": "Entity for which space statistics are being requested i.e datastore.\n",
            "$ref": "#/components/schemas/PbmServerObjectRef"
          },
          "capabilityProfileId": {
            "description": "\\- capability profile Ids.\nIf omitted, the statistics for the container\nas a whole would be returned.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileId"
            }
          }
        },
        "required": [
          "datastore"
        ]
      },
      "PbmResetDefaultRequirementProfileRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmResetDefaultRequirementProfile*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profile": {
            "description": "Profile to reset.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          }
        }
      },
      "PbmRetrieveContentRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmRetrieveContent*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profileIds": {
            "description": "Array of storage profile identifiers.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileId"
            }
          }
        },
        "required": [
          "profileIds"
        ]
      },
      "PbmUpdateRequestType": {
        "type": "object",
        "description": "The parameters of *PbmProfileProfileManager.PbmUpdate*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profileId": {
            "description": "Profile identifier.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          },
          "updateSpec": {
            "description": "Capability-based update specification.\n",
            "$ref": "#/components/schemas/PbmCapabilityProfileUpdateSpec"
          }
        },
        "required": [
          "profileId",
          "updateSpec"
        ]
      },
      "PerformDvsProductSpecOperationRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.PerformDvsProductSpecOperation_Task*.\n",
        "properties": {
          "operation": {
            "description": "The operation. See *DistributedVirtualSwitchProductSpecOperationType_enum* for\nvalid values. For\n*VmwareDistributedVirtualSwitch*,\nonly *upgrade*\nis valid.\n",
            "type": "string"
          },
          "productSpec": {
            "description": "The product info of the implementation.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        },
        "required": [
          "operation"
        ]
      },
      "PerformVsanUpgradePreflightCheckRequestType": {
        "type": "object",
        "description": "The parameters of *VsanUpgradeSystem.PerformVsanUpgradePreflightCheck*.\n",
        "properties": {
          "cluster": {
            "description": "The cluster for which to perform the check.\n\nRefers instance of *ClusterComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "downgradeFormat": {
            "description": "Intend to perform a on-disk format downgrade instead\nof upgrade. Adds additional checks.\n",
            "type": "boolean"
          }
        },
        "required": [
          "cluster"
        ]
      },
      "PerformVsanUpgradeRequestType": {
        "type": "object",
        "description": "The parameters of *VsanUpgradeSystem.PerformVsanUpgrade_Task*.\n",
        "properties": {
          "cluster": {
            "description": "The cluster to be upgraded\n\nRefers instance of *ClusterComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "performObjectUpgrade": {
            "description": "After all disk groups have been updated, also\nupgrade all objects. Once started, rollback\nof the on disk format is no longer possible.\nObject upgrade unlocks new VSAN features.\n",
            "type": "boolean"
          },
          "downgradeFormat": {
            "description": "Perform a on-disk format downgrade instead of\nupgrade. Only possible if no upgraded objects exist.\n",
            "type": "boolean"
          },
          "allowReducedRedundancy": {
            "description": "Removes the need for one disk group worth of\nfree space, by allowing reduced redundancy\nduring disk upgrade.\n",
            "type": "boolean"
          },
          "excludeHosts": {
            "description": "Internal debug option meant for functional testing\nof VSAN upgrades. Skips upgrade on certain hosts and\nimplies performObjectUpgrade being false. Should not\nbe used by customers.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "cluster"
        ]
      },
      "PlaceVmRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.PlaceVm*.\n",
        "properties": {
          "placementSpec": {
            "description": "Specification for placing a virtual machine\nand its virtual disks\n",
            "$ref": "#/components/schemas/PlacementSpec"
          }
        },
        "required": [
          "placementSpec"
        ]
      },
      "PostEventRequestType": {
        "type": "object",
        "description": "The parameters of *EventManager.PostEvent*.\n",
        "properties": {
          "eventToPost": {
            "description": "Fully-specified event to post\n",
            "$ref": "#/components/schemas/Event"
          },
          "taskInfo": {
            "description": "optional task associated with the event\n",
            "$ref": "#/components/schemas/TaskInfo"
          }
        },
        "required": [
          "eventToPost"
        ]
      },
      "PostHealthUpdatesRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.PostHealthUpdates*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          },
          "updates": {
            "description": "The changes in health states.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HealthUpdate"
            }
          }
        },
        "required": [
          "providerId"
        ]
      },
      "PowerDownHostToStandByRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.PowerDownHostToStandBy_Task*.\n",
        "properties": {
          "timeoutSec": {
            "description": "The task completes when the host successfully\nenters standby mode and stops sending heartbeat signals.\nIf heartbeats are still coming after timeoutSecs seconds,\nthe host is declared timedout, and the task is assumed\nfailed.\n",
            "type": "integer",
            "format": "int32"
          },
          "evacuatePoweredOffVms": {
            "description": "This is a parameter used only by VirtualCenter. If\nset to true, for a DRS disabled cluster, the task will not\nsucceed unless all powered-off virtual machines have been manually\nreregistered; for a DRS enabled cluster, VirtualCenter will\nautomatically reregister powered-off virtual machines and a\npowered-off virtual machine may remain at the host only for two\nreasons: (a) no compatible host found for reregistration, (b) DRS\nis disabled for the virtual machine.\n",
            "type": "boolean"
          }
        },
        "required": [
          "timeoutSec"
        ]
      },
      "PowerOffVAppRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualApp.PowerOffVApp_Task*.\n",
        "properties": {
          "force": {
            "description": "If force is false, the shutdown order in the vApp is\nexecuted. If force is true, all virtual machines are powered-off\n(regardless of shutdown order).\n",
            "type": "boolean"
          }
        },
        "required": [
          "force"
        ]
      },
      "PowerOnMultiVMRequestType": {
        "type": "object",
        "description": "The parameters of *Datacenter.PowerOnMultiVM_Task*.\n",
        "properties": {
          "vm": {
            "description": "The virtual machines to power on.\n\n***Required privileges:*** VirtualMachine.Interact.PowerOn\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "option": {
            "description": "An array of *OptionValue* options\nfor this power-on session. The names and values of the\noptions are defined in\n*ClusterPowerOnVmOption_enum*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "required": [
          "vm"
        ]
      },
      "PowerOnVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.PowerOnVM_Task*.\n",
        "properties": {
          "host": {
            "description": "(optional) The host where the virtual machine is to be powered on.\nIf no host is specified, the current associated host is used. This field must\nspecify a host that is part of the same compute resource that the virtual machine\nis currently associated with. If this host is not compatible, the current host\nassociation is used.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "PowerUpHostFromStandByRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.PowerUpHostFromStandBy_Task*.\n",
        "properties": {
          "timeoutSec": {
            "description": "The task completes when the host successfully\nexits standby state and sends a heartbeat signal. If nothing is\nreceived from the host for timeoutSec seconds, the host is\ndeclared timedout, and the task is assumed failed.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "timeoutSec"
        ]
      },
      "PrepareFailoverReplicationGroupRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.PrepareFailoverReplicationGroup_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "List of replication group IDs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          }
        }
      },
      "PromoteDisksRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.PromoteDisks_Task*.\n",
        "properties": {
          "unlink": {
            "description": "If true, then these disks will be unlinked before consolidation.\n",
            "type": "boolean"
          },
          "disks": {
            "description": "The set of disks that are to be promoted.\nIf this value is unset or the array is empty,\nall disks which have delta disk backings are promoted.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDisk"
            }
          }
        },
        "required": [
          "unlink"
        ]
      },
      "PromoteReplicationGroupRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.PromoteReplicationGroup_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "promoteParam": {
            "description": "Specifies an array of replication group IDs whose\nin-test devices (*INTEST*) need to be\npromoted to failover *FAILEDOVER* state.\n",
            "$ref": "#/components/schemas/PromoteParam"
          }
        },
        "required": [
          "promoteParam"
        ]
      },
      "ProvisionServerPrivateKeyRequestType": {
        "type": "object",
        "description": "The parameters of *HostCertificateManager.ProvisionServerPrivateKey*.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "key": {
            "description": "SSL private key in PEM format\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "key"
        ]
      },
      "PutUsbScanCodesRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.PutUsbScanCodes*.\n",
        "properties": {
          "spec": {
            "$ref": "#/components/schemas/UsbScanCodeSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "QueryActiveAlarmRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.QueryActiveAlarm*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "alarmFilter": {
            "description": "Filter criteria for the alarm state.\n",
            "$ref": "#/components/schemas/AlarmFilter"
          }
        }
      },
      "QueryAnswerFileStatusRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.QueryAnswerFileStatus*.\n",
        "properties": {
          "host": {
            "description": "The hosts the answer file is associated with.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "host"
        ]
      },
      "QueryArrayAssociatedWithLunRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryArrayAssociatedWithLun*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "canonicalName": {
            "description": "*ScsiLun.canonicalName*\nof ScsiLun\n",
            "type": "string"
          }
        },
        "required": [
          "canonicalName"
        ]
      },
      "QueryArrayRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryArray*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "providerId": {
            "description": "List of *SmsProviderInfo.uid* for the VASA\nprovider objects.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "QueryAssignedLicensesRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseAssignmentManager.QueryAssignedLicenses*.\n",
        "properties": {
          "entityId": {
            "description": "ID of the entity. E.g. HostSystem.\n",
            "type": "string"
          }
        }
      },
      "QueryAssociatedBackingStoragePoolRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryAssociatedBackingStoragePool*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "entityId": {
            "description": "Unique identifier of a StorageLun or StorageFileSystem.\n",
            "type": "string"
          },
          "entityType": {
            "description": "Entity type of the entity specified using entityId. This can be either\nStorageLun or StorageFileSystem.\n",
            "type": "string"
          }
        }
      },
      "QueryAvailableDisksForVmfsRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.QueryAvailableDisksForVmfs*.\n",
        "properties": {
          "datastore": {
            "description": "The managed object reference of the VMFS datastore\nyou want extents for.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryAvailableDvsSpecRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QueryAvailableDvsSpec*.\n",
        "properties": {
          "recommended": {
            "description": "If set to true, return only the recommended versions.\nIf set to false, return only the not recommended versions.\nIf unset, return all supported versions.\n",
            "type": "boolean"
          }
        }
      },
      "QueryAvailablePerfMetricRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.QueryAvailablePerfMetric*.\n",
        "properties": {
          "entity": {
            "description": "The *managed object* that\nprovides performance metrics.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "beginTime": {
            "description": "Starting time (server time) for a period of time from which to return\navailable metrics. If not specified, defaults to oldest available metric\nfor the specified entity.\n",
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "description": "Ending time (server time) for a period of time from which to return\navailable performance metrics. If not specified, defaults to the most\nrecently generated metric for the specified entity.\n",
            "type": "string",
            "format": "date-time"
          },
          "intervalId": {
            "description": "Period of time from which to retrieve metrics, defined by intervalId\n(rather than beginTime or endTime). Valid intervalIds include:\n- For real-time counters, the *refreshRate* of\n  the *performance\n  provider*.\n- For historical counters, the *samplingPeriod* of the *historical interval*. \n  \nIf this parameter is not specified, the system returns available metrics\nfor historical statistics&#46;\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "entity"
        ]
      },
      "QueryAvailableSsdsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.QueryAvailableSsds*.\n",
        "properties": {
          "vffsPath": {
            "description": "The path of the VFFS to extend. See *FileSystemMountInfo*.\n",
            "type": "string"
          }
        }
      },
      "QueryBoundVnicsRequestType": {
        "type": "object",
        "description": "The parameters of *IscsiManager.QueryBoundVnics*.\n",
        "properties": {
          "iScsiHbaName": {
            "description": "iSCSI adapter name for which the method to be\napplied.\n",
            "type": "string"
          }
        },
        "required": [
          "iScsiHbaName"
        ]
      },
      "QueryCandidateNicsRequestType": {
        "type": "object",
        "description": "The parameters of *IscsiManager.QueryCandidateNics*.\n",
        "properties": {
          "iScsiHbaName": {
            "description": "iSCSI Adapter name for which the method to be\napplied.\n",
            "type": "string"
          }
        },
        "required": [
          "iScsiHbaName"
        ]
      },
      "QueryChangedDiskAreasRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.QueryChangedDiskAreas*.\n",
        "properties": {
          "snapshot": {
            "description": "Snapshot for which changes that have been made sine\n\"changeId\" should be computed. If not set, changes are computed\nagainst the \"current\" snapshot of the virtual machine. However,\nusing the \"current\" snapshot will only work for virtual machines\nthat are powered off.\n\nRefers instance of *VirtualMachineSnapshot*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "deviceKey": {
            "description": "Identifies the virtual disk for which to compute changes.\n",
            "type": "integer",
            "format": "int32"
          },
          "startOffset": {
            "description": "Start Offset in bytes at which to start computing changes.\nTypically, callers will make multiple calls to this function, starting\nwith startOffset 0 and then examine the \"length\" property in the\nreturned DiskChangeInfo structure, repeatedly calling queryChangedDiskAreas\nuntil a map forthe entire virtual disk has been obtained.\n",
            "type": "integer",
            "format": "int64"
          },
          "changeId": {
            "description": "Identifyer referring to a point in the past that should be used\nas the point in time at which to begin including changes to the disk in\nthe result. A typical use case would be a backup application obtaining a\nchangeId from a virtual disk's backing info when performing a\nbackup. When a subsequent incremental backup is to be performed, this\nchange Id can be used to obtain a list of changed areas on disk.\n",
            "type": "string"
          }
        },
        "required": [
          "deviceKey",
          "startOffset",
          "changeId"
        ]
      },
      "QueryCmmdsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.QueryCmmds*.\n",
        "properties": {
          "queries": {
            "description": "List of CMMDS query specs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVsanInternalSystemCmmdsQuery"
            }
          }
        },
        "required": [
          "queries"
        ]
      },
      "QueryCompatibleHostForExistingDvsRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QueryCompatibleHostForExistingDvs*.\n",
        "properties": {
          "container": {
            "description": "Where to look for hosts. Supported types of objects for\nthis parameter are *Datacenter*,\n*ComputeResource* and *Folder*.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "recursive": {
            "description": "Whether to search for hosts in the subfolders,\nif applicable. In the case when container is a *Datacenter*,\nthe recursive flag is applied to its HostFolder.\n",
            "type": "boolean"
          },
          "dvs": {
            "description": "Search the host based on the specification published in the\n*DVSCapability.compatibleHostComponentProductInfo*\nof a *DistributedVirtualSwitch*. If not\nset, it is assumed to be the specification that a\nDistributedVirtualSwitch would have if it is created\nwith the default *DistributedVirtualSwitchProductSpec*.\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "container",
          "recursive",
          "dvs"
        ]
      },
      "QueryCompatibleHostForNewDvsRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QueryCompatibleHostForNewDvs*.\n",
        "properties": {
          "container": {
            "description": "Where to look for hosts. Supported types of objects for\nthis parameter are *Datacenter*,\n*ComputeResource* and *Folder*.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "recursive": {
            "description": "Whether to search for hosts in the subfolders,\nif applicable. In the case when container is a *Datacenter*,\nthe recursive flag is applied to its HostFolder.\n",
            "type": "boolean"
          },
          "switchProductSpec": {
            "description": "The productSpec of a *DistributedVirtualSwitch*.\nIf not set, it is assumed to be the default one used for\nDistributedVirtualSwitch creation.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        },
        "required": [
          "container",
          "recursive"
        ]
      },
      "QueryCompatibleVmnicsFromHostsRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QueryCompatibleVmnicsFromHosts*.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "hosts": {
            "description": "The array of hosts on which the query is to be made to\nfetch valid PhysicalNics on each host.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "dvs": {
            "description": "The distributed virtual switch on which the query is to be\nmade.\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "dvs"
        ]
      },
      "QueryComplianceStatusRequestType": {
        "type": "object",
        "description": "The parameters of *ProfileComplianceManager.QueryComplianceStatus*.\n",
        "properties": {
          "profile": {
            "description": "If specified, compliance result for the specified profiles will be\nreturned. This acts like a filtering criteria for the ComplianceResults based on\nspecified profiles.\n\nRefers instances of *Profile*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "entity": {
            "description": "If specified, compliance results for these entities will be returned.\nThis acts like a filtering criteria for the ComplianceResults based on entities.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "QueryConfigOptionExRequestType": {
        "type": "object",
        "description": "The parameters of *EnvironmentBrowser.QueryConfigOptionEx*.\n",
        "properties": {
          "spec": {
            "description": "Search criteria and filters to control the result.\nIf a *EnvironmentBrowserConfigOptionQuerySpec.key* or\n*EnvironmentBrowserConfigOptionQuerySpec.host* (or both)\nare specified, they will be used to search for a config option.\nIf *EnvironmentBrowserConfigOptionQuerySpec.guestId*\nis nonempty, the *VirtualMachineConfigOption.guestOSDescriptor*\narray of the config option is filtered to match against the guest\nIDs in the spec. If there is no match, the whole list is returned.\nIf the spec argument is omitted, the default\n*VirtualMachineConfigOption* for this environment browser is\nreturned.\n",
            "$ref": "#/components/schemas/EnvironmentBrowserConfigOptionQuerySpec"
          }
        }
      },
      "QueryConfigOptionRequestType": {
        "type": "object",
        "description": "The parameters of *EnvironmentBrowser.QueryConfigOption*.\n",
        "properties": {
          "key": {
            "description": "The key found in the VirtualMachineConfigOptionDescriptor,\nobtained by invoking the\n*EnvironmentBrowser.QueryConfigOptionDescriptor* operation.\n",
            "type": "string"
          },
          "host": {
            "description": "The host whose ConfigOption is requested.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryConfigTargetRequestType": {
        "type": "object",
        "description": "The parameters of *EnvironmentBrowser.QueryConfigTarget*.\n",
        "properties": {
          "host": {
            "description": "If specified, the host whose default BackingInfo is requested.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryConfiguredModuleOptionStringRequestType": {
        "type": "object",
        "description": "The parameters of *HostKernelModuleSystem.QueryConfiguredModuleOptionString*.\n",
        "properties": {
          "name": {
            "description": "Module name.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "QueryConnectionInfoRequestType": {
        "type": "object",
        "description": "The parameters of *Datacenter.QueryConnectionInfo*.\n",
        "properties": {
          "hostname": {
            "description": "The target of the query.\n",
            "type": "string"
          },
          "port": {
            "description": "The port number of the target host. For ESX 2.x this is the authd port\n(902 by default). For ESX 3.x and above and for VMware Server hosts\nthis is the https port (443 by default). You can specify -1 to have the\nvCenter Server try the default ports.\n",
            "type": "integer",
            "format": "int32"
          },
          "username": {
            "description": "The name of the user.\n",
            "type": "string"
          },
          "password": {
            "description": "The password of the user.\n",
            "type": "string",
            "format": "password"
          },
          "sslThumbprint": {
            "description": "The expected SSL thumbprint of the host's certificate.\n",
            "type": "string"
          }
        },
        "required": [
          "hostname",
          "port",
          "username",
          "password"
        ]
      },
      "QueryConnectionInfoViaSpecRequestType": {
        "type": "object",
        "description": "The parameters of *Datacenter.QueryConnectionInfoViaSpec*.\n",
        "properties": {
          "spec": {
            "description": "The connection spec for the host to be queried. It must contain\nvalues for all parameters required by *Datacenter.QueryConnectionInfo*\nSee *Datacenter.QueryConnectionInfo* or a list of thrown expections.\n",
            "$ref": "#/components/schemas/HostConnectSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "QueryCryptoKeyStatusRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.QueryCryptoKeyStatus*.\n",
        "properties": {
          "keyIds": {
            "description": "\\[in\\] The Crypto Key Ids to query.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoKeyId"
            }
          },
          "checkKeyBitMap": {
            "description": "\\[in\\] The key state to check. Supported value:\n0x01. check if key data is available to VC.\n0x02. check the VMs which use that key.\n0x04. check the hosts using this key as host key.\n0x08. Check 3rd party program which use that key.\nOther bits - reserved and will be igonred.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "checkKeyBitMap"
        ]
      },
      "QueryDatastoreBackingPoolMappingRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryDatastoreBackingPoolMapping*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "datastore": {
            "description": "Array containing references to *Datastore* objects.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "datastore"
        ]
      },
      "QueryDatastoreCapabilityRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryDatastoreCapability*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "datastore": {
            "description": "reference to *Datastore*\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "QueryDatastorePerformanceSummaryRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.QueryDatastorePerformanceSummary*.\n",
        "properties": {
          "datastore": {
            "description": "Datastore for which summary statistics is requested.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "QueryDescriptionsRequestType": {
        "type": "object",
        "description": "The parameters of *DiagnosticManager.QueryDescriptions*.\n",
        "properties": {
          "host": {
            "description": "Specifies the host. If not specified, then it defaults\nto the server itself. For example, if called on\nVirtualCenter, then the value defaults to VirtualCenter\nlogs. When called on an ESX server host, the host should\nnot be specified.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryDirectoryInfoRequestType": {
        "type": "object",
        "description": "The parameters of *DatastoreNamespaceManager.QueryDirectoryInfo*.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "datacenter": {
            "description": "the datacenter of the namespace path. Needs to be set\nwhen making the call to VC; ignored when the call is\nmade to ESX.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "stableName": {
            "description": "stable vmfs path of the top-level directory to query\n",
            "type": "string"
          }
        },
        "required": [
          "stableName"
        ]
      },
      "QueryDisksForVsanRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanSystem.QueryDisksForVsan*.\n",
        "properties": {
          "canonicalName": {
            "description": "may be set to restrict the query to the list of\n*HostScsiDisk* objects named by the\ngiven paths\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "QueryDisksUsingFilterRequestType": {
        "type": "object",
        "description": "The parameters of *IoFilterManager.QueryDisksUsingFilter*.\n",
        "properties": {
          "filterId": {
            "description": "ID of the filter.\n",
            "type": "string"
          },
          "compRes": {
            "description": "The compute resource that the filter has been installed on.\n\"compRes\" must be a cluster.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "filterId",
          "compRes"
        ]
      },
      "QueryDrsMigrationCapabilityForPerformanceExRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryDrsMigrationCapabilityForPerformanceEx*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "datastore": {
            "description": "Array containing references to *Datastore* objects.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "datastore"
        ]
      },
      "QueryDrsMigrationCapabilityForPerformanceRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryDrsMigrationCapabilityForPerformance*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "srcDatastore": {
            "description": "Reference to the source *Datastore*\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "dstDatastore": {
            "description": "Reference to the destination *Datastore*\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "srcDatastore",
          "dstDatastore"
        ]
      },
      "QueryDvsByUuidRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QueryDvsByUuid*.\n",
        "properties": {
          "uuid": {
            "type": "string"
          }
        },
        "required": [
          "uuid"
        ]
      },
      "QueryDvsCheckCompatibilityRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QueryDvsCheckCompatibility*.\n",
        "properties": {
          "hostContainer": {
            "description": "The container of hosts on which we check the compatibility.\nThis container can be a datacenter, folder, or computeResource.\nWe can also include all the hosts in the hierarchy with container\nas root of the tree.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostContainer"
          },
          "dvsProductSpec": {
            "description": "The productSpec of a DistributedVirtualSwitch. If not\nset, it is assumed to be the default one used for\nDistributedVirtualSwitch creation for current version.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchManagerDvsProductSpec"
          },
          "hostFilterSpec": {
            "description": "The hosts against which to check compatibility. This is a\nfilterSpec and users can use this to specify all hosts in a\ncontainer (datacenter, folder, or computeResource), an array\nof hosts, or hosts that might or might not be a DVS member.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostDvsFilterSpec"
            }
          }
        },
        "required": [
          "hostContainer"
        ]
      },
      "QueryDvsCompatibleHostSpecRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec*.\n",
        "properties": {
          "switchProductSpec": {
            "description": "The productSpec of a *DistributedVirtualSwitch*.\nIf not set, it is assumed to be the default one used for\nDistributedVirtualSwitch creation.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        }
      },
      "QueryDvsConfigTargetRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QueryDvsConfigTarget*.\n",
        "properties": {
          "host": {
            "description": "The host on which the query is to be made. If called\ndirectly on the host this parameter need not be specified.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "dvs": {
            "description": "The distributed virtual switch on which the query is to be\nmade. If unspecified the config target will encompass all the\ndistributed virtual switches available on the host.\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryDvsFeatureCapabilityRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QueryDvsFeatureCapability*.\n",
        "properties": {
          "switchProductSpec": {
            "description": "The productSpec of a *DistributedVirtualSwitch*.\nIf not set, it is assumed to be the default one used for\nDistributedVirtualSwitch creation.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        }
      },
      "QueryEventsRequestType": {
        "type": "object",
        "description": "The parameters of *EventManager.QueryEvents*.\n",
        "properties": {
          "filter": {
            "description": "The events qualified.\n",
            "$ref": "#/components/schemas/EventFilterSpec"
          }
        },
        "required": [
          "filter"
        ]
      },
      "QueryExpressionMetadataRequestType": {
        "type": "object",
        "description": "The parameters of *ProfileComplianceManager.QueryExpressionMetadata*.\n",
        "properties": {
          "expressionName": {
            "description": "Names of the Expressions for which metadata is requested.\nIf expressionNames are not specified, metadata for all known expressions is returned\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "profile": {
            "description": "Base profile whose context needs to be used during the operation\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryExtensionIpAllocationUsageRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensionManager.QueryExtensionIpAllocationUsage*.\n",
        "properties": {
          "extensionKeys": {
            "description": "List of extensions whose IP allocation is being queried.\nIf no extension keys are specified then allocation data\nfor all registered extensions are returned.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "QueryFaultDomainRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryFaultDomain*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "filter": {
            "description": "spec for the query operation.\n",
            "$ref": "#/components/schemas/FaultDomainFilter"
          }
        }
      },
      "QueryFaultToleranceCompatibilityExRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.QueryFaultToleranceCompatibilityEx*.\n",
        "properties": {
          "forLegacyFt": {
            "description": "checks for legacy record-replay FT compatibility only\nif this is set to true.\n",
            "type": "boolean"
          }
        }
      },
      "QueryFileLockInfoRequestType": {
        "type": "object",
        "description": "The parameters of *FileManager.QueryFileLockInfo*.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "path": {
            "description": "Full file path to look up lock information on.\nFor example specific VM file like:\n/vmfs/volumes/datastore1/vm/vm-flat.vmdk\n",
            "type": "string"
          },
          "host": {
            "description": "Host id is required if API is invoked on vCenter Server.\nIt is optional if invoked on host directly. Esx does not\nrequire this parameter.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "path"
        ]
      },
      "QueryFileSystemAssociatedWithArrayRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryFileSystemAssociatedWithArray*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "arrayId"
        ]
      },
      "QueryFilterEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.QueryFilterEntities*.\n",
        "properties": {
          "filterId": {
            "description": "The filter id.\n",
            "type": "string"
          }
        },
        "required": [
          "filterId"
        ]
      },
      "QueryFilterInfoIdsRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.QueryFilterInfoIds*.\n",
        "properties": {
          "filterId": {
            "description": "The filter id.\n",
            "type": "string"
          }
        },
        "required": [
          "filterId"
        ]
      },
      "QueryFilterListRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.QueryFilterList*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          }
        },
        "required": [
          "providerId"
        ]
      },
      "QueryFilterNameRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.QueryFilterName*.\n",
        "properties": {
          "filterId": {
            "description": "The filter id.\n",
            "type": "string"
          }
        },
        "required": [
          "filterId"
        ]
      },
      "QueryHealthUpdateInfosRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.QueryHealthUpdateInfos*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          }
        },
        "required": [
          "providerId"
        ]
      },
      "QueryHealthUpdatesRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.QueryHealthUpdates*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          }
        },
        "required": [
          "providerId"
        ]
      },
      "QueryHostAssociatedWithLunRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryHostAssociatedWithLun*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "scsi3Id": {
            "description": "*StorageLun.uuid* for the StorageLun\nobject.\n",
            "type": "string"
          },
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "scsi3Id",
          "arrayId"
        ]
      },
      "QueryHostPatchRequestType": {
        "type": "object",
        "description": "The parameters of *HostPatchManager.QueryHostPatch_Task*.\n",
        "properties": {
          "spec": {
            "$ref": "#/components/schemas/HostPatchManagerPatchManagerOperationSpec"
          }
        }
      },
      "QueryHostProfileMetadataRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.QueryHostProfileMetadata*.\n",
        "properties": {
          "profileName": {
            "description": "Names of the profiles for which metadata is requested.\nIf not set, the method returns metadata for all the profiles.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "profile": {
            "description": "Base profile whose context needs to be used during the operation\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryHostsWithAttachedLunRequestType": {
        "type": "object",
        "description": "The parameters of *StorageQueryManager.QueryHostsWithAttachedLun*.\n",
        "properties": {
          "lunUuid": {
            "description": "The UUID of the ScsiLun device.\n",
            "type": "string"
          }
        },
        "required": [
          "lunUuid"
        ]
      },
      "QueryIORMConfigOptionRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.QueryIORMConfigOption*.\n",
        "properties": {
          "host": {
            "description": "\\[in\\] - The host VC will forward the query\nto. This parameter is ignored by host if this method is\ncalled on a host directly.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ]
      },
      "QueryIPAllocationsRequestType": {
        "type": "object",
        "description": "The parameters of *IpPoolManager.QueryIPAllocations*.\n",
        "properties": {
          "dc": {
            "description": "The datacenter on which to find the pool\n\n***Required privileges:*** Datacenter.IpPoolQueryAllocations\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "poolId": {
            "description": "The unique ID of the pool\n",
            "type": "integer",
            "format": "int32"
          },
          "extensionKey": {
            "description": "The key of the extension\n",
            "type": "string"
          }
        },
        "required": [
          "dc",
          "poolId",
          "extensionKey"
        ]
      },
      "QueryIoFilterInfoRequestType": {
        "type": "object",
        "description": "The parameters of *IoFilterManager.QueryIoFilterInfo*.\n",
        "properties": {
          "compRes": {
            "description": "The compute resource.\n\"compRes\" must be a cluster.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "compRes"
        ]
      },
      "QueryIoFilterIssuesRequestType": {
        "type": "object",
        "description": "The parameters of *IoFilterManager.QueryIoFilterIssues*.\n",
        "properties": {
          "filterId": {
            "description": "The filter.\n",
            "type": "string"
          },
          "compRes": {
            "description": "The compute resource.\n\"compRes\" must be a cluster.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "filterId",
          "compRes"
        ]
      },
      "QueryIpPoolsRequestType": {
        "type": "object",
        "description": "The parameters of *IpPoolManager.QueryIpPools*.\n",
        "properties": {
          "dc": {
            "description": "The datacenter for which to look up the IP pools.\n\n***Required privileges:*** System.Read\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "dc"
        ]
      },
      "QueryIssueRequestType": {
        "type": "object",
        "description": "The parameters of *EamObject.QueryIssue*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "issueKey": {
            "description": "An optional array of issue keys. If not set, all issues for this\nentity are returned.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      },
      "QueryLicenseSourceAvailabilityRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.QueryLicenseSourceAvailability*.\n",
        "properties": {
          "host": {
            "description": "Use the license source of the specified host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryLicenseUsageRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.QueryLicenseUsage*.\n",
        "properties": {
          "host": {
            "description": "Host to query for usage. If missing, query the server the\n*LicenseManager* is on.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryLunAssociatedWithArrayRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryLunAssociatedWithArray*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "arrayId"
        ]
      },
      "QueryLunAssociatedWithPortRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryLunAssociatedWithPort*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "portId": {
            "description": "*StoragePort.uuid* for the StoragePort\nobject.\n",
            "type": "string"
          },
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "portId",
          "arrayId"
        ]
      },
      "QueryManagedByRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensionManager.QueryManagedBy*.\n",
        "properties": {
          "extensionKey": {
            "description": "Key of the extension to find managed entities for.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey"
        ]
      },
      "QueryMaxQueueDepthRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.QueryMaxQueueDepth*.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "datastore": {
            "description": "The NFS datastore which need to query max queue depth\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "QueryMemoryOverheadExRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.QueryMemoryOverheadEx*.\n",
        "properties": {
          "vmConfigInfo": {
            "description": "The configuration of the virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigInfo"
          }
        },
        "required": [
          "vmConfigInfo"
        ]
      },
      "QueryMemoryOverheadRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.QueryMemoryOverhead*.\n",
        "properties": {
          "memorySize": {
            "description": "The amount of virtual system RAM, in bytes. For an existing\nvirtual machine, this value can be found (in megabytes) as the memoryMB\nproperty of the *VirtualHardware*.\n",
            "type": "integer",
            "format": "int64"
          },
          "videoRamSize": {
            "description": "The amount of virtual video RAM, in bytes. For an existing\nvirtual machine on a host that supports advertising this property, this\nvalue can be found (in kilobytes) as the videoRamSizeInKB property of the\n*VirtualMachineVideoCard*. If this parameter is left unset, the\ndefault video RAM size for virtual machines on this host is assumed.\n",
            "type": "integer",
            "format": "int32"
          },
          "numVcpus": {
            "description": "The number of virtual CPUs. For an existing virtual machine, this\nvalue can be found as the numCPU property of the\n*VirtualHardware*.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "memorySize",
          "numVcpus"
        ]
      },
      "QueryMigrationDependenciesRequestType": {
        "type": "object",
        "description": "The parameters of *IscsiManager.QueryMigrationDependencies*.\n",
        "properties": {
          "pnicDevice": {
            "description": "List of Physical NICs to be migrated\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "pnicDevice"
        ]
      },
      "QueryMonitoredEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.QueryMonitoredEntities*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          }
        },
        "required": [
          "providerId"
        ]
      },
      "QueryNetConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostVirtualNicManager.QueryNetConfig*.\n",
        "properties": {
          "nicType": {
            "description": "The *HostVirtualNicManagerNicType_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "nicType"
        ]
      },
      "QueryNetworkHintRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.QueryNetworkHint*.\n",
        "properties": {
          "device": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "QueryNfsDatastoreAssociatedWithFileSystemRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryNfsDatastoreAssociatedWithFileSystem*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "fileSystemId": {
            "description": "*StorageFileSystem.uuid* for the\nStorageFileSystem object\n",
            "type": "string"
          },
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "fileSystemId",
          "arrayId"
        ]
      },
      "QueryObjectsOnPhysicalVsanDiskRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.QueryObjectsOnPhysicalVsanDisk*.\n",
        "properties": {
          "disks": {
            "description": "List of VSAN disk UUIDs.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "disks"
        ]
      },
      "QueryOptionsRequestType": {
        "type": "object",
        "description": "The parameters of *OptionManager.QueryOptions*.\n",
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "QueryPartitionCreateDescRequestType": {
        "type": "object",
        "description": "The parameters of *HostDiagnosticSystem.QueryPartitionCreateDesc*.\n",
        "properties": {
          "diskUuid": {
            "type": "string"
          },
          "diagnosticType": {
            "type": "string"
          }
        },
        "required": [
          "diskUuid",
          "diagnosticType"
        ]
      },
      "QueryPartitionCreateOptionsRequestType": {
        "type": "object",
        "description": "The parameters of *HostDiagnosticSystem.QueryPartitionCreateOptions*.\n",
        "properties": {
          "storageType": {
            "type": "string"
          },
          "diagnosticType": {
            "type": "string"
          }
        },
        "required": [
          "storageType",
          "diagnosticType"
        ]
      },
      "QueryPerfCompositeRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.QueryPerfComposite*.\n",
        "properties": {
          "querySpec": {
            "description": "A *PerfQuerySpec* object specifying the query\nparameters. This *PerfQuerySpec* object specifies a\nmanaged object for which composite statistics should be retrieved, with\nspecific optional criteria for filtering the results.\n\nThis *PerfQuerySpec* requires a valid *PerfQuerySpec.metricId* property that specifies a metric\nthat is available, in common, to the entity and its children. If the\nspecified metricId is not available to the entity and its children, it is\nignored.\n",
            "$ref": "#/components/schemas/PerfQuerySpec"
          }
        },
        "required": [
          "querySpec"
        ]
      },
      "QueryPerfCounterByLevelRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.QueryPerfCounterByLevel*.\n",
        "properties": {
          "level": {
            "description": "A number between 1 and 4 that specifies the collection level.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "level"
        ]
      },
      "QueryPerfCounterRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.QueryPerfCounter*.\n",
        "properties": {
          "counterId": {
            "description": "An array of one or more *counterIds* representing performance counters for which information is\nbeing retrieved.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "counterId"
        ]
      },
      "QueryPerfProviderSummaryRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.QueryPerfProviderSummary*.\n",
        "properties": {
          "entity": {
            "description": "Reference to a managed object that provides performance data. If the\nentity specified by managed object reference is not a performance\nprovider, an \"InvalidArgument\" exception is thrown.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "entity"
        ]
      },
      "QueryPerfRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.QueryPerf*.\n",
        "properties": {
          "querySpec": {
            "description": "An array of *PerfQuerySpec* objects. Each *PerfQuerySpec* object specifies a managed object reference\nfor an entity, plus optional criteria for filtering results. Only metrics\nfor entities that can be resolved and that are valid *performance providers* are returned in\nany result.\n\nEach *PerfQuerySpec* object in the array\nsubmitted in this operation can query for different metrics. Or, select\nall types of statistics for a single managed entity.\n\nRaw data feed workaround: Normally, QueryPerf will return performance\nstatistics stored in the VirtualCenter database. However this may not be\nsuitable for certain applications. For example, applications that treat\nVirtualCenter as a raw data source, query for performance statistics\nregularly (say every 5 minutes) and extract the data for external\narchival and reporting. Such applications need better query performance.\nThese applications should query statistics using QueryPerf for the base\nhistorical interval (5 minutes by default) having a start and end time\nrange within 30 minutes from the current VirtualCenter server system\ntime. These QueryPerf calls will have better performance than other\nQueryPerf calls.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfQuerySpec"
            }
          }
        },
        "required": [
          "querySpec"
        ]
      },
      "QueryPhysicalVsanDisksRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.QueryPhysicalVsanDisks*.\n",
        "properties": {
          "props": {
            "description": "List of properties to gather. Not specifying a list will\nfetch all properties.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "QueryPnicStatusRequestType": {
        "type": "object",
        "description": "The parameters of *IscsiManager.QueryPnicStatus*.\n",
        "properties": {
          "pnicDevice": {
            "description": "Physical NIC device name to check the status for\n",
            "type": "string"
          }
        },
        "required": [
          "pnicDevice"
        ]
      },
      "QueryPointInTimeReplicaRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.QueryPointInTimeReplica*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "List of replication group IDs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          },
          "queryParam": {
            "description": "Search criteria specification for all the groups.\n",
            "$ref": "#/components/schemas/QueryPointInTimeReplicaParam"
          }
        }
      },
      "QueryPolicyMetadataRequestType": {
        "type": "object",
        "description": "The parameters of *ProfileManager.QueryPolicyMetadata*.\n",
        "properties": {
          "policyName": {
            "description": "Retrieve metadata for the specified policyNames.\nIf policyName is not specified, metadata for all policies will be returned.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "profile": {
            "description": "Base profile whose context needs to be used during the operation\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryPortAssociatedWithArrayRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryPortAssociatedWithArray*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "arrayId"
        ]
      },
      "QueryPortAssociatedWithLunRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryPortAssociatedWithLun*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "scsi3Id": {
            "description": "*StorageLun.uuid* for the StorageLun\nobject.\n",
            "type": "string"
          },
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "scsi3Id",
          "arrayId"
        ]
      },
      "QueryPortAssociatedWithProcessorRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryPortAssociatedWithProcessor*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "processorId": {
            "description": "*StorageProcessor.uuid* for the\nStorageProcessor object.\n",
            "type": "string"
          },
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "processorId",
          "arrayId"
        ]
      },
      "QueryProcessorAssociatedWithArrayRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryProcessorAssociatedWithArray*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "arrayId"
        ]
      },
      "QueryProfileStructureRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.QueryProfileStructure*.\n",
        "properties": {
          "profile": {
            "description": "Base profile whose context needs to be used during the operation\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryProviderNameRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.QueryProviderName*.\n",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "QueryReplicationGroupInfoRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryReplicationGroupInfo*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "rgFilter": {
            "$ref": "#/components/schemas/ReplicationGroupFilter"
          }
        },
        "required": [
          "rgFilter"
        ]
      },
      "QueryReplicationGroupRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.QueryReplicationGroup*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "List of replication group IDs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          }
        }
      },
      "QueryReplicationPeerRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.QueryReplicationPeer*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "faultDomainId": {
            "description": "An optional list of source fault domain ID.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultDomainId"
            }
          }
        }
      },
      "QueryServiceListRequestType": {
        "type": "object",
        "description": "The parameters of *ServiceManager.QueryServiceList*.\n",
        "properties": {
          "serviceName": {
            "description": "The name of the service to be located.\n",
            "type": "string"
          },
          "location": {
            "description": "The list of location information that needs to match for a service to be\nconsidered a match.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "QueryStorageContainerRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryStorageContainer*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "containerSpec": {
            "description": "*StorageContainerSpec*\n",
            "$ref": "#/components/schemas/StorageContainerSpec"
          }
        }
      },
      "QuerySupportedFeaturesRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.QuerySupportedFeatures*.\n",
        "properties": {
          "host": {
            "description": "Use the license source of the specified host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QuerySupportedNetworkOffloadSpecRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.QuerySupportedNetworkOffloadSpec*.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "switchProductSpec": {
            "description": "The productSpec of a\n*DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        },
        "required": [
          "switchProductSpec"
        ]
      },
      "QuerySyncingVsanObjectsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.QuerySyncingVsanObjects*.\n",
        "properties": {
          "uuids": {
            "description": "List of VSAN/DOM object UUIDs to restrict search to.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "QueryTargetCapabilitiesRequestType": {
        "type": "object",
        "description": "The parameters of *EnvironmentBrowser.QueryTargetCapabilities*.\n",
        "properties": {
          "host": {
            "description": "If specified, the host whose capabilities are requested.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "QueryUnmonitoredHostsRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.QueryUnmonitoredHosts*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          },
          "cluster": {
            "description": "The cluster.\n\nRefers instance of *ClusterComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "providerId",
          "cluster"
        ]
      },
      "QueryVMotionCompatibilityExRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineProvisioningChecker.QueryVMotionCompatibilityEx_Task*.\n",
        "properties": {
          "vm": {
            "description": "The set of virtual machines to analyze for compatibility. All\nvirtual machines are assumed to be powered-on for the purposes of\nthis operation.\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "host": {
            "description": "The set of hosts to analyze for compatibility. All hosts\nare assumed to be connected and not in maintenance mode for the\npurposes of this operation.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "vm",
          "host"
        ]
      },
      "QueryVMotionCompatibilityRequestType": {
        "type": "object",
        "description": "The parameters of *ServiceInstance.QueryVMotionCompatibility*.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine that is the designated VMotion candidate.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The group of hosts to analyze for compatibility.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "compatibility": {
            "description": "The set of compatibility types to investigate.\nEach is a string chosen from VMotionCompatibilityType. If this\nargument is not set, then all compatibility types are\ninvestigated.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vm",
          "host"
        ]
      },
      "QueryVirtualDiskFragmentationRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.QueryVirtualDiskFragmentation*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk for which to return the\npercentage of fragmentation.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "QueryVirtualDiskGeometryRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.QueryVirtualDiskGeometry*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk from which to get geometry information.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "QueryVirtualDiskUuidExRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.QueryVirtualDiskUuidEx*.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk whose uuid for the DDB entry needs to be queried.\nA datastore path has the form\n> \\[_datastore_\\] _path_\n\nwhere\n- _datastore_ is the datastore name.\n- _path_ is a slash-delimited path from the root of the datastore.\n\nAn example datastore path is \"\\[storage\\] path/to/file.extension\".\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path is mandatory. Not needed when invoked directly on ESX.\nIf not specified on a call from VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "QueryVirtualDiskUuidRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.QueryVirtualDiskUuid*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk from which to get SCSI inquiry\npage 0x83 data.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "QueryVmfsDatastoreAssociatedWithLunRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.QueryVmfsDatastoreAssociatedWithLun*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "scsi3Id": {
            "description": "*StorageLun.uuid* for the StorageLun object\n",
            "type": "string"
          },
          "arrayId": {
            "description": "*StorageArray.uuid* for the StorageArray\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "scsi3Id",
          "arrayId"
        ]
      },
      "QueryVmfsDatastoreCreateOptionsRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.QueryVmfsDatastoreCreateOptions*.\n",
        "properties": {
          "devicePath": {
            "description": "The devicePath of the disk on which datastore creation\noptions are generated.\n",
            "type": "string"
          },
          "vmfsMajorVersion": {
            "description": "major version of VMFS to be used for\nformatting the datastore. If this\nparameter is not specified, then the highest\n*supported VMFS major version* for the host\nis used.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "devicePath"
        ]
      },
      "QueryVmfsDatastoreExpandOptionsRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.QueryVmfsDatastoreExpandOptions*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore to be expanded.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "QueryVmfsDatastoreExtendOptionsRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.QueryVmfsDatastoreExtendOptions*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore to be extended.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "devicePath": {
            "description": "The devicePath of the disk on which datastore extension\noptions are generated.\n",
            "type": "string"
          },
          "suppressExpandCandidates": {
            "description": "Indicates whether to exclude options that can be\nused for extent expansion also.\nFree space can be used for adding an extent or expanding an existing\nextent. If this parameter is set to true, the list of options\nreturned will not include free space that can be used for expansion.\n",
            "type": "boolean"
          }
        },
        "required": [
          "datastore",
          "devicePath"
        ]
      },
      "QueryVnicStatusRequestType": {
        "type": "object",
        "description": "The parameters of *IscsiManager.QueryVnicStatus*.\n",
        "properties": {
          "vnicDevice": {
            "description": "Virtual NIC device to check the status for\n",
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ]
      },
      "QueryVsanObjectUuidsByFilterRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.QueryVsanObjectUuidsByFilter*.\n",
        "properties": {
          "uuids": {
            "description": "Objects UUID will be checked against the filtering\nconditions.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "limit": {
            "description": "To limit the size of the result set.\n",
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "description": "Filtering condition 1: object version.\n",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "QueryVsanObjectsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.QueryVsanObjects*.\n",
        "properties": {
          "uuids": {
            "description": "List of VSAN/DOM object UUIDs.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "QueryVsanStatisticsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.QueryVsanStatistics*.\n",
        "properties": {
          "labels": {
            "description": "List of labels of counters to retrieve.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "labels"
        ]
      },
      "QueryVsanUpgradeStatusRequestType": {
        "type": "object",
        "description": "The parameters of *VsanUpgradeSystem.QueryVsanUpgradeStatus*.\n",
        "properties": {
          "cluster": {
            "description": "The cluster for which to retrieve the upgrade status.\n\nRefers instance of *ClusterComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "cluster"
        ]
      },
      "ReadEnvironmentVariableInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestProcessManager.ReadEnvironmentVariableInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Query\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "names": {
            "description": "The names of the variables to be read. If not set, then\nall the environment variables are returned.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vm",
          "auth"
        ]
      },
      "ReadNextEventsRequestType": {
        "type": "object",
        "description": "The parameters of *EventHistoryCollector.ReadNextEvents*.\n",
        "properties": {
          "maxCount": {
            "description": "The maximum number of items in the page.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxCount"
        ]
      },
      "ReadNextTasksRequestType": {
        "type": "object",
        "description": "The parameters of *TaskHistoryCollector.ReadNextTasks*.\n",
        "properties": {
          "maxCount": {
            "description": "The maximum number of items in the page.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxCount"
        ]
      },
      "ReadPreviousEventsRequestType": {
        "type": "object",
        "description": "The parameters of *EventHistoryCollector.ReadPreviousEvents*.\n",
        "properties": {
          "maxCount": {
            "description": "The maximum number of items in the page.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxCount"
        ]
      },
      "ReadPreviousTasksRequestType": {
        "type": "object",
        "description": "The parameters of *TaskHistoryCollector.ReadPreviousTasks*.\n",
        "properties": {
          "maxCount": {
            "description": "The maximum number of items in the page.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxCount"
        ]
      },
      "RebootHostRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.RebootHost_Task*.\n",
        "properties": {
          "force": {
            "description": "Flag to specify whether or not the host should be rebooted\nregardless of whether it is in maintenance mode. If true, the host\nis rebooted, even if there are virtual machines running or other\noperations in progress.\n",
            "type": "boolean"
          }
        },
        "required": [
          "force"
        ]
      },
      "RecommendDatastoresRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.RecommendDatastores*.\n",
        "properties": {
          "storageSpec": {
            "$ref": "#/components/schemas/StoragePlacementSpec"
          }
        },
        "required": [
          "storageSpec"
        ]
      },
      "RecommendHostsForVmRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.RecommendHostsForVm*.\n",
        "properties": {
          "vm": {
            "description": "Specifies the virtual machine for which the user is requesting a\nrecommendations.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pool": {
            "description": "Specifies the ResourcePool into which the virtual machine is to be\nmigrated. If the virtual machine is powered-on, this argument must be\nspecified and it is relevant only when the virtual machine is\npowered-on. This ResourcePool cannot be in the same cluster as the\nvirtual machine.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ]
      },
      "ReconcileDatastoreInventoryRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.ReconcileDatastoreInventory_Task*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore that needs to be reconciled.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "ReconfigVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.ReconfigVM_Task*.\n",
        "properties": {
          "spec": {
            "description": "The new configuration values.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "ReconfigurationSatisfiableRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.ReconfigurationSatisfiable*.\n",
        "properties": {
          "pcbs": {
            "description": "List of PolicyChangeBatch structure with uuids and policies.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanPolicyChangeBatch"
            }
          },
          "ignoreSatisfiability": {
            "description": "Optionally populate PolicyCost even though\nobject cannot be reconfigured in the current cluster topology.\n",
            "type": "boolean"
          }
        },
        "required": [
          "pcbs"
        ]
      },
      "ReconfigureAlarmRequestType": {
        "type": "object",
        "description": "The parameters of *Alarm.ReconfigureAlarm*.\n",
        "properties": {
          "spec": {
            "description": "The new specification for the alarm.\n",
            "$ref": "#/components/schemas/AlarmSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "ReconfigureAutostartRequestType": {
        "type": "object",
        "description": "The parameters of *HostAutoStartManager.ReconfigureAutostart*.\n",
        "properties": {
          "spec": {
            "description": "List of changes to defaults and auto-start/auto-stop order.\n",
            "$ref": "#/components/schemas/HostAutoStartManagerConfig"
          }
        },
        "required": [
          "spec"
        ]
      },
      "ReconfigureClusterRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.ReconfigureCluster_Task*.\n",
        "properties": {
          "spec": {
            "description": "A set of configuration changes to apply to the cluster. The\nspecification can be a complete set of changes or a partial set of\nchanges, applied incrementally.\n",
            "$ref": "#/components/schemas/ClusterConfigSpec"
          },
          "modify": {
            "description": "Flag to specify whether the specification (\"spec\") should\nbe applied incrementally. If \"modify\" is false and the\noperation succeeds, then the configuration of the cluster\nmatches the specification exactly; in this case any unset\nportions of the specification will result in unset or\ndefault portions of the configuration.\n",
            "type": "boolean"
          }
        },
        "required": [
          "spec",
          "modify"
        ]
      },
      "ReconfigureComputeResourceRequestType": {
        "type": "object",
        "description": "The parameters of *ComputeResource.ReconfigureComputeResource_Task*.\n",
        "properties": {
          "spec": {
            "description": "A set of configuration changes to apply to the compute resource.\nThe specification can be a complete set of changes or a partial\nset of changes, applied incrementally. When invoking\nreconfigureEx on a cluster, this argument may be a\n*ClusterConfigSpecEx* object.\n",
            "$ref": "#/components/schemas/ComputeResourceConfigSpec"
          },
          "modify": {
            "description": "Flag to specify whether the specification (\"spec\") should\nbe applied incrementally. If \"modify\" is false and the\noperation succeeds, then the configuration of the cluster\nmatches the specification exactly; in this case any unset\nportions of the specification will result in unset or\ndefault portions of the configuration.\n",
            "type": "boolean"
          }
        },
        "required": [
          "spec",
          "modify"
        ]
      },
      "ReconfigureDVPortRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.ReconfigureDVPort_Task*.\n",
        "properties": {
          "port": {
            "description": "The specification of the ports.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortConfigSpec"
            }
          }
        },
        "required": [
          "port"
        ]
      },
      "ReconfigureDVPortgroupRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task*.\n",
        "properties": {
          "spec": {
            "description": "Configuration data for the portgroup.\n",
            "$ref": "#/components/schemas/DVPortgroupConfigSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "ReconfigureDatacenterRequestType": {
        "type": "object",
        "description": "The parameters of *Datacenter.ReconfigureDatacenter_Task*.\n",
        "properties": {
          "spec": {
            "description": "A set of configuration changes to apply to the datacenter.\nThe specification can be a complete set of changes or a partial\nset of changes, applied incrementally.\n",
            "$ref": "#/components/schemas/DatacenterConfigSpec"
          },
          "modify": {
            "description": "Flag to specify whether the specification (\"spec\") should\nbe applied incrementally. If \"modify\" is false and the\noperation succeeds, then the configuration of the datacenter\nmatches the specification exactly; in this case any unset\nportions of the specification will result in unset or\ndefault portions of the configuration.\n",
            "type": "boolean"
          }
        },
        "required": [
          "spec",
          "modify"
        ]
      },
      "ReconfigureDomObjectRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.ReconfigureDomObject*.\n",
        "properties": {
          "uuid": {
            "description": "DOM object UUID.\n",
            "type": "string"
          },
          "policy": {
            "description": "VSAN expression formatted policy string.\n",
            "type": "string"
          }
        },
        "required": [
          "uuid",
          "policy"
        ]
      },
      "ReconfigureDvsRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.ReconfigureDvs_Task*.\n",
        "properties": {
          "spec": {
            "description": "The configuration of the switch\n",
            "$ref": "#/components/schemas/DVSConfigSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "ReconfigureScheduledTaskRequestType": {
        "type": "object",
        "description": "The parameters of *ScheduledTask.ReconfigureScheduledTask*.\n",
        "properties": {
          "spec": {
            "description": "The new specification for the scheduled task.\n",
            "$ref": "#/components/schemas/ScheduledTaskSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "ReconfigureServiceConsoleReservationRequestType": {
        "type": "object",
        "description": "The parameters of *HostMemorySystem.ReconfigureServiceConsoleReservation*.\n",
        "properties": {
          "cfgBytes": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "cfgBytes"
        ]
      },
      "ReconfigureSnmpAgentRequestType": {
        "type": "object",
        "description": "The parameters of *HostSnmpSystem.ReconfigureSnmpAgent*.\n",
        "properties": {
          "spec": {
            "$ref": "#/components/schemas/HostSnmpConfigSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "ReconfigureVirtualMachineReservationRequestType": {
        "type": "object",
        "description": "The parameters of *HostMemorySystem.ReconfigureVirtualMachineReservation*.\n",
        "properties": {
          "spec": {
            "$ref": "#/components/schemas/VirtualMachineMemoryReservationSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "ReconnectHostRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.ReconnectHost_Task*.\n",
        "properties": {
          "cnxSpec": {
            "description": "Includes the parameters to use, including user name and password,\nwhen reconnecting to the host. If this parameter is not specified,\nthe default connection parameters is used.\n",
            "$ref": "#/components/schemas/HostConnectSpec"
          },
          "reconnectSpec": {
            "description": "Includes connection parameters specific to\nreconnect. This will mainly be used to indicate how to\nhandle divergence between the host settings and vCenter Server\nsettings when the host was disconnected.\n",
            "$ref": "#/components/schemas/HostSystemReconnectSpec"
          }
        }
      },
      "RectifyDvsHostRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.RectifyDvsHost_Task*.\n",
        "properties": {
          "hosts": {
            "description": "The hosts to be rectified.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "RectifyDvsOnHostRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitchManager.RectifyDvsOnHost_Task*.\n",
        "properties": {
          "hosts": {
            "description": "The hosts to be rectified.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "hosts"
        ]
      },
      "RefreshDVPortStateRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.RefreshDVPortState*.\n",
        "properties": {
          "portKeys": {
            "description": "The keys of the ports to be refreshed. If not specified, all port\nstates are refreshed.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RefreshStorageDrsRecommendationRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.RefreshStorageDrsRecommendation*.\n",
        "properties": {
          "pod": {
            "description": "The storage pod.\nThe recommendations generated is stored at\n*PodStorageDrsEntry.recommendation*.\n\nRefers instance of *StoragePod*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "pod"
        ]
      },
      "RefreshStorageDrsRecommendationsForPodRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.RefreshStorageDrsRecommendationsForPod_Task*.\n",
        "properties": {
          "pod": {
            "description": "The storage pod.\nThe recommendations generated is stored at\n*PodStorageDrsEntry.recommendation*.\n\nRefers instance of *StoragePod*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "pod"
        ]
      },
      "RegisterAgentVmRequestType": {
        "type": "object",
        "description": "The parameters of *Agency.RegisterAgentVm*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "agentVm": {
            "description": "The managed object reference to the agent VM.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "agentVm"
        ]
      },
      "RegisterChildVMRequestType": {
        "type": "object",
        "description": "The parameters of *ResourcePool.RegisterChildVM_Task*.\n",
        "properties": {
          "path": {
            "description": "A datastore path to the virtual machine. If the path ends with\n\".vmtx\", indicating that it refers to a VM template, an InvalidArgument\nfault is thrown.\n",
            "type": "string"
          },
          "name": {
            "description": "The name to be assigned to the virtual machine. If this parameter is\nnot set, the displayName configuration parameter of the virtual machine is\nused. An entity name must be a non-empty string of less than 80\ncharacters. The slash (/), backslash (\\\\) and percent (%) will be\nescaped using the URL syntax. For example, %2F.\n",
            "type": "string"
          },
          "host": {
            "description": "The target host on which the virtual machine will run. This parameter\nmust specify a host that is a member of the ComputeResource to which this\nresource pool belongs. For a stand-alone host or a cluster with DRS,\nthe parameter can be omitted, and the system selects a default.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "path"
        ]
      },
      "RegisterDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RegisterDisk*.\n",
        "properties": {
          "path": {
            "description": "URL path to the virtual disk.\n",
            "type": "string"
          },
          "name": {
            "description": "The descriptive name of the disk object. If\nunset the name will be automatically determined\nfrom the path. @see vim.vslm.BaseConfigInfo#name\n",
            "type": "string"
          }
        },
        "required": [
          "path"
        ]
      },
      "RegisterExtensionRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensionManager.RegisterExtension*.\n",
        "properties": {
          "extension": {
            "description": "Extension description to register.\n",
            "$ref": "#/components/schemas/Extension"
          }
        },
        "required": [
          "extension"
        ]
      },
      "RegisterHealthUpdateProviderRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.RegisterHealthUpdateProvider*.\n",
        "properties": {
          "name": {
            "description": "The provider name. Should follow Java package\nnaming convention to minimize name clashes with\ncurrently registered providers.\nFor example, \"com.vmware.HealthUpdateProvider\".\n",
            "type": "string"
          },
          "healthUpdateInfo": {
            "description": "The list of healthUpdateInfo that can be\nreported in healthUpdates.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HealthUpdateInfo"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "RegisterKmipServerRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.RegisterKmipServer*.\n",
        "properties": {
          "server": {
            "description": "\\[in\\] KMIP server connection information.\n",
            "$ref": "#/components/schemas/KmipServerSpec"
          }
        },
        "required": [
          "server"
        ]
      },
      "RegisterKmsClusterRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.RegisterKmsCluster*.\n",
        "properties": {
          "clusterId": {
            "description": "\\[in\\] KMS cluster ID to register.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "managementType": {
            "description": "\\[in\\] Key provider management type\nSee *KmipClusterInfoKmsManagementType_enum*\nfor valid values.\nBy default trustAuthority.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterId"
        ]
      },
      "RegisterProviderRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.RegisterProvider_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "providerSpec": {
            "description": "*SmsProviderSpec*\ncontaining parameters needed to register the\nprovider\n",
            "$ref": "#/components/schemas/SmsProviderSpec"
          }
        },
        "required": [
          "providerSpec"
        ]
      },
      "RegisterVMRequestType": {
        "type": "object",
        "description": "The parameters of *Folder.RegisterVM_Task*.\n",
        "properties": {
          "path": {
            "description": "A datastore path to the virtual machine.\n",
            "type": "string"
          },
          "name": {
            "description": "The name to be assigned to the virtual machine. If this parameter is\nnot set, the displayName configuration parameter of the virtual machine is\nused. An entity name must be a non-empty string of less than 80\ncharacters. The slash (/), backslash (\\\\) and percent (%) will be\nescaped using the URL syntax. For example, %2F.\n",
            "type": "string"
          },
          "asTemplate": {
            "description": "Flag to specify whether or not the virtual machine\nshould be marked as a template.\n",
            "type": "boolean"
          },
          "pool": {
            "description": "The resource pool to which the virtual machine should be attached.\nIf imported as a template, this parameter is not set.\n\n***Required privileges:*** Resource.AssignVMToPool\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host on which the virtual machine will run. This parameter\nmust specify a host that is a member of the ComputeResource indirectly\nspecified by the pool. For a stand-alone host or a cluster,\nthe parameter can be omitted, and the system selects a default.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "path",
          "asTemplate"
        ]
      },
      "ReleaseCredentialsInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestAuthManager.ReleaseCredentialsInGuest*.\n",
        "properties": {
          "vm": {
            "description": "MoRef of the VM to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Query\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          }
        },
        "required": [
          "vm",
          "auth"
        ]
      },
      "ReleaseIpAllocationRequestType": {
        "type": "object",
        "description": "The parameters of *IpPoolManager.ReleaseIpAllocation*.\n",
        "properties": {
          "dc": {
            "description": "The datacenter on which to find the pool\n\n***Required privileges:*** Datacenter.IpPoolReleaseIp\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "poolId": {
            "description": "The unique ID of the pool\n",
            "type": "integer",
            "format": "int32"
          },
          "allocationId": {
            "description": "The unique ID for this allocation\n",
            "type": "string"
          }
        },
        "required": [
          "dc",
          "poolId",
          "allocationId"
        ]
      },
      "ReleaseManagedSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.ReleaseManagedSnapshot*.\n",
        "properties": {
          "vdisk": {
            "description": "\\- The name of the disk to release, either a datastore path or a URL\nreferring to the virtual disk.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>vdisk</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>vdisk</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vdisk"
        ]
      },
      "RelocateVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.RelocateVM_Task*.\n",
        "properties": {
          "spec": {
            "description": "The specification of where to relocate the virtual machine\n(see *VirtualMachineRelocateSpec*).\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
          },
          "priority": {
            "description": "The task priority\n(see *VirtualMachineMovePriority_enum*).\n",
            "$ref": "#/components/schemas/VirtualMachineMovePriority_enum"
          }
        },
        "required": [
          "spec"
        ]
      },
      "RelocateVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RelocateVStorageObject_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "The specification for relocation of the virtual\nstorage object.\n",
            "$ref": "#/components/schemas/VslmRelocateSpec"
          }
        },
        "required": [
          "id",
          "datastore",
          "spec"
        ]
      },
      "RemoveAllSnapshotsRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.RemoveAllSnapshots_Task*.\n",
        "properties": {
          "consolidate": {
            "description": "(optional) If set to true, the virtual disks of the deleted\nsnapshot will be merged with other disk if possible. Default to true.\n",
            "type": "boolean"
          },
          "spec": {
            "description": "(optional) When provided, only snapshots satisfying the\ncriteria described by the spec will be removed. If unset, all snapshots\nwill be removed.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/SnapshotSelectionSpec"
          }
        }
      },
      "RemoveAssignedLicenseRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseAssignmentManager.RemoveAssignedLicense*.\n",
        "properties": {
          "entityId": {
            "description": "ID of the entity. E.g. HostSystem.\n",
            "type": "string"
          }
        },
        "required": [
          "entityId"
        ]
      },
      "RemoveAuthorizationRoleRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.RemoveAuthorizationRole*.\n",
        "properties": {
          "roleId": {
            "type": "integer",
            "format": "int32"
          },
          "failIfUsed": {
            "description": "If true, prevents the role from being\nremoved if any permissions are using it.\n",
            "type": "boolean"
          }
        },
        "required": [
          "roleId",
          "failIfUsed"
        ]
      },
      "RemoveCustomFieldDefRequestType": {
        "type": "object",
        "description": "The parameters of *CustomFieldsManager.RemoveCustomFieldDef*.\n",
        "properties": {
          "key": {
            "description": "The unique key for the field definition.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key"
        ]
      },
      "RemoveDatastoreExRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.RemoveDatastoreEx_Task*.\n",
        "properties": {
          "datastore": {
            "description": "each element specifies one datastore to be removed.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "datastore"
        ]
      },
      "RemoveDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.RemoveDatastore*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore to be removed.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "RemoveDiskMappingRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanSystem.RemoveDiskMapping_Task*.\n",
        "properties": {
          "mapping": {
            "description": "list of disk mappings to be removed from VSAN usage.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskMapping"
            }
          },
          "maintenanceSpec": {
            "description": "Any additional actions to move data out of the disk\nbefore removing it. See *HostMaintenanceSpec*.\nIf unspecified, there is no action taken to move\ndata from the disk.\n",
            "$ref": "#/components/schemas/HostMaintenanceSpec"
          },
          "timeout": {
            "description": "Time to wait for the task to complete in seconds.\nIf the value is less than or equal to zero, there\nis no timeout. The operation fails with a Timedout\nexception if it timed out.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "mapping"
        ]
      },
      "RemoveDiskRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanSystem.RemoveDisk_Task*.\n",
        "properties": {
          "disk": {
            "description": "list of disks to be removed from use by the VSAN service.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiDisk"
            }
          },
          "maintenanceSpec": {
            "description": "Any additional actions to move data out of the disk\nbefore removing it. See *HostMaintenanceSpec*.\nIf unspecified, there is no action taken to move\ndata from the disk.\n",
            "$ref": "#/components/schemas/HostMaintenanceSpec"
          },
          "timeout": {
            "description": "Time to wait for the task to complete in seconds.\nIf the value is less than or equal to zero, there\nis no timeout. The operation fails with a Timedout\nexception if it timed out.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "disk"
        ]
      },
      "RemoveEntityPermissionRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.RemoveEntityPermission*.\n",
        "properties": {
          "entity": {
            "description": "Entity on which a permission is removed.\n\n***Required privileges:*** Authorization.ModifyPermissions\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "user": {
            "description": "User or group for which the permission is defined.\n",
            "type": "string"
          },
          "isGroup": {
            "description": "True, if user refers to a group name; false, for a user name.\n",
            "type": "boolean"
          }
        },
        "required": [
          "entity",
          "user",
          "isGroup"
        ]
      },
      "RemoveFilterEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.RemoveFilterEntities*.\n",
        "properties": {
          "filterId": {
            "description": "The filter id.\n",
            "type": "string"
          },
          "entities": {
            "description": "The list of removed managed entities.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "filterId"
        ]
      },
      "RemoveFilterRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.RemoveFilter*.\n",
        "properties": {
          "filterId": {
            "description": "The filter id.\n",
            "type": "string"
          }
        },
        "required": [
          "filterId"
        ]
      },
      "RemoveGroupRequestType": {
        "type": "object",
        "description": "The parameters of *HostLocalAccountManager.RemoveGroup*.\n",
        "properties": {
          "groupName": {
            "description": "Group ID of the group account being removed.\n",
            "type": "string"
          }
        },
        "required": [
          "groupName"
        ]
      },
      "RemoveGuestAliasByCertRequestType": {
        "type": "object",
        "description": "The parameters of *GuestAliasManager.RemoveGuestAliasByCert*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.ModifyAliases\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data for this operation. See\n*GuestAuthentication*. These credentials must satisfy\nauthentication requirements\nfor a guest account on the specified virtual machine.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "username": {
            "description": "Username for the guest account on the virtual machine.\n",
            "type": "string"
          },
          "base64Cert": {
            "description": "The X.509 certificate to be removed, in base64\nencoded DER format.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "auth",
          "username",
          "base64Cert"
        ]
      },
      "RemoveGuestAliasRequestType": {
        "type": "object",
        "description": "The parameters of *GuestAliasManager.RemoveGuestAlias*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.ModifyAliases\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data for this operation. See\n*GuestAuthentication*. These credentials must satisfy\nauthentication requirements\nfor a guest account on the specified virtual machine.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "username": {
            "description": "Username for the guest account on the virtual machine.\n",
            "type": "string"
          },
          "base64Cert": {
            "description": "The X.509 certificate associated with the alias to be\nremoved, in base64 encoded DER format.\n",
            "type": "string"
          },
          "subject": {
            "description": "The subject of the alias.\n",
            "$ref": "#/components/schemas/GuestAuthSubject"
          }
        },
        "required": [
          "vm",
          "auth",
          "username",
          "base64Cert",
          "subject"
        ]
      },
      "RemoveInternetScsiSendTargetsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.RemoveInternetScsiSendTargets*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "targets": {
            "description": "An array of iSCSI send targets to remove.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaSendTarget"
            }
          },
          "force": {
            "description": "flag for forced removal of iSCSI send targets.\nIf unset, force flag will be treated as false.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "iScsiHbaDevice",
          "targets"
        ]
      },
      "RemoveInternetScsiStaticTargetsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.RemoveInternetScsiStaticTargets*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "targets": {
            "description": "An array of iSCSI static targets to remove.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaStaticTarget"
            }
          }
        },
        "required": [
          "iScsiHbaDevice",
          "targets"
        ]
      },
      "RemoveKeyRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManager.RemoveKey*.\n",
        "properties": {
          "key": {
            "description": "\\[in\\] The key to remove.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "force": {
            "description": "\\[in\\] Remove the key even if in use or not existent.\n",
            "type": "boolean"
          }
        },
        "required": [
          "key",
          "force"
        ]
      },
      "RemoveKeysRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManager.RemoveKeys*.\n",
        "properties": {
          "keys": {
            "description": "\\[in\\] List of keys to remove.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoKeyId"
            }
          },
          "force": {
            "description": "\\[in\\] Remove the key even if in use. Always successful.\n",
            "type": "boolean"
          }
        },
        "required": [
          "force"
        ]
      },
      "RemoveKmipServerRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.RemoveKmipServer*.\n",
        "properties": {
          "clusterId": {
            "description": "\\[in\\] KMIP cluster ID.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "serverName": {
            "description": "\\[in\\] KMIP server name.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterId",
          "serverName"
        ]
      },
      "RemoveLicenseLabelRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.RemoveLicenseLabel*.\n",
        "properties": {
          "licenseKey": {
            "description": "A license.\n",
            "type": "string"
          },
          "labelKey": {
            "description": "A label key.\n",
            "type": "string"
          }
        },
        "required": [
          "licenseKey",
          "labelKey"
        ]
      },
      "RemoveLicenseRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.RemoveLicense*.\n",
        "properties": {
          "licenseKey": {
            "description": "A licenses. E.g. a serial license.\n",
            "type": "string"
          }
        },
        "required": [
          "licenseKey"
        ]
      },
      "RemoveMonitoredEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.RemoveMonitoredEntities*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          },
          "entities": {
            "description": "The entities that are no longer monitored by\nthis provider.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "providerId"
        ]
      },
      "RemoveNetworkResourcePoolRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.RemoveNetworkResourcePool*.\n",
        "properties": {
          "key": {
            "description": "The network resource pool key.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "key"
        ]
      },
      "RemoveNvmeOverRdmaAdapterRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.RemoveNvmeOverRdmaAdapter*.\n",
        "properties": {
          "hbaDeviceName": {
            "description": "The device name of the NVME over RDMA adapter to be removed.\n",
            "type": "string"
          }
        },
        "required": [
          "hbaDeviceName"
        ]
      },
      "RemovePerfIntervalRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.RemovePerfInterval*.\n",
        "properties": {
          "samplePeriod": {
            "description": "The sampling period, in seconds, for the specified interval being\nremoved.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "samplePeriod"
        ]
      },
      "RemovePortGroupRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.RemovePortGroup*.\n",
        "properties": {
          "pgName": {
            "type": "string"
          }
        },
        "required": [
          "pgName"
        ]
      },
      "RemoveServiceConsoleVirtualNicRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.RemoveServiceConsoleVirtualNic*.\n",
        "properties": {
          "device": {
            "type": "string"
          }
        },
        "required": [
          "device"
        ]
      },
      "RemoveSmartCardTrustAnchorByFingerprintRequestType": {
        "type": "object",
        "description": "The parameters of *HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchorByFingerprint*.\n",
        "properties": {
          "fingerprint": {
            "description": "Certificate fingerprint\n",
            "type": "string"
          },
          "digest": {
            "description": "Digest function used to compute fingerprint. One of\n*HostActiveDirectoryAuthenticationCertificateDigest_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "fingerprint",
          "digest"
        ]
      },
      "RemoveSmartCardTrustAnchorRequestType": {
        "type": "object",
        "description": "The parameters of *HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchor*.\n",
        "properties": {
          "issuer": {
            "description": "Certificate issuer\n",
            "type": "string"
          },
          "serial": {
            "description": "Certificate serial number (decimal integer)\n",
            "type": "string"
          }
        },
        "required": [
          "issuer",
          "serial"
        ]
      },
      "RemoveSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineSnapshot.RemoveSnapshot_Task*.\n",
        "properties": {
          "removeChildren": {
            "description": "Flag to specify removal of the entire snapshot subtree.\n",
            "type": "boolean"
          },
          "consolidate": {
            "description": "(optional) If set to true, the virtual disk associated\nwith this snapshot will be merged with other disk if possible. Defaults to true.\n",
            "type": "boolean"
          }
        },
        "required": [
          "removeChildren"
        ]
      },
      "RemoveSoftwareAdapterRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.RemoveSoftwareAdapter*.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "hbaDeviceName": {
            "description": "The device name of the adapter to be removed.\n",
            "type": "string"
          }
        },
        "required": [
          "hbaDeviceName"
        ]
      },
      "RemoveUserRequestType": {
        "type": "object",
        "description": "The parameters of *HostLocalAccountManager.RemoveUser*.\n",
        "properties": {
          "userName": {
            "description": "User ID of the user account being removed.\n",
            "type": "string"
          }
        },
        "required": [
          "userName"
        ]
      },
      "RemoveVirtualNicRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.RemoveVirtualNic*.\n",
        "properties": {
          "device": {
            "type": "string"
          }
        },
        "required": [
          "device"
        ]
      },
      "RemoveVirtualSwitchRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.RemoveVirtualSwitch*.\n",
        "properties": {
          "vswitchName": {
            "type": "string"
          }
        },
        "required": [
          "vswitchName"
        ]
      },
      "RenameCustomFieldDefRequestType": {
        "type": "object",
        "description": "The parameters of *CustomFieldsManager.RenameCustomFieldDef*.\n",
        "properties": {
          "key": {
            "description": "The unique key for the field definition.\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "The new name for the field.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "name"
        ]
      },
      "RenameCustomizationSpecRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.RenameCustomizationSpec*.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "newName": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "newName"
        ]
      },
      "RenameDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *Datastore.RenameDatastore*.\n",
        "properties": {
          "newName": {
            "description": "The new name to assign to the datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "newName"
        ]
      },
      "RenameRequestType": {
        "type": "object",
        "description": "The parameters of *ManagedEntity.Rename_Task*.\n",
        "properties": {
          "newName": {
            "type": "string"
          }
        },
        "required": [
          "newName"
        ]
      },
      "RenameSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineSnapshot.RenameSnapshot*.\n",
        "properties": {
          "name": {
            "description": "New name for the snapshot.\n",
            "type": "string"
          },
          "description": {
            "description": "New description for the snapshot.\n",
            "type": "string"
          }
        }
      },
      "RenameVStorageObjectExRequestType": {
        "type": "object",
        "description": "The parameters of *VStorageObjectManagerBase.RenameVStorageObjectEx*.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be renamed.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "The new name for the virtual storage object.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "name"
        ]
      },
      "RenameVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RenameVStorageObject*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be renamed.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "The new name for the virtual storage object.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "name"
        ]
      },
      "ReplaceCACertificatesAndCRLsRequestType": {
        "type": "object",
        "description": "The parameters of *HostCertificateManager.ReplaceCACertificatesAndCRLs*.\n",
        "properties": {
          "caCert": {
            "description": "List of SSL certificates, in PEM format,\nof all CAs that should be trusted\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "caCrl": {
            "description": "List of SSL CRLs, in PEM format,\nissued by trusted CAs from the above list\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "caCert"
        ]
      },
      "ReplaceSmartCardTrustAnchorsRequestType": {
        "type": "object",
        "description": "The parameters of *HostActiveDirectoryAuthentication.ReplaceSmartCardTrustAnchors*.\n",
        "properties": {
          "certs": {
            "description": "List of trusted CA certificates in PEM format. If empty\nthen all existing trust anchors are removed.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RescanHbaRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.RescanHba*.\n",
        "properties": {
          "hbaDevice": {
            "description": "The device of the host bus adapter.\n",
            "type": "string"
          }
        },
        "required": [
          "hbaDevice"
        ]
      },
      "ResetCounterLevelMappingRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.ResetCounterLevelMapping*.\n",
        "properties": {
          "counters": {
            "description": "An array of counter ids.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "counters"
        ]
      },
      "ResetEntityPermissionsRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.ResetEntityPermissions*.\n",
        "properties": {
          "entity": {
            "description": "The entity on which permissions are updated.\n\n***Required privileges:*** Authorization.ModifyPermissions\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "permission": {
            "description": "The list of Permission objects that define\nthe new rules for access to the entity and\npotentially entities below it. If the list\nis empty, all permissions on the entity are removed.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Permission"
            }
          }
        },
        "required": [
          "entity"
        ]
      },
      "ResetListViewFromViewRequestType": {
        "type": "object",
        "description": "The parameters of *ListView.ResetListViewFromView*.\n",
        "properties": {
          "view": {
            "description": "The view to copy objects from.\n\nRefers instance of *View*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "view"
        ]
      },
      "ResetListViewRequestType": {
        "type": "object",
        "description": "The parameters of *ListView.ResetListView*.\n",
        "properties": {
          "obj": {
            "description": "The new list of objects.\n\n***Required privileges:*** System.View\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "ResignatureUnresolvedVmfsVolumeRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task*.\n",
        "properties": {
          "resolutionSpec": {
            "description": "A data object that describes what the disk\nextents to be used for creating the new\nVMFS volume.\n",
            "$ref": "#/components/schemas/HostUnresolvedVmfsResignatureSpec"
          }
        },
        "required": [
          "resolutionSpec"
        ]
      },
      "ResolveInstallationErrorsOnClusterRequestType": {
        "type": "object",
        "description": "The parameters of *IoFilterManager.ResolveInstallationErrorsOnCluster_Task*.\n",
        "properties": {
          "filterId": {
            "description": "ID of the filter.\n",
            "type": "string"
          },
          "cluster": {
            "description": "The cluster.\n\nRefers instance of *ClusterComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "filterId",
          "cluster"
        ]
      },
      "ResolveInstallationErrorsOnHostRequestType": {
        "type": "object",
        "description": "The parameters of *IoFilterManager.ResolveInstallationErrorsOnHost_Task*.\n",
        "properties": {
          "filterId": {
            "description": "ID of the filter.\n",
            "type": "string"
          },
          "host": {
            "description": "The host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "filterId",
          "host"
        ]
      },
      "ResolveMultipleUnresolvedVmfsVolumesExRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumesEx_Task*.\n",
        "properties": {
          "resolutionSpec": {
            "description": "List of data object that describes what the disk\nextents to be used for creating the new\nVMFS volume.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUnresolvedVmfsResolutionSpec"
            }
          }
        },
        "required": [
          "resolutionSpec"
        ]
      },
      "ResolveMultipleUnresolvedVmfsVolumesRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumes*.\n",
        "properties": {
          "resolutionSpec": {
            "description": "List of data object that describes what the disk\nextents to be used for creating the new\nVMFS volume.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUnresolvedVmfsResolutionSpec"
            }
          }
        },
        "required": [
          "resolutionSpec"
        ]
      },
      "ResolveRequestType": {
        "type": "object",
        "description": "The parameters of *EamObject.Resolve*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "issueKey": {
            "description": "A non-empty array of issue keys.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "issueKey"
        ]
      },
      "RestartServiceConsoleVirtualNicRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.RestartServiceConsoleVirtualNic*.\n",
        "properties": {
          "device": {
            "type": "string"
          }
        },
        "required": [
          "device"
        ]
      },
      "RestartServiceRequestType": {
        "type": "object",
        "description": "The parameters of *HostServiceSystem.RestartService*.\n",
        "properties": {
          "id": {
            "description": "Service identifier\n(*HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key*).\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "RestoreFirmwareConfigurationRequestType": {
        "type": "object",
        "description": "The parameters of *HostFirmwareSystem.RestoreFirmwareConfiguration*.\n",
        "properties": {
          "force": {
            "description": "Forces application of the configuration even if the bundle\nis mismatched.\n",
            "type": "boolean"
          }
        },
        "required": [
          "force"
        ]
      },
      "RetrieveAnswerFileForProfileRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.RetrieveAnswerFileForProfile*.\n",
        "properties": {
          "host": {
            "description": "Host with which the answer file is associated.\n\n***Required privileges:*** Profile.Edit\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "applyProfile": {
            "description": "Profile configuration used to generate answer file\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          }
        },
        "required": [
          "host",
          "applyProfile"
        ]
      },
      "RetrieveAnswerFileRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.RetrieveAnswerFile*.\n",
        "properties": {
          "host": {
            "description": "Host with which the answer file is associated.\n\n***Required privileges:*** Profile.Edit\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ]
      },
      "RetrieveArgumentDescriptionRequestType": {
        "type": "object",
        "description": "The parameters of *EventManager.RetrieveArgumentDescription*.\n",
        "properties": {
          "eventTypeId": {
            "type": "string"
          }
        },
        "required": [
          "eventTypeId"
        ]
      },
      "RetrieveClientCertRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.RetrieveClientCert*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          }
        },
        "required": [
          "cluster"
        ]
      },
      "RetrieveClientCsrRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.RetrieveClientCsr*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          }
        },
        "required": [
          "cluster"
        ]
      },
      "RetrieveDiskPartitionInfoRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.RetrieveDiskPartitionInfo*.\n",
        "properties": {
          "devicePath": {
            "description": "An array of device path names that identify disks.\nSee *ScsiDisk*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "devicePath"
        ]
      },
      "RetrieveEntityPermissionsRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.RetrieveEntityPermissions*.\n",
        "properties": {
          "entity": {
            "description": "***Required privileges:*** System.Read\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "inherited": {
            "description": "Whether or not to include propagating permissions\ndefined by parent entities.\n",
            "type": "boolean"
          }
        },
        "required": [
          "entity",
          "inherited"
        ]
      },
      "RetrieveEntityScheduledTaskRequestType": {
        "type": "object",
        "description": "The parameters of *ScheduledTaskManager.RetrieveEntityScheduledTask*.\n",
        "properties": {
          "entity": {
            "description": "The entity. If null, all scheduled tasks are returned\nfor visible entities.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "RetrieveHostCustomizationsForProfileRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.RetrieveHostCustomizationsForProfile*.\n",
        "properties": {
          "hosts": {
            "description": "Hosts with which the answer files are associated.\n\n***Required privileges:*** Profile.Edit\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "applyProfile": {
            "description": "Profile configuration used to generate answer file\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          }
        },
        "required": [
          "applyProfile"
        ]
      },
      "RetrieveHostCustomizationsRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.RetrieveHostCustomizations*.\n",
        "properties": {
          "hosts": {
            "description": "Hosts with which the answer files are associated.\n\n***Required privileges:*** Profile.Edit\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "RetrieveHostSpecificationRequestType": {
        "type": "object",
        "description": "The parameters of *HostSpecificationManager.RetrieveHostSpecification*.\n",
        "properties": {
          "host": {
            "description": "The specified host whose host specification will be retrieved.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "fromHost": {
            "description": "Whether retrieve from the host.\n",
            "type": "boolean"
          }
        },
        "required": [
          "host",
          "fromHost"
        ]
      },
      "RetrieveKmipServerCertRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.RetrieveKmipServerCert*.\n",
        "properties": {
          "keyProvider": {
            "description": "\\[in\\] KMIP cluster in which the server is placed\nor will be created.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "server": {
            "description": "\\[in\\] KMIP server.\n",
            "$ref": "#/components/schemas/KmipServerInfo"
          }
        },
        "required": [
          "keyProvider",
          "server"
        ]
      },
      "RetrieveKmipServersStatusRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.RetrieveKmipServersStatus_Task*.\n",
        "properties": {
          "clusters": {
            "description": "\\[in\\] KMIP clusters and their servers.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KmipClusterInfo"
            }
          }
        }
      },
      "RetrieveObjectScheduledTaskRequestType": {
        "type": "object",
        "description": "The parameters of *ScheduledTaskManager.RetrieveObjectScheduledTask*.\n",
        "properties": {
          "obj": {
            "description": "The object. If not specified, all scheduled tasks are returned\nfor visible entities and visible ManagedObjects.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "RetrievePropertiesExRequestType": {
        "type": "object",
        "description": "The parameters of *PropertyCollector.RetrievePropertiesEx*.\n",
        "properties": {
          "specSet": {
            "description": "Specifies the properties to retrieve.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyFilterSpec"
            }
          },
          "options": {
            "description": "Additional method options. If omitted, equivalent to an options\nargument with no fields set.\n",
            "$ref": "#/components/schemas/RetrieveOptions"
          }
        },
        "required": [
          "specSet",
          "options"
        ]
      },
      "RetrievePropertiesRequestType": {
        "type": "object",
        "description": "The parameters of *PropertyCollector.RetrieveProperties*.\n",
        "properties": {
          "specSet": {
            "description": "Specifies the properties to retrieve.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyFilterSpec"
            }
          }
        },
        "required": [
          "specSet"
        ]
      },
      "RetrieveRolePermissionsRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.RetrieveRolePermissions*.\n",
        "properties": {
          "roleId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "roleId"
        ]
      },
      "RetrieveSelfSignedClientCertRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.RetrieveSelfSignedClientCert*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          }
        },
        "required": [
          "cluster"
        ]
      },
      "RetrieveSnapshotDetailsRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RetrieveSnapshotDetails*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId"
        ]
      },
      "RetrieveSnapshotInfoRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RetrieveSnapshotInfo*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "RetrieveUserGroupsRequestType": {
        "type": "object",
        "description": "The parameters of *UserDirectory.RetrieveUserGroups*.\n",
        "properties": {
          "domain": {
            "description": "Domain to be searched. If not set, then the method searches\nthe local machine.\n",
            "type": "string"
          },
          "searchStr": {
            "description": "Case insensitive substring used to filter results;\nthe search string is compared to the login and full name for users,\nand the name and description for groups. Leave\nthis blank to match all users.\n",
            "type": "string"
          },
          "belongsToGroup": {
            "description": "If present, the returned list contains only users or groups\nthat directly belong to the specified group. Users or groups that\nhave indirect membership will not be included in the list.\n",
            "type": "string"
          },
          "belongsToUser": {
            "description": "If present, the returned list contains only groups that directly\ncontain the specified user. Groups that indirectly contain\nthe user will not be included in the list.\n",
            "type": "string"
          },
          "exactMatch": {
            "description": "Indicates the searchStr passed should match a user or\ngroup name exactly.\n",
            "type": "boolean"
          },
          "findUsers": {
            "description": "True, if users should be included in the result.\n",
            "type": "boolean"
          },
          "findGroups": {
            "description": "True, if groups should be included in the result.\n",
            "type": "boolean"
          }
        },
        "required": [
          "searchStr",
          "exactMatch",
          "findUsers",
          "findGroups"
        ]
      },
      "RetrieveVStorageInfrastructureObjectPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RetrieveVStorageInfrastructureObjectPolicy*.\n",
        "properties": {
          "datastore": {
            "description": "Datastore on which policy needs to be retrieved.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "RetrieveVStorageObjectAssociationsRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RetrieveVStorageObjectAssociations*.\n",
        "properties": {
          "ids": {
            "description": "The IDs of the virtual storage objects of the query.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RetrieveVStorageObjSpec"
            }
          }
        }
      },
      "RetrieveVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RetrieveVStorageObject*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be retrieved.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "diskInfoFlags": {
            "description": "Flags indicating the FCD information to be\nretrieved. If diskInfoFlags is unset, then all FCD\ninformation will be retrieved. See\n*vslmDiskInfoFlag_enum* for the list of\nsupported values.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "RetrieveVStorageObjectStateRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RetrieveVStorageObjectState*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object the state to be retrieved.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "ReverseReplicateGroupRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.ReverseReplicateGroup_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "Array of replication groups (currently in\n*FAILEDOVER* state) that need to be reversed.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          }
        }
      },
      "RevertToCurrentSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.RevertToCurrentSnapshot_Task*.\n",
        "properties": {
          "host": {
            "description": "(optional) Choice of host for the virtual machine,\nin case this operation causes the virtual machine to power on.\n\nIf a snapshot was taken while a virtual machine was powered on,\nand this operation is invoked after the virtual machine was\npowered off, the operation causes the virtual machine to power\non to reach the snapshot state. This parameter can be used to\nspecify a choice of host where the virtual machine should power\non.\n\nIf this parameter is not set, and the vBalance feature is\nconfigured for automatic load balancing, a host is\nautomatically selected. Otherwise, the virtual machine keeps\nits existing host affiliation.\n\nThis is not supported for virtual machines associated with hosts on ESX 2.x\nservers.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "suppressPowerOn": {
            "description": "(optional) If set to true, the virtual\nmachine will not be powered on regardless of the power state when\nthe current snapshot was created. Default to false.\n",
            "type": "boolean"
          }
        }
      },
      "RevertToSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineSnapshot.RevertToSnapshot_Task*.\n",
        "properties": {
          "host": {
            "description": "(optional) Choice of host for the virtual machine, in case this\noperation causes the virtual machine to power on.\n\nIf a snapshot was taken while a virtual machine was powered on, and this operation\nis invoked after the virtual machine was powered off, the operation causes the\nvirtual machine to power on to reach the snapshot state. This parameter can be\nused to specify a choice of host where the virtual machine should power on.\n\nIf this parameter is not set and the vBalance feature is configured for automatic\nload balancing, a host is automatically selected. Otherwise, the virtual machine\nkeeps its existing host affiliation.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "suppressPowerOn": {
            "description": "(optional) If set to true, the virtual\nmachine will not be powered on regardless of the power state when\nthe snapshot was created. Default to false.\n",
            "type": "boolean"
          }
        }
      },
      "RevertVStorageObjectExRequestType": {
        "type": "object",
        "description": "The parameters of *VStorageObjectManagerBase.RevertVStorageObjectEx_Task*.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId"
        ]
      },
      "RevertVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.RevertVStorageObject_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId"
        ]
      },
      "RunVsanPhysicalDiskDiagnosticsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.RunVsanPhysicalDiskDiagnostics*.\n",
        "properties": {
          "disks": {
            "description": "List of VSAN disk UUIDs. If specified restricts the\ndiagnostics run to VSAN disks present in the provided list.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ScanHostPatchRequestType": {
        "type": "object",
        "description": "The parameters of *HostPatchManager.ScanHostPatch_Task*.\n",
        "properties": {
          "repository": {
            "description": "Location of the repository that contains the\nbulletin depot. The depot must be organized as a flat\ncollection of bulletins with each one being a folder named\nafter the bulletin ID. Each folder must contain the full\nupdate metadata.\n",
            "$ref": "#/components/schemas/HostPatchManagerLocator"
          },
          "updateID": {
            "description": "The updates to scan. Wildcards can be used to specify\nthe update IDs. The wildcards will be expanded to include all\nupdates whose IDs match the specified wildcard and whose metadata\nis available in the repository. Specifying no update is\nequivalent to a wildcard \"\\*\". In this case all updates available\nin the repository will be scanned.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "repository"
        ]
      },
      "ScanHostPatchV2RequestType": {
        "type": "object",
        "description": "The parameters of *HostPatchManager.ScanHostPatchV2_Task*.\n",
        "properties": {
          "metaUrls": {
            "description": "a list of urls pointing to metadata.zip.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "bundleUrls": {
            "description": "a list of urls pointing to an \"offline\" bundle. It is not supported in 5.0 or later.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "spec": {
            "$ref": "#/components/schemas/HostPatchManagerPatchManagerOperationSpec"
          }
        }
      },
      "ScheduleReconcileDatastoreInventoryRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.ScheduleReconcileDatastoreInventory*.\n",
        "properties": {
          "datastore": {
            "description": "The datastore that needs to be reconciled.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "SearchDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreBrowser.SearchDatastore_Task*.\n",
        "properties": {
          "datastorePath": {
            "type": "string"
          },
          "searchSpec": {
            "$ref": "#/components/schemas/HostDatastoreBrowserSearchSpec"
          }
        },
        "required": [
          "datastorePath"
        ]
      },
      "SearchDatastoreSubFoldersRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreBrowser.SearchDatastoreSubFolders_Task*.\n",
        "properties": {
          "datastorePath": {
            "type": "string"
          },
          "searchSpec": {
            "$ref": "#/components/schemas/HostDatastoreBrowserSearchSpec"
          }
        },
        "required": [
          "datastorePath"
        ]
      },
      "SelectActivePartitionRequestType": {
        "type": "object",
        "description": "The parameters of *HostDiagnosticSystem.SelectActivePartition*.\n",
        "properties": {
          "partition": {
            "$ref": "#/components/schemas/HostScsiDiskPartition"
          }
        }
      },
      "SelectVnicForNicTypeRequestType": {
        "type": "object",
        "description": "The parameters of *HostVirtualNicManager.SelectVnicForNicType*.\n",
        "properties": {
          "nicType": {
            "description": "The type of VirtualNic that would be selected\n",
            "type": "string"
          },
          "device": {
            "description": "The device that uniquely identifies the VirtualNic.\n",
            "type": "string"
          }
        },
        "required": [
          "nicType",
          "device"
        ]
      },
      "SelectVnicRequestType": {
        "type": "object",
        "description": "The parameters of *HostVMotionSystem.SelectVnic*.\n",
        "properties": {
          "device": {
            "description": "The device that uniquely identifies the VirtualNic.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ]
      },
      "SessionIsActiveRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.SessionIsActive*.\n",
        "properties": {
          "sessionID": {
            "description": "Session ID to validate.\n",
            "type": "string"
          },
          "userName": {
            "description": "User name to validate.\n",
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "userName"
        ]
      },
      "SetCollectorPageSizeRequestType": {
        "type": "object",
        "description": "The parameters of *HistoryCollector.SetCollectorPageSize*.\n",
        "properties": {
          "maxCount": {
            "description": "The maximum number of items in the page.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxCount"
        ]
      },
      "SetCryptoModeRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.SetCryptoMode*.\n",
        "properties": {
          "cryptoMode": {
            "description": "The encryption mode for the cluster.\nSee *ClusterCryptoConfigInfoCryptoMode_enum* for\nsupported values. An empty string is treated as a valid\ninput and will be interpreted as\n*onDemand*.\n",
            "type": "string"
          },
          "policy": {
            "description": "The encryption mode policy for the cluster. When no policy\nis specified, host keys will be automcatically generated\nusing the current default key provider.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/ClusterComputeResourceCryptoModePolicy"
          }
        },
        "required": [
          "cryptoMode"
        ]
      },
      "SetDefaultKmsClusterRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.SetDefaultKmsCluster*.\n",
        "properties": {
          "entity": {
            "description": "\\[in\\] The managed entity where the default KMS cluster to be\nset. Currently the valid managed entity could be\ncluster or host folder.\nIf omitted, then will set global default KMS cluster.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "clusterId": {
            "description": "\\[in\\] KMS cluster ID to become default.\nIf omitted, then will clear the default KMS cluster\nsetting.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          }
        }
      },
      "SetDisplayTopologyRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.SetDisplayTopology*.\n",
        "properties": {
          "displays": {
            "description": "The topology for each monitor that the\nvirtual machine's display must span.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDisplayTopology"
            }
          }
        },
        "required": [
          "displays"
        ]
      },
      "SetEntityPermissionsRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.SetEntityPermissions*.\n",
        "properties": {
          "entity": {
            "description": "The entity on which to set permissions.\n\n***Required privileges:*** Authorization.ModifyPermissions\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "permission": {
            "description": "An array of specifications for permissions on the entity.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Permission"
            }
          }
        },
        "required": [
          "entity"
        ]
      },
      "SetExtensionCertificateRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensionManager.SetExtensionCertificate*.\n",
        "properties": {
          "extensionKey": {
            "description": "Key of extension to update.\n",
            "type": "string"
          },
          "certificatePem": {
            "description": "PEM encoded certificate. If not specified, the\ncertificate passed over SSL handshake is used.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey"
        ]
      },
      "SetFieldRequestType": {
        "type": "object",
        "description": "The parameters of *CustomFieldsManager.SetField*.\n",
        "properties": {
          "entity": {
            "description": "***Required privileges:*** Global.SetCustomField\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "key": {
            "type": "integer",
            "format": "int32"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "entity",
          "key",
          "value"
        ]
      },
      "SetKeyCustomAttributesRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.SetKeyCustomAttributes*.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "keyId": {
            "description": "\\[in\\] The crypto Key Id.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "spec": {
            "description": "\\[in\\] The spec that contains custom attributes key/value pairs.\n",
            "$ref": "#/components/schemas/CryptoManagerKmipCustomAttributeSpec"
          }
        },
        "required": [
          "keyId",
          "spec"
        ]
      },
      "SetLicenseEditionRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.SetLicenseEdition*.\n",
        "properties": {
          "host": {
            "description": "Host to act on if LicenseManager is not on a host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "featureKey": {
            "description": "Name of edition feature to select. If featureKey is not\nset or set to empty string, the product becomes unlicensed.\n",
            "type": "string"
          }
        }
      },
      "SetLocaleRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.SetLocale*.\n",
        "properties": {
          "locale": {
            "description": "A two-character ISO-639 language ID (like \"en\")\noptionally followed by an\nunderscore and a two-character ISO 3166 country ID (like \"US\").\n\nExamples are \"de\", \"fr\\_CA\", \"zh\", \"zh\\_CN\", and \"zh\\_TW\".\nNote: The method uses the server default locale when\na locale is not provided. This default can be configured in the\nserver configuration file. If unspecified, it defaults to the\nlocale of the server environment or English (\"en\") if unsupported.\n",
            "type": "string"
          }
        },
        "required": [
          "locale"
        ]
      },
      "SetMaintenanceModePolicyRequestType": {
        "type": "object",
        "description": "The parameters of *EsxAgentManager.SetMaintenanceModePolicy*.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 7.4\n",
        "properties": {
          "policy": {
            "description": "The policy to use.\n",
            "type": "string"
          }
        },
        "required": [
          "policy"
        ]
      },
      "SetMaxQueueDepthRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.SetMaxQueueDepth*.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "datastore": {
            "description": "The NFS datastore which need to set max queue depth\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "maxQdepth": {
            "description": "Max queue depth value for a datastore\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "datastore",
          "maxQdepth"
        ]
      },
      "SetMultipathLunPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.SetMultipathLunPolicy*.\n",
        "properties": {
          "lunId": {
            "description": "The logical unit ID\n",
            "type": "string"
          },
          "policy": {
            "description": "A data object that describes a path selection policy for\nthe logical unit.\n",
            "$ref": "#/components/schemas/HostMultipathInfoLogicalUnitPolicy"
          }
        },
        "required": [
          "lunId",
          "policy"
        ]
      },
      "SetNFSUserRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.SetNFSUser*.\n",
        "properties": {
          "user": {
            "description": "User to be saved on the the esx host\n",
            "type": "string"
          },
          "password": {
            "description": "Password for the user.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "user",
          "password"
        ]
      },
      "SetPublicKeyRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensionManager.SetPublicKey*.\n",
        "properties": {
          "extensionKey": {
            "description": "Key of extension to update.\n",
            "type": "string"
          },
          "publicKey": {
            "description": "Public key of extension, encoded\nin PEM (privacy-enhanced mail) format.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey",
          "publicKey"
        ]
      },
      "SetRegistryValueInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestWindowsRegistryManager.SetRegistryValueInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Modify\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "value": {
            "description": "The information for the registry value to be set/created.\nThe Value \"name\" (specified in\n*GuestRegValueNameSpec*)\nand the Value \"data\" (specified in\n*GuestRegValueSpec*)\ncan both be empty. If \"name\" is empty, it sets the value for\nthe unnamed or default value of the given key.\n",
            "$ref": "#/components/schemas/GuestRegValueSpec"
          }
        },
        "required": [
          "vm",
          "auth",
          "value"
        ]
      },
      "SetScreenResolutionRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.SetScreenResolution*.\n",
        "properties": {
          "width": {
            "description": "The screen width that should be set.\n",
            "type": "integer",
            "format": "int32"
          },
          "height": {
            "description": "The screen height that should be set.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "width",
          "height"
        ]
      },
      "SetServiceAccountRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensionManager.SetServiceAccount*.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "extensionKey": {
            "description": "Key of extension to update.\n",
            "type": "string"
          },
          "serviceAccount": {
            "description": "account name qualified with SSO domain.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey",
          "serviceAccount"
        ]
      },
      "SetTaskDescriptionRequestType": {
        "type": "object",
        "description": "The parameters of *Task.SetTaskDescription*.\n",
        "properties": {
          "description": {
            "description": "New description for task\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          }
        },
        "required": [
          "description"
        ]
      },
      "SetTaskStateRequestType": {
        "type": "object",
        "description": "The parameters of *Task.SetTaskState*.\n",
        "properties": {
          "state": {
            "description": "New state for task\n",
            "$ref": "#/components/schemas/TaskInfoState_enum"
          },
          "result": {
            "description": "Result to set, valid only if task state is\nTaskInfo.State.success\n",
            "$ref": "#/components/schemas/Any"
          },
          "fault": {
            "description": "Fault to set, valid only if task state is\n*error*. The fault must be a of a fault type that\ndirectly or indirectly extends *VimFault*.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "state"
        ]
      },
      "SetVStorageObjectControlFlagsRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.SetVStorageObjectControlFlags*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage\nobject is located.\n\n***Required privileges:*** Datastore.FileManagement\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "controlFlags": {
            "description": "control flags enum array to be set on the\nVStorageObject. All control flags not included\nin the array remain intact.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "SetVirtualDiskUuidExRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.SetVirtualDiskUuidEx_Task*.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk whose uuid for the DDB entry needs to be set.\nA datastore path has the form\n> \\[_datastore_\\] _path_\n\nwhere\n- _datastore_ is the datastore name.\n- _path_ is a slash-delimited path from the root of the datastore.\n\nAn example datastore path is \"\\[storage\\] path/to/file.extension\".\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path is mandatory. Not needed when invoked directly on ESX.\nIf not specified on a call from VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "uuid": {
            "description": "The hex representation of the unique ID for this virtual disk. If uuid is not set or missing,\na random UUID is generated and assigned.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "SetVirtualDiskUuidRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.SetVirtualDiskUuid*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk whose SCSI inquiry page 0x83\ndata should be set.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "uuid": {
            "description": "The hex representation of the unique ID for this virtual disk.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "uuid"
        ]
      },
      "ShrinkVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.ShrinkVirtualDisk_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk that should be shrink.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "copy": {
            "description": "If true or omitted, performs shrink in copy-shrink mode, otherwise\nshrink in in-place mode.\n",
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "ShutdownHostRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.ShutdownHost_Task*.\n",
        "properties": {
          "force": {
            "description": "Flag to specify whether or not the host should be shut down\nregardless of whether it is in maintenance mode.\nIf true, the host is shut down, even if there are\nvirtual machines running or other operations in progress.\n",
            "type": "boolean"
          }
        },
        "required": [
          "force"
        ]
      },
      "SmsRefreshCACertificatesAndCRLsRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.SmsRefreshCACertificatesAndCRLs_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "providerId": {
            "description": "*SmsProviderInfo.uid* for providers\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "StageHostPatchRequestType": {
        "type": "object",
        "description": "The parameters of *HostPatchManager.StageHostPatch_Task*.\n",
        "properties": {
          "metaUrls": {
            "description": "A list of urls pointing to metadata.zip.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "bundleUrls": {
            "description": "a list of urls pointing to an \"offline\" bundle. It is not supported in 5.0 or later.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vibUrls": {
            "description": "The urls of update binary files to be staged.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "spec": {
            "$ref": "#/components/schemas/HostPatchManagerPatchManagerOperationSpec"
          }
        }
      },
      "StartGuestNetworkRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachineGuestCustomizationManager.StartGuestNetwork_Task*.\n",
        "properties": {
          "vm": {
            "description": "The Virtual Machine managed object reference.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          }
        },
        "required": [
          "vm",
          "auth"
        ]
      },
      "StartProgramInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestProcessManager.StartProgramInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Execute\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "spec": {
            "description": "The arguments describing the program to be started.\n",
            "$ref": "#/components/schemas/GuestProgramSpec"
          }
        },
        "required": [
          "vm",
          "auth",
          "spec"
        ]
      },
      "StartRecordingRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.StartRecording_Task*.\n",
        "properties": {
          "name": {
            "description": "The name for the snapshot associated with this recording.\nThe name need not be unique for this virtual machine.\n",
            "type": "string"
          },
          "description": {
            "description": "A description for the snapshot associated with this\nrecording. If omitted, a default description may be provided.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "StartReplayingRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.StartReplaying_Task*.\n",
        "properties": {
          "replaySnapshot": {
            "description": "The snapshot from which to start the replay. This\nsnapshot must have been created by a record operation on the\nvirtual machine.\n\nRefers instance of *VirtualMachineSnapshot*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "replaySnapshot"
        ]
      },
      "StartServiceRequestType": {
        "type": "object",
        "description": "The parameters of *HostServiceSystem.StartService*.\n",
        "properties": {
          "id": {
            "description": "Service identifier\n(*HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key*).\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "StopServiceRequestType": {
        "type": "object",
        "description": "The parameters of *HostServiceSystem.StopService*.\n",
        "properties": {
          "id": {
            "description": "Service identifier\n(*HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key*).\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "SyncReplicationGroupRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.SyncReplicationGroup_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "List of replication group IDs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          },
          "pitName": {
            "description": "Localized name for the point-in-time snapshot created.\n",
            "type": "string"
          }
        },
        "required": [
          "pitName"
        ]
      },
      "TerminateFaultTolerantVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.TerminateFaultTolerantVM_Task*.\n",
        "properties": {
          "vm": {
            "description": "The secondary virtual machine specified will be terminated, allowing\nfault tolerance to activate. If no virtual machine is specified,\nall secondary virtual machines will be terminated. If vm is a\nprimary, InvalidArgument exception is thrown.\nThis field must specify a virtual machine that is part of the fault\ntolerant group that this virtual machine is currently associated with. It can\nonly be invoked from the primary virtual machine in the group. If the primary\nvirtual machine is terminated, an available secondary virtual machine will be\npromoted to primary. If no secondary exists, an exception will be thrown and\nthe primary virtual machine will not be terminated. If a secondary virtual\nmachine is terminated, it may be respawned on a potentially different host.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "TerminateProcessInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestProcessManager.TerminateProcessInGuest*.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Execute\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "pid": {
            "description": "Process ID of the process to be terminated\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "vm",
          "auth",
          "pid"
        ]
      },
      "TerminateSessionRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.TerminateSession*.\n",
        "properties": {
          "sessionId": {
            "description": "A list of sessions to terminate.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "sessionId"
        ]
      },
      "TestFailoverReplicationGroupStartRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.TestFailoverReplicationGroupStart_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "testFailoverParam": {
            "description": "Settings for the failover.\n",
            "$ref": "#/components/schemas/TestFailoverParam"
          }
        },
        "required": [
          "testFailoverParam"
        ]
      },
      "TestFailoverReplicationGroupStopRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.TestFailoverReplicationGroupStop_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "Array of replication groups that need to stop test.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          },
          "force": {
            "description": "\\- if true, VP should force-unbind all Virtual Volumes\nand move the RG from INTEST to TARGET state. If false, VP will report all the\nVirtual Volumes which need to be cleaned up before a failover operation\ncan be triggered. The default value will be false.\n",
            "type": "boolean"
          }
        },
        "required": [
          "force"
        ]
      },
      "TurnDiskLocatorLedOffRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.TurnDiskLocatorLedOff_Task*.\n",
        "properties": {
          "scsiDiskUuids": {
            "description": "The SCSI disk UUIDs for which the disk locator LED\nshould be turned off.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "scsiDiskUuids"
        ]
      },
      "TurnDiskLocatorLedOnRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.TurnDiskLocatorLedOn_Task*.\n",
        "properties": {
          "scsiDiskUuids": {
            "description": "The SCSI disk UUIDs for which the disk locator LED\nshould be turned on.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "scsiDiskUuids"
        ]
      },
      "UnassignUserFromGroupRequestType": {
        "type": "object",
        "description": "The parameters of *HostLocalAccountManager.UnassignUserFromGroup*.\n",
        "properties": {
          "user": {
            "description": "User being unassigned from group.\n",
            "type": "string"
          },
          "group": {
            "description": "Group from which the user is being removed.\n",
            "type": "string"
          }
        },
        "required": [
          "user",
          "group"
        ]
      },
      "UnbindVnicRequestType": {
        "type": "object",
        "description": "The parameters of *IscsiManager.UnbindVnic*.\n",
        "properties": {
          "iScsiHbaName": {
            "description": "iSCSI adapter name for which the Virtual NIC to\nbe removed.\n",
            "type": "string"
          },
          "vnicDevice": {
            "description": "Virtual NIC that is to be removed from the iSCSI HBA\n",
            "type": "string"
          },
          "force": {
            "type": "boolean"
          }
        },
        "required": [
          "iScsiHbaName",
          "vnicDevice",
          "force"
        ]
      },
      "UninstallHostPatchRequestType": {
        "type": "object",
        "description": "The parameters of *HostPatchManager.UninstallHostPatch_Task*.\n",
        "properties": {
          "bulletinIds": {
            "description": "A list of bulletin IDs to be removed.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "spec": {
            "$ref": "#/components/schemas/HostPatchManagerPatchManagerOperationSpec"
          }
        }
      },
      "UninstallIoFilterRequestType": {
        "type": "object",
        "description": "The parameters of *IoFilterManager.UninstallIoFilter_Task*.\n",
        "properties": {
          "filterId": {
            "description": "ID of the filter.\n",
            "type": "string"
          },
          "compRes": {
            "description": "The compute resource to uninstall the IO Filter from.\n\"compRes\" must be a cluster.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "filterId",
          "compRes"
        ]
      },
      "UninstallServiceRequestType": {
        "type": "object",
        "description": "The parameters of *HostServiceSystem.UninstallService*.\n",
        "properties": {
          "id": {
            "description": "Service identifier\n(*HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key*).\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "UnmapVmfsVolumeExRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UnmapVmfsVolumeEx_Task*.\n",
        "properties": {
          "vmfsUuid": {
            "description": "each element specifies the UUID of a VMFS volume to be unmapped.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vmfsUuid"
        ]
      },
      "UnmarkServiceProviderEntitiesRequestType": {
        "type": "object",
        "description": "The parameters of *TenantTenantManager.UnmarkServiceProviderEntities*.\n",
        "properties": {
          "entity": {
            "description": "an array of management entities.\n\n***Required privileges:*** TenantManager.Update\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "UnmountDiskMappingRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanSystem.UnmountDiskMapping_Task*.\n",
        "properties": {
          "mapping": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskMapping"
            }
          }
        },
        "required": [
          "mapping"
        ]
      },
      "UnmountForceMountedVmfsVolumeRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UnmountForceMountedVmfsVolume*.\n",
        "properties": {
          "vmfsUuid": {
            "type": "string"
          }
        },
        "required": [
          "vmfsUuid"
        ]
      },
      "UnmountVffsVolumeRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UnmountVffsVolume*.\n",
        "properties": {
          "vffsUuid": {
            "type": "string"
          }
        },
        "required": [
          "vffsUuid"
        ]
      },
      "UnmountVmfsVolumeExRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UnmountVmfsVolumeEx_Task*.\n",
        "properties": {
          "vmfsUuid": {
            "description": "each element specifies the UUID of a VMFS volume to be unmounted.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vmfsUuid"
        ]
      },
      "UnmountVmfsVolumeRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UnmountVmfsVolume*.\n",
        "properties": {
          "vmfsUuid": {
            "type": "string"
          }
        },
        "required": [
          "vmfsUuid"
        ]
      },
      "UnregisterAgentVmRequestType": {
        "type": "object",
        "description": "The parameters of *Agency.UnregisterAgentVm*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "agentVm": {
            "description": "The managed object reference to the agent VM.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "agentVm"
        ]
      },
      "UnregisterExtensionRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensionManager.UnregisterExtension*.\n",
        "properties": {
          "extensionKey": {
            "description": "Unique name of extension to unregister.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey"
        ]
      },
      "UnregisterHealthUpdateProviderRequestType": {
        "type": "object",
        "description": "The parameters of *HealthUpdateManager.UnregisterHealthUpdateProvider*.\n",
        "properties": {
          "providerId": {
            "description": "The provider id.\n",
            "type": "string"
          }
        },
        "required": [
          "providerId"
        ]
      },
      "UnregisterKmsClusterRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.UnregisterKmsCluster*.\n",
        "properties": {
          "clusterId": {
            "description": "\\[in\\] KMS cluster ID to unregister.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          }
        },
        "required": [
          "clusterId"
        ]
      },
      "UnregisterProviderRequestType": {
        "type": "object",
        "description": "The parameters of *SmsStorageManager.UnregisterProvider_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "providerId": {
            "description": "*SmsProviderInfo.uid* for\nthe provider\n",
            "type": "string"
          }
        },
        "required": [
          "providerId"
        ]
      },
      "UpdateAnswerFileRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.UpdateAnswerFile_Task*.\n",
        "properties": {
          "host": {
            "description": "Host with which the answer file is associated.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "configSpec": {
            "description": "Host-specific configuration data. If the configuration\nspecification does not contain any host-specific user input\n(<code>configSpec</code>.*AnswerFileOptionsCreateSpec.userInput*),\nthe method does not perform any operation on the answer file.\n",
            "$ref": "#/components/schemas/AnswerFileCreateSpec"
          }
        },
        "required": [
          "host",
          "configSpec"
        ]
      },
      "UpdateAssignableHardwareConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostAssignableHardwareManager.UpdateAssignableHardwareConfig*.\n",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/HostAssignableHardwareConfig"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateAssignedLicenseRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseAssignmentManager.UpdateAssignedLicense*.\n",
        "properties": {
          "entity": {
            "description": "ID of the entity. E.g. HostSystem.\n",
            "type": "string"
          },
          "licenseKey": {
            "description": "A license.\n",
            "type": "string"
          },
          "entityDisplayName": {
            "description": "Display name for the entity\n",
            "type": "string"
          }
        },
        "required": [
          "entity",
          "licenseKey"
        ]
      },
      "UpdateAuthorizationRoleRequestType": {
        "type": "object",
        "description": "The parameters of *AuthorizationManager.UpdateAuthorizationRole*.\n",
        "properties": {
          "roleId": {
            "description": "The ID of the role that is updated.\n",
            "type": "integer",
            "format": "int32"
          },
          "newName": {
            "description": "The new name for the role.\n",
            "type": "string"
          },
          "privIds": {
            "description": "The new set of privileges to assign to the role.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "roleId",
          "newName"
        ]
      },
      "UpdateBootDeviceRequestType": {
        "type": "object",
        "description": "The parameters of *HostBootDeviceSystem.UpdateBootDevice*.\n",
        "properties": {
          "key": {
            "description": "The *HostBootDevice.key* of the\n*HostBootDevice* from which the host will boot.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ]
      },
      "UpdateChildResourceConfigurationRequestType": {
        "type": "object",
        "description": "The parameters of *ResourcePool.UpdateChildResourceConfiguration*.\n",
        "properties": {
          "spec": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceConfigSpec"
            }
          }
        },
        "required": [
          "spec"
        ]
      },
      "UpdateClusterProfileRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterProfile.UpdateClusterProfile*.\n",
        "properties": {
          "config": {
            "description": "Specification which describes the changes.\n",
            "$ref": "#/components/schemas/ClusterProfileConfigSpec"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateConfigRequestType": {
        "type": "object",
        "description": "The parameters of *ResourcePool.UpdateConfig*.\n",
        "properties": {
          "name": {
            "description": "If set, then the new name of the resource pool.\n",
            "type": "string"
          },
          "config": {
            "description": "If set, then the new resource allocation for this\nresource pool.\n",
            "$ref": "#/components/schemas/ResourceConfigSpec"
          }
        }
      },
      "UpdateConsoleIpRouteConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdateConsoleIpRouteConfig*.\n",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/HostIpRouteConfig"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateCounterLevelMappingRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.UpdateCounterLevelMapping*.\n",
        "properties": {
          "counterLevelMap": {
            "description": "An array of *PerformanceManagerCounterLevelMapping* objects. The\nlevels for the counters passed in are changed to the passed in values. If\nthe optional aggregateLevel field is left unset then only the\nperDeviceLevel is configured. If the optional perDeviceLevel is left\nunset then only the aggregateLevel is configured. If there are multiple\nentries in the passed in array for the same counterId being updated then\nthe last entry containing the counterId takes effect.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerformanceManagerCounterLevelMapping"
            }
          }
        },
        "required": [
          "counterLevelMap"
        ]
      },
      "UpdateDVSHealthCheckConfigRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.UpdateDVSHealthCheckConfig_Task*.\n",
        "properties": {
          "healthCheckConfig": {
            "description": "The health check configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSHealthCheckConfig"
            }
          }
        },
        "required": [
          "healthCheckConfig"
        ]
      },
      "UpdateDVSLacpGroupConfigRequestType": {
        "type": "object",
        "description": "The parameters of *VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task*.\n",
        "properties": {
          "lacpGroupSpec": {
            "description": "The Link Aggregation Control Protocol groups to be configured.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsLacpGroupSpec"
            }
          }
        },
        "required": [
          "lacpGroupSpec"
        ]
      },
      "UpdateDateTimeConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostDateTimeSystem.UpdateDateTimeConfig*.\n",
        "properties": {
          "config": {
            "description": "The new DateTime configuration information.\n",
            "$ref": "#/components/schemas/HostDateTimeConfig"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateDateTimeRequestType": {
        "type": "object",
        "description": "The parameters of *HostDateTimeSystem.UpdateDateTime*.\n",
        "properties": {
          "dateTime": {
            "description": "DateTime to update the host to.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "dateTime"
        ]
      },
      "UpdateDefaultPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *HostFirewallSystem.UpdateDefaultPolicy*.\n",
        "properties": {
          "defaultPolicy": {
            "$ref": "#/components/schemas/HostFirewallDefaultPolicy"
          }
        },
        "required": [
          "defaultPolicy"
        ]
      },
      "UpdateDiskPartitionsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateDiskPartitions*.\n",
        "properties": {
          "devicePath": {
            "description": "The name of the device path for the specific disk.\n",
            "type": "string"
          },
          "spec": {
            "description": "A data object that describes the disk partition table\nspecification used to configure the partitions on a disk.\n",
            "$ref": "#/components/schemas/HostDiskPartitionSpec"
          }
        },
        "required": [
          "devicePath",
          "spec"
        ]
      },
      "UpdateDnsConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdateDnsConfig*.\n",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/HostDnsConfig"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateDvsCapabilityRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.UpdateDvsCapability*.\n",
        "properties": {
          "capability": {
            "description": "The capability of the switch.\n",
            "$ref": "#/components/schemas/DVSCapability"
          }
        },
        "required": [
          "capability"
        ]
      },
      "UpdateExtensionRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensionManager.UpdateExtension*.\n",
        "properties": {
          "extension": {
            "description": "Updated extension description.\n",
            "$ref": "#/components/schemas/Extension"
          }
        },
        "required": [
          "extension"
        ]
      },
      "UpdateFlagsRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.UpdateFlags*.\n",
        "properties": {
          "flagInfo": {
            "$ref": "#/components/schemas/HostFlagInfo"
          }
        },
        "required": [
          "flagInfo"
        ]
      },
      "UpdateGraphicsConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostGraphicsManager.UpdateGraphicsConfig*.\n",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/HostGraphicsConfig"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateHostImageAcceptanceLevelRequestType": {
        "type": "object",
        "description": "The parameters of *HostImageConfigManager.UpdateHostImageAcceptanceLevel*.\n",
        "properties": {
          "newAcceptanceLevel": {
            "description": "the new AcceptanceLevel to set.\n",
            "type": "string"
          }
        },
        "required": [
          "newAcceptanceLevel"
        ]
      },
      "UpdateHostProfileRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfile.UpdateHostProfile*.\n",
        "properties": {
          "config": {
            "description": "Specification containing the new data.\n",
            "$ref": "#/components/schemas/HostProfileConfigSpec"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateHostSpecificationRequestType": {
        "type": "object",
        "description": "The parameters of *HostSpecificationManager.UpdateHostSpecification*.\n",
        "properties": {
          "host": {
            "description": "The host whose specification will be updated.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostSpec": {
            "description": "The new host specification to be updated with.\n",
            "$ref": "#/components/schemas/HostSpecification"
          }
        },
        "required": [
          "host",
          "hostSpec"
        ]
      },
      "UpdateHostSubSpecificationRequestType": {
        "type": "object",
        "description": "The parameters of *HostSpecificationManager.UpdateHostSubSpecification*.\n",
        "properties": {
          "host": {
            "description": "The host whose specification will be updated.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostSubSpec": {
            "description": "The data object for the new host sub specification.\n",
            "$ref": "#/components/schemas/HostSubSpecification"
          }
        },
        "required": [
          "host",
          "hostSubSpec"
        ]
      },
      "UpdateHppMultipathLunPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateHppMultipathLunPolicy*.\n",
        "properties": {
          "lunId": {
            "description": "The logical unit ID\n",
            "type": "string"
          },
          "policy": {
            "description": "A data object that describes a path selection policy and\nits configuration for the logical unit.\n",
            "$ref": "#/components/schemas/HostMultipathInfoHppLogicalUnitPolicy"
          }
        },
        "required": [
          "lunId",
          "policy"
        ]
      },
      "UpdateInternetScsiAdvancedOptionsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateInternetScsiAdvancedOptions*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "targetSet": {
            "description": "The set the targets to configure. If not provided,\nthe settings will be applied to the host bus adapter itself.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaTargetSet"
          },
          "options": {
            "description": "The list of options to set.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaParamValue"
            }
          }
        },
        "required": [
          "iScsiHbaDevice",
          "options"
        ]
      },
      "UpdateInternetScsiAliasRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateInternetScsiAlias*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "iScsiAlias": {
            "description": "The new value for the alias of the adapter.\n",
            "type": "string"
          }
        },
        "required": [
          "iScsiHbaDevice",
          "iScsiAlias"
        ]
      },
      "UpdateInternetScsiAuthenticationPropertiesRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateInternetScsiAuthenticationProperties*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\nassociated with the target.\n",
            "type": "string"
          },
          "authenticationProperties": {
            "description": "The data object that represents\nthe authentication settings to set.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaAuthenticationProperties"
          },
          "targetSet": {
            "description": "The set the targets to configure. Optional,\nwhen obmitted will configura the authentication properties\nfor the adapter instead.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaTargetSet"
          }
        },
        "required": [
          "iScsiHbaDevice",
          "authenticationProperties"
        ]
      },
      "UpdateInternetScsiDigestPropertiesRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateInternetScsiDigestProperties*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "targetSet": {
            "description": "The set the targets to configure. If not provided,\nthe settings will be applied to the host bus adapter itself.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaTargetSet"
          },
          "digestProperties": {
            "description": "The data object that represents the digest\nsettings to set.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaDigestProperties"
          }
        },
        "required": [
          "iScsiHbaDevice",
          "digestProperties"
        ]
      },
      "UpdateInternetScsiDiscoveryPropertiesRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateInternetScsiDiscoveryProperties*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "discoveryProperties": {
            "description": "The discovery settings for this host bus adapter.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaDiscoveryProperties"
          }
        },
        "required": [
          "iScsiHbaDevice",
          "discoveryProperties"
        ]
      },
      "UpdateInternetScsiIPPropertiesRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateInternetScsiIPProperties*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The device of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "ipProperties": {
            "description": "A data object representing the IP properties\nfor the host bus adapter\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaIPProperties"
          }
        },
        "required": [
          "iScsiHbaDevice",
          "ipProperties"
        ]
      },
      "UpdateInternetScsiNameRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateInternetScsiName*.\n",
        "properties": {
          "iScsiHbaDevice": {
            "description": "The current name of the Internet SCSI HBA adapter.\n",
            "type": "string"
          },
          "iScsiName": {
            "description": "The new name for the Internet SCSI HBA adapter\n",
            "type": "string"
          }
        },
        "required": [
          "iScsiHbaDevice",
          "iScsiName"
        ]
      },
      "UpdateIpConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostVMotionSystem.UpdateIpConfig*.\n",
        "properties": {
          "ipConfig": {
            "$ref": "#/components/schemas/HostIpConfig"
          }
        },
        "required": [
          "ipConfig"
        ]
      },
      "UpdateIpPoolRequestType": {
        "type": "object",
        "description": "The parameters of *IpPoolManager.UpdateIpPool*.\n",
        "properties": {
          "dc": {
            "description": "The datacenter on which to look up the pool.\n\n***Required privileges:*** Datacenter.IpPoolConfig\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pool": {
            "description": "The IP pool to update on the server\n",
            "$ref": "#/components/schemas/IpPool"
          }
        },
        "required": [
          "dc",
          "pool"
        ]
      },
      "UpdateIpRouteConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdateIpRouteConfig*.\n",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/HostIpRouteConfig"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateIpRouteTableConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdateIpRouteTableConfig*.\n",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/HostIpRouteTableConfig"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateIpmiRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.UpdateIpmi*.\n",
        "properties": {
          "ipmiInfo": {
            "$ref": "#/components/schemas/HostIpmiInfo"
          }
        },
        "required": [
          "ipmiInfo"
        ]
      },
      "UpdateKmipServerRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.UpdateKmipServer*.\n",
        "properties": {
          "server": {
            "description": "\\[in\\] KMIP server connection information.\n",
            "$ref": "#/components/schemas/KmipServerSpec"
          }
        },
        "required": [
          "server"
        ]
      },
      "UpdateKmsSignedCsrClientCertRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.UpdateKmsSignedCsrClientCert*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "certificate": {
            "description": "\\[in\\] Client certificate.\n",
            "type": "string"
          }
        },
        "required": [
          "cluster",
          "certificate"
        ]
      },
      "UpdateLicenseLabelRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.UpdateLicenseLabel*.\n",
        "properties": {
          "licenseKey": {
            "description": "A license.\n",
            "type": "string"
          },
          "labelKey": {
            "description": "A label key.\n",
            "type": "string"
          },
          "labelValue": {
            "description": "Value for the label.\n",
            "type": "string"
          }
        },
        "required": [
          "licenseKey",
          "labelKey",
          "labelValue"
        ]
      },
      "UpdateLicenseRequestType": {
        "type": "object",
        "description": "The parameters of *LicenseManager.UpdateLicense*.\n",
        "properties": {
          "licenseKey": {
            "description": "A license. E.g. a serial license.\n",
            "type": "string"
          },
          "labels": {
            "description": "array of key-value labels.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "licenseKey"
        ]
      },
      "UpdateLinkedChildrenRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualApp.UpdateLinkedChildren*.\n",
        "properties": {
          "addChangeSet": {
            "description": "a set of LinkInfo objects that either add a new link\nor modify an exisiting link.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualAppLinkInfo"
            }
          },
          "removeSet": {
            "description": "a set of entities that should no longer link to this vApp.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "UpdateLocalSwapDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *HostDatastoreSystem.UpdateLocalSwapDatastore*.\n",
        "properties": {
          "datastore": {
            "description": "The selected datastore. If this argument is unset, then\nthe *localSwapDatastore*\nproperty becomes unset. Otherwise, the host must have read/write\naccess to the indicated datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "UpdateLockdownExceptionsRequestType": {
        "type": "object",
        "description": "The parameters of *HostAccessManager.UpdateLockdownExceptions*.\n",
        "properties": {
          "users": {
            "description": "the new list of lockdown mode exceptions.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "UpdateModuleOptionStringRequestType": {
        "type": "object",
        "description": "The parameters of *HostKernelModuleSystem.UpdateModuleOptionString*.\n",
        "properties": {
          "name": {
            "description": "Module name.\n",
            "type": "string"
          },
          "options": {
            "description": "Option string to be passed to the kernel module at\nload time.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "options"
        ]
      },
      "UpdateNetworkConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdateNetworkConfig*.\n",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/HostNetworkConfig"
          },
          "changeMode": {
            "type": "string"
          }
        },
        "required": [
          "config",
          "changeMode"
        ]
      },
      "UpdateNetworkResourcePoolRequestType": {
        "type": "object",
        "description": "The parameters of *DistributedVirtualSwitch.UpdateNetworkResourcePool*.\n",
        "properties": {
          "configSpec": {
            "description": "The network resource pool configuration specification.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSNetworkResourcePoolConfigSpec"
            }
          }
        },
        "required": [
          "configSpec"
        ]
      },
      "UpdateOptionsRequestType": {
        "type": "object",
        "description": "The parameters of *OptionManager.UpdateOptions*.\n",
        "properties": {
          "changedValue": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "required": [
          "changedValue"
        ]
      },
      "UpdatePassthruConfigRequestType": {
        "type": "object",
        "description": "The parameters of *HostPciPassthruSystem.UpdatePassthruConfig*.\n",
        "properties": {
          "config": {
            "description": "The new PciPassthru configuration information.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPciPassthruConfig"
            }
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdatePerfIntervalRequestType": {
        "type": "object",
        "description": "The parameters of *PerformanceManager.UpdatePerfInterval*.\n",
        "properties": {
          "interval": {
            "description": "The *historical interval* being modified, a\ncomplete data object comprising values for *PerfInterval.enabled*, *interval ID*,\n*PerfInterval.length* of time to maintain statistics for this\ninterval in the database, *PerfInterval.level*, *PerfInterval.name*, and *PerfInterval.samplingPeriod*\nproperties.\n",
            "$ref": "#/components/schemas/PerfInterval"
          }
        },
        "required": [
          "interval"
        ]
      },
      "UpdatePhysicalNicLinkSpeedRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdatePhysicalNicLinkSpeed*.\n",
        "properties": {
          "device": {
            "type": "string"
          },
          "linkSpeed": {
            "$ref": "#/components/schemas/PhysicalNicLinkInfo"
          }
        },
        "required": [
          "device"
        ]
      },
      "UpdatePortGroupRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdatePortGroup*.\n",
        "properties": {
          "pgName": {
            "type": "string"
          },
          "portgrp": {
            "$ref": "#/components/schemas/HostPortGroupSpec"
          }
        },
        "required": [
          "pgName",
          "portgrp"
        ]
      },
      "UpdateProductLockerLocationRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.UpdateProductLockerLocation_Task*.\n",
        "properties": {
          "path": {
            "description": "The absolute path for the VMware Tools repository\non the host. It should have \"/vmfs/volumes/\" prefix and\nit should be a valid existing path, or it could be\nempty to restore to default value.\n",
            "type": "string"
          }
        },
        "required": [
          "path"
        ]
      },
      "UpdateProgressRequestType": {
        "type": "object",
        "description": "The parameters of *Task.UpdateProgress*.\n",
        "properties": {
          "percentDone": {
            "description": "Percentage to set for this task\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "percentDone"
        ]
      },
      "UpdateReferenceHostRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfile.UpdateReferenceHost*.\n",
        "properties": {
          "host": {
            "description": "Reference host to use. If unset, the *HostProfile.referenceHost*\nproperty is cleared.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        }
      },
      "UpdateRequestType": {
        "type": "object",
        "description": "The parameters of *Agency.Update*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "config": {
            "description": "The new configuration for this <code>Agency</code>\n",
            "$ref": "#/components/schemas/AgencyConfigInfo"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpdateRulesetRequestType": {
        "type": "object",
        "description": "The parameters of *HostFirewallSystem.UpdateRuleset*.\n",
        "properties": {
          "id": {
            "type": "string"
          },
          "spec": {
            "$ref": "#/components/schemas/HostFirewallRulesetRulesetSpec"
          }
        },
        "required": [
          "id",
          "spec"
        ]
      },
      "UpdateScsiLunDisplayNameRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateScsiLunDisplayName*.\n",
        "properties": {
          "lunUuid": {
            "description": "The uuid of the ScsiLun to update.\n",
            "type": "string"
          },
          "displayName": {
            "description": "The new name to assign to the ScsiLun object.\n",
            "type": "string"
          }
        },
        "required": [
          "lunUuid",
          "displayName"
        ]
      },
      "UpdateSelfSignedClientCertRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.UpdateSelfSignedClientCert*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "certificate": {
            "description": "\\[in\\] Client certificate.\n",
            "type": "string"
          }
        },
        "required": [
          "cluster",
          "certificate"
        ]
      },
      "UpdateServiceConsoleVirtualNicRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdateServiceConsoleVirtualNic*.\n",
        "properties": {
          "device": {
            "type": "string"
          },
          "nic": {
            "$ref": "#/components/schemas/HostVirtualNicSpec"
          }
        },
        "required": [
          "device",
          "nic"
        ]
      },
      "UpdateServiceMessageRequestType": {
        "type": "object",
        "description": "The parameters of *SessionManager.UpdateServiceMessage*.\n",
        "properties": {
          "message": {
            "description": "The message to send. Newline characters may be included.\n",
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      },
      "UpdateServicePolicyRequestType": {
        "type": "object",
        "description": "The parameters of *HostServiceSystem.UpdateServicePolicy*.\n",
        "properties": {
          "id": {
            "description": "Service identifier\n(*HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key*).\n",
            "type": "string"
          },
          "policy": {
            "description": "Specifies the condition for service activation.\nUse one of the *HostServicePolicy_enum* values.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "policy"
        ]
      },
      "UpdateSoftwareInternetScsiEnabledRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateSoftwareInternetScsiEnabled*.\n",
        "properties": {
          "enabled": {
            "description": "True to enable the iSCSI; false to disable it\n",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "UpdateSystemResourcesRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.UpdateSystemResources*.\n",
        "properties": {
          "resourceInfo": {
            "$ref": "#/components/schemas/HostSystemResourceInfo"
          }
        },
        "required": [
          "resourceInfo"
        ]
      },
      "UpdateSystemSwapConfigurationRequestType": {
        "type": "object",
        "description": "The parameters of *HostSystem.UpdateSystemSwapConfiguration*.\n",
        "properties": {
          "sysSwapConfig": {
            "description": "Contains a list of system swap options that\nconfigure the system swap functionality.\n",
            "$ref": "#/components/schemas/HostSystemSwapConfiguration"
          }
        },
        "required": [
          "sysSwapConfig"
        ]
      },
      "UpdateSystemUsersRequestType": {
        "type": "object",
        "description": "The parameters of *HostAccessManager.UpdateSystemUsers*.\n",
        "properties": {
          "users": {
            "description": "the new list of local system users.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "UpdateUserRequestType": {
        "type": "object",
        "description": "The parameters of *HostLocalAccountManager.UpdateUser*.\n",
        "properties": {
          "user": {
            "description": "Specification of user being updated.\n",
            "$ref": "#/components/schemas/HostAccountSpec"
          }
        },
        "required": [
          "user"
        ]
      },
      "UpdateVAppConfigRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualApp.UpdateVAppConfig*.\n",
        "properties": {
          "spec": {
            "description": "contains the updates to the current configuration. Any set element,\nis changed. All values in the spec that is left unset, will not be\nmodified.\n",
            "$ref": "#/components/schemas/VAppConfigSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "UpdateVStorageInfrastructureObjectPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.UpdateVStorageInfrastructureObjectPolicy_Task*.\n",
        "properties": {
          "spec": {
            "description": "specification to assign a SPBM policy to virtual storage\ninfrastructure object.\n",
            "$ref": "#/components/schemas/vslmInfrastructureObjectPolicySpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "UpdateVStorageObjectCryptoRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.UpdateVStorageObjectCrypto_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "profile": {
            "description": "New profile requirement on the virtual storage object.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "disksCrypto": {
            "description": "The crypto information of each disk on the chain.\n",
            "$ref": "#/components/schemas/DiskCryptoSpec"
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "UpdateVStorageObjectPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.UpdateVStorageObjectPolicy_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual storage object is\nlocated.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "profile": {
            "description": "New profile requirement on the virtual storage object.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "UpdateVVolVirtualMachineFilesRequestType": {
        "type": "object",
        "description": "The parameters of *Datastore.UpdateVVolVirtualMachineFiles_Task*.\n",
        "properties": {
          "failoverPair": {
            "description": "Mapping of source to target storage container\nas well as source to target VVol IDs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreVVolContainerFailoverPair"
            }
          }
        }
      },
      "UpdateVirtualMachineFilesRequestType": {
        "type": "object",
        "description": "The parameters of *Datastore.UpdateVirtualMachineFiles_Task*.\n",
        "properties": {
          "mountPathDatastoreMapping": {
            "description": "Old mount path to datastore mapping.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreMountPathDatastorePair"
            }
          }
        },
        "required": [
          "mountPathDatastoreMapping"
        ]
      },
      "UpdateVirtualNicRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdateVirtualNic*.\n",
        "properties": {
          "device": {
            "type": "string"
          },
          "nic": {
            "$ref": "#/components/schemas/HostVirtualNicSpec"
          }
        },
        "required": [
          "device",
          "nic"
        ]
      },
      "UpdateVirtualSwitchRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.UpdateVirtualSwitch*.\n",
        "properties": {
          "vswitchName": {
            "type": "string"
          },
          "spec": {
            "$ref": "#/components/schemas/HostVirtualSwitchSpec"
          }
        },
        "required": [
          "vswitchName",
          "spec"
        ]
      },
      "UpdateVmfsUnmapBandwidthRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateVmfsUnmapBandwidth*.\n",
        "properties": {
          "vmfsUuid": {
            "description": "The VMFS UUID.\n",
            "type": "string"
          },
          "unmapBandwidthSpec": {
            "description": "Unmap bandwidth specification. See\n*VmfsUnmapBandwidthSpec*\n",
            "$ref": "#/components/schemas/VmfsUnmapBandwidthSpec"
          }
        },
        "required": [
          "vmfsUuid",
          "unmapBandwidthSpec"
        ]
      },
      "UpdateVmfsUnmapPriorityRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpdateVmfsUnmapPriority*.\n",
        "properties": {
          "vmfsUuid": {
            "description": "The VMFS UUID.\n",
            "type": "string"
          },
          "unmapPriority": {
            "description": "Unmap priority. The supported values are defined in\n*HostVmfsVolumeUnmapPriority_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "vmfsUuid",
          "unmapPriority"
        ]
      },
      "UpdateVsanRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanSystem.UpdateVsan_Task*.\n",
        "properties": {
          "config": {
            "description": "host configuration settings to use for the VSAN service.\n",
            "$ref": "#/components/schemas/VsanHostConfigInfo"
          }
        },
        "required": [
          "config"
        ]
      },
      "UpgradeIoFilterRequestType": {
        "type": "object",
        "description": "The parameters of *IoFilterManager.UpgradeIoFilter_Task*.\n",
        "properties": {
          "filterId": {
            "description": "The filter to be upgraded.\n",
            "type": "string"
          },
          "compRes": {
            "description": "The compute resource that the filter is installed on.\n\"compRes\" must be a cluster.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vibUrl": {
            "description": "The URL that points to the new IO Filter VIB package.\n",
            "type": "string"
          },
          "vibSslTrust": {
            "description": "This specifies SSL trust policy *IoFilterManagerSslTrust*\nfor the given VIB URL. If unset, the server certificate is\nvalidated against the trusted root certificates.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/IoFilterManagerSslTrust"
          }
        },
        "required": [
          "filterId",
          "compRes",
          "vibUrl"
        ]
      },
      "UpgradeToolsRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.UpgradeTools_Task*.\n",
        "properties": {
          "installerOptions": {
            "description": "Command line options passed to the installer to modify\nthe installation procedure for tools.\n",
            "type": "string"
          }
        }
      },
      "UpgradeVMRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.UpgradeVM_Task*.\n",
        "properties": {
          "version": {
            "description": "If specified, upgrade to that specified version. If not specified,\nupgrade to the most current virtual hardware supported on the host.\n",
            "type": "string"
          }
        }
      },
      "UpgradeVmfsRequestType": {
        "type": "object",
        "description": "The parameters of *HostStorageSystem.UpgradeVmfs*.\n",
        "properties": {
          "vmfsPath": {
            "description": "The path of the VMFS.\n",
            "type": "string"
          }
        },
        "required": [
          "vmfsPath"
        ]
      },
      "UpgradeVsanObjectsRequestType": {
        "type": "object",
        "description": "The parameters of *HostVsanInternalSystem.UpgradeVsanObjects*.\n",
        "properties": {
          "uuids": {
            "description": "The array of objects' UUID which will be upgraded.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "newVersion": {
            "description": "The new version will be applied to objects.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "uuids",
          "newVersion"
        ]
      },
      "UploadClientCertRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.UploadClientCert*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "certificate": {
            "description": "\\[in\\] Client certificate.\n",
            "type": "string"
          },
          "privateKey": {
            "description": "\\[in\\] Private key.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "cluster",
          "certificate",
          "privateKey"
        ]
      },
      "UploadKmipServerCertRequestType": {
        "type": "object",
        "description": "The parameters of *CryptoManagerKmip.UploadKmipServerCert*.\n",
        "properties": {
          "cluster": {
            "description": "\\[in\\] KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "certificate": {
            "description": "\\[in\\] Server certificate in PEM encoding.\n",
            "type": "string"
          }
        },
        "required": [
          "cluster",
          "certificate"
        ]
      },
      "VCenterUpdateVStorageObjectMetadataExRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.VCenterUpdateVStorageObjectMetadataEx_Task*.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore to query for the virtual storage objects.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "metadata": {
            "description": "array of key/value strings. (keys must be unique\nwithin the list)\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "deleteKeys": {
            "description": "array of keys need to be deleted\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "datastore"
        ]
      },
      "VStorageObjectCreateSnapshotExRequestType": {
        "type": "object",
        "description": "The parameters of *VStorageObjectManagerBase.VStorageObjectCreateSnapshotEx_Task*.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "description": {
            "description": "A short description to be associated with the snapshot.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "description"
        ]
      },
      "VStorageObjectCreateSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.VStorageObjectCreateSnapshot_Task*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "description": {
            "description": "A short description to be associated with the snapshot.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "description"
        ]
      },
      "VStorageObjectDeleteSnapshotExRequestType": {
        "type": "object",
        "description": "The parameters of *VStorageObjectManagerBase.VStorageObjectDeleteSnapshotEx_Task*.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId"
        ]
      },
      "VStorageObjectExtendDiskExRequestType": {
        "type": "object",
        "description": "The parameters of *VStorageObjectManagerBase.VStorageObjectExtendDiskEx_Task*.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual disk to be extended.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the virtual disk is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "newCapacityInMB": {
            "description": "The new capacity of the virtual disk in MB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "id",
          "datastore",
          "newCapacityInMB"
        ]
      },
      "ValidateCredentialsInGuestRequestType": {
        "type": "object",
        "description": "The parameters of *GuestAuthManager.ValidateCredentialsInGuest*.\n",
        "properties": {
          "vm": {
            "description": "MoRef of the VM to perform the operation on.\n\n***Required privileges:*** VirtualMachine.GuestOperations.Query\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "auth": {
            "description": "The guest authentication data. See\n*GuestAuthentication*.\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          }
        },
        "required": [
          "vm",
          "auth"
        ]
      },
      "ValidateHCIConfigurationRequestType": {
        "type": "object",
        "description": "The parameters of *ClusterComputeResource.ValidateHCIConfiguration*.\n",
        "properties": {
          "hciConfigSpec": {
            "description": "The *ClusterComputeResourceHCIConfigSpec*\nto be used for validating the hosts. If not specified, the\nexisting *ClusterComputeResourceHCIConfigInfo* of the\ncluster will be used.  \nNote:- This param must be omitted for post-configure validation.\n",
            "$ref": "#/components/schemas/ClusterComputeResourceHCIConfigSpec"
          },
          "hosts": {
            "description": "The set of hosts to be validated. If not specified, the set\nof existing hosts in the cluster will be used.  \nNote:- This param must be omitted for post-configure validation.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        }
      },
      "ValidateHostProfileCompositionRequestType": {
        "type": "object",
        "description": "The parameters of *HostProfileManager.ValidateHostProfileComposition_Task*.\n",
        "properties": {
          "source": {
            "description": "The source host profile of the configurations for\ncomposition.\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "targets": {
            "description": "The array of target host profiles that the configurations\ncomposite into.\n\nRefers instances of *Profile*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "toBeMerged": {
            "description": "A *HostApplyProfile* object\ncontains the sub profiles that will be merged from the source to\nthe target host profiles, and all the ancestors of these sub\nprofiles. For singleton sub profile, it will be added into a\ntarget host profile if it doesn't exist in the target; otherwise,\nit replaces the one in the target.\nThe member variable\n*ApplyProfile.toBeMerged* of these sub profiles\nshould have a value of <code>true</code>. The member variables\n*ApplyProfile.toBeMerged*\n*ApplyProfile.toReplaceWith*,\n*ApplyProfile.toBeDeleted*\nof the ancestors should have a value of <code>false</code>.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "toReplaceWith": {
            "description": "A *HostApplyProfile* object\ncontains the sub profiles that will be used to replace the array\nin the target host profiles, and all the ancestors of these sub\nprofiles.\nSimilar to above except that the member variable\n*ApplyProfile.toReplaceWith*\nis turned on.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "toBeDeleted": {
            "description": "A *HostApplyProfile* object\ncontains the sub profiles that will be deleted from the source\n**and** the target host profiles, and all the ancestors of\nthese sub profiles.\nSimilar to above except that the member variable\n*ApplyProfile.toBeDeleted*\nis turned on.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "enableStatusToBeCopied": {
            "description": "A *HostApplyProfile*\nobject contains the sub profiles that the member variable\n*ApplyProfile.enabled* will be copied from the\nsource host profile to all the target host profiles, and all the\nancestors of these sub profiles.\nThe member variable\n*ApplyProfile.copyEnableStatus*\nof these sub profiles is turned on. The member variable\n*ApplyProfile.copyEnableStatus* of the\n*ApplyProfile.copyEnableStatus* of the\nancestors should have a value of <code>false</code>.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "errorOnly": {
            "description": "Indicates that the validation result for each target\ndon't contain the source-target difference.\n",
            "type": "boolean"
          }
        },
        "required": [
          "source"
        ]
      },
      "ValidateHostRequestType": {
        "type": "object",
        "description": "The parameters of *OvfManager.ValidateHost*.\n",
        "properties": {
          "ovfDescriptor": {
            "description": "The OVF descriptor to examine.\n",
            "type": "string"
          },
          "host": {
            "description": "The host to validate against.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vhp": {
            "description": "Additional parameters for validateHost, wrapped in a ValidateHostParams\ninstance.\n",
            "$ref": "#/components/schemas/OvfValidateHostParams"
          }
        },
        "required": [
          "ovfDescriptor",
          "host",
          "vhp"
        ]
      },
      "ValidateMigrationRequestType": {
        "type": "object",
        "description": "The parameters of *ServiceInstance.ValidateMigration*.\n",
        "properties": {
          "vm": {
            "description": "The set of virtual machines intended for migration.\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "state": {
            "description": "The power state that the virtual machines must have. If\nthis argument is not set, each virtual machine is evaluated\naccording to its current power state.\n",
            "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
          },
          "testType": {
            "description": "The set of tests to run. If this argument is not set, all\ntests will be run.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pool": {
            "description": "The target resource pool for the virtual machines. If the\npool parameter is left unset, the target pool for each particular\nvirtual machine's migration will be that virtual machine's current\npool. If the virtual machine is a template then either this\nparameter or the host parameter must be set; additionally if\nresource tests are requested then this parameter is required.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host on which the virtual machines will run. The host\nparameter may be left unset if the compute resource associated with\nthe target pool represents a stand-alone host or a DRS-enabled\ncluster. In the former case the stand-alone host is used as the\ntarget host. In the latter case, each connected host in the cluster\nthat is not in maintenance mode is tested as a target host.\nIf the virtual machine is a template then either this\nparameter or the pool parameter must be set.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ]
      },
      "ValidateStoragePodConfigRequestType": {
        "type": "object",
        "description": "The parameters of *StorageResourceManager.ValidateStoragePodConfig*.\n",
        "properties": {
          "pod": {
            "description": "The storage pod.\n\nRefers instance of *StoragePod*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spec": {
            "description": "A set of storage Drs configuration changes to apply to\nthe storage pod.\n",
            "$ref": "#/components/schemas/StorageDrsConfigSpec"
          }
        },
        "required": [
          "pod",
          "spec"
        ]
      },
      "VasaProviderSyncRequestType": {
        "type": "object",
        "description": "The parameters of *VasaProvider.VasaProviderSync_Task*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "arrayId": {
            "type": "string"
          }
        }
      },
      "VslmAttachDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmAttachDisk_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual disk to be operated. See\n*ID*\n",
            "$ref": "#/components/schemas/ID"
          },
          "vm": {
            "description": "The virtual machine where the virtual disk is to be attached.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "controllerKey": {
            "description": "Key of the controller the disk will connect to.\nIt can be unset if there is only one controller\n(SCSI or SATA) with the available slot in the\nvirtual machine. If there are multiple SCSI or\nSATA controllers available, user must specify\nthe controller; if there is no available\ncontrollers, a *MissingController*\nfault will be thrown.\n",
            "type": "integer",
            "format": "int32"
          },
          "unitNumber": {
            "description": "The unit number of the attached disk on its controller.\nIf unset, the next available slot on the specified\ncontroller or the only available controller will be\nassigned to the attached disk.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "id",
          "vm"
        ]
      },
      "VslmAttachTagToVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmAttachTagToVStorageObject*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The identifier(ID) of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "category": {
            "description": "The category to which the tag belongs.\n",
            "type": "string"
          },
          "tag": {
            "description": "The tag which has to be associated with the virtual storage\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "category",
          "tag"
        ]
      },
      "VslmClearVStorageObjectControlFlagsRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmClearVStorageObjectControlFlags*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "controlFlags": {
            "description": "control flags enum array to be cleared on the\nVStorageObject. All control flags not included\nin the array remain intact.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmCloneVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmCloneVStorageObject_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "spec": {
            "description": "The specification for cloning the virtual storage\nobject.\n",
            "$ref": "#/components/schemas/VslmCloneSpec"
          }
        },
        "required": [
          "id",
          "spec"
        ]
      },
      "VslmCreateDiskFromSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmCreateDiskFromSnapshot_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "name": {
            "description": "A user friendly name to be associated with the new disk.\n",
            "type": "string"
          },
          "profile": {
            "description": "SPBM Profile requirement on the new virtual storage object.\nIf not specified datastore default policy would be\nassigned.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "crypto": {
            "description": "Crypto information of the new disk.\n",
            "$ref": "#/components/schemas/CryptoSpec"
          },
          "path": {
            "description": "Relative location in the specified datastore where disk needs\nto be created. If not specified disk gets created at the\ndefualt VStorageObject location on the specified datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "snapshotId",
          "name"
        ]
      },
      "VslmCreateDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmCreateDisk_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "spec": {
            "description": "The specification of the virtual storage object\nto be created.\n",
            "$ref": "#/components/schemas/VslmCreateSpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "VslmCreateSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmCreateSnapshot_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "description": {
            "description": "A short description to be associated with the snapshot.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "description"
        ]
      },
      "VslmDeleteSnapshotRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmDeleteSnapshot_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "snapshotId"
        ]
      },
      "VslmDeleteVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmDeleteVStorageObject_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be deleted.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmDetachTagFromVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmDetachTagFromVStorageObject*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The identifier(ID) of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "category": {
            "description": "The category to which the tag belongs.\n",
            "type": "string"
          },
          "tag": {
            "description": "The tag which has to be disassociated with the virtual storage\nobject.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "category",
          "tag"
        ]
      },
      "VslmExtendDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmExtendDisk_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual disk to be extended.\n",
            "$ref": "#/components/schemas/ID"
          },
          "newCapacityInMB": {
            "description": "The new capacity of the virtual disk in MB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "id",
          "newCapacityInMB"
        ]
      },
      "VslmInflateDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmInflateDisk_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual disk to be inflated.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmListTagsAttachedToVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmListTagsAttachedToVStorageObject*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmListVStorageObjectForSpecRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmListVStorageObjectForSpec*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "query": {
            "description": "Query defined using array of\n*VslmVsoVStorageObjectQuerySpec* objects.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectQuerySpec"
            }
          },
          "maxResult": {
            "description": "Maximum number of virtual storage object IDs to return.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxResult"
        ]
      },
      "VslmListVStorageObjectsAttachedToTagRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmListVStorageObjectsAttachedToTag*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "category": {
            "description": "The category to which the tag belongs.\n",
            "type": "string"
          },
          "tag": {
            "description": "The tag to be queried.\n",
            "type": "string"
          }
        },
        "required": [
          "category",
          "tag"
        ]
      },
      "VslmLoginByTokenRequestType": {
        "type": "object",
        "description": "The parameters of *VslmSessionManager.VslmLoginByToken*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "delegatedTokenXml": {
            "description": "The delegated token will be retrieved by the\nclient and delegated to VSLM. VSLM will use this token, on user's\nbehalf, to login to VC for authorization purposes. It is necessary\nto convert the token to XML because the SAML token itself is\nnot a VMODL Data Object and cannot be used as a parameter.\n",
            "type": "string"
          }
        },
        "required": [
          "delegatedTokenXml"
        ]
      },
      "VslmQueryChangedDiskAreasRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmQueryChangedDiskAreas*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object for\nwhich changes that have been made since \"changeId\"\nshould be computed.\n",
            "$ref": "#/components/schemas/ID"
          },
          "startOffset": {
            "description": "Start Offset in bytes at which to start computing\nchanges. Typically, callers will make multiple calls\nto this function, starting with startOffset 0 and then\nexamine the \"length\" property in the returned\nDiskChangeInfo structure, repeatedly calling\nqueryChangedDiskAreas until a map for the entire\nvirtual disk has been obtained.\n",
            "type": "integer",
            "format": "int64"
          },
          "changeId": {
            "description": "Identifier referring to a point in the past that should\nbe used as the point in time at which to begin including\nchanges to the disk in the result. A typical use case\nwould be a backup application obtaining a changeId from\na virtual disk's backing info when performing a backup.\nWhen a subsequent incremental backup is to be performed,\nthis change Id can be used to obtain a list of changed\nareas on disk.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "snapshotId",
          "startOffset",
          "changeId"
        ]
      },
      "VslmQueryDatastoreInfoRequestType": {
        "type": "object",
        "description": "The parameters of *VslmStorageLifecycleManager.VslmQueryDatastoreInfo*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "datastoreUrl": {
            "description": "The datastore URL as specified in\n*DatastoreInfo.url*\n",
            "type": "string"
          }
        },
        "required": [
          "datastoreUrl"
        ]
      },
      "VslmQueryGlobalCatalogSyncStatusForDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmQueryGlobalCatalogSyncStatusForDatastore*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "datastoreURL": {
            "description": "URL of the datastore to check synchronization status for\n",
            "type": "string"
          }
        },
        "required": [
          "datastoreURL"
        ]
      },
      "VslmReconcileDatastoreInventoryRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmReconcileDatastoreInventory_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "datastore": {
            "description": "The datastore that needs to be reconciled.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "VslmRegisterDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRegisterDisk*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "path": {
            "description": "URL path to the virtual disk.\n",
            "type": "string"
          },
          "name": {
            "description": "The descriptive name of the disk object. If\nunset the name will be automatically determined\nfrom the path. @see vim.vslm.BaseConfigInfo.name\n",
            "type": "string"
          }
        },
        "required": [
          "path"
        ]
      },
      "VslmRelocateVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRelocateVStorageObject_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "spec": {
            "description": "The specification for relocation of the virtual\nstorage object.\n",
            "$ref": "#/components/schemas/VslmRelocateSpec"
          }
        },
        "required": [
          "id",
          "spec"
        ]
      },
      "VslmRenameVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRenameVStorageObject*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be renamed.\n",
            "$ref": "#/components/schemas/ID"
          },
          "name": {
            "description": "The new name for the virtual storage object.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "VslmRetrieveSnapshotDetailsRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRetrieveSnapshotDetails*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "snapshotId"
        ]
      },
      "VslmRetrieveSnapshotInfoRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRetrieveSnapshotInfo*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmRetrieveVStorageInfrastructureObjectPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRetrieveVStorageInfrastructureObjectPolicy*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "datastore": {
            "description": "Datastore on which policy needs to be retrieved.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "VslmRetrieveVStorageObjectAssociationsRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRetrieveVStorageObjectAssociations*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "ids": {
            "description": "The IDs of the virtual storage objects of the query.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ID"
            }
          }
        }
      },
      "VslmRetrieveVStorageObjectMetadataRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRetrieveVStorageObjectMetadata*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "prefix": {
            "description": "The prefix of the metadata key that needs to be retrieved\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmRetrieveVStorageObjectMetadataValueRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRetrieveVStorageObjectMetadataValue*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "key": {
            "description": "The key for the the virtual storage object\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "key"
        ]
      },
      "VslmRetrieveVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRetrieveVStorageObject*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object to be retrieved.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmRetrieveVStorageObjectStateRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRetrieveVStorageObjectState*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object the state to be retrieved.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmRetrieveVStorageObjectsRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRetrieveVStorageObjects*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "ids": {
            "description": "The array of IDs of the virtual storage object to be\nretrieved.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ID"
            }
          }
        }
      },
      "VslmRevertVStorageObjectRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmRevertVStorageObject_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "id",
          "snapshotId"
        ]
      },
      "VslmScheduleReconcileDatastoreInventoryRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmScheduleReconcileDatastoreInventory*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "datastore": {
            "description": "The datastore that needs to be reconciled.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ]
      },
      "VslmSetVStorageObjectControlFlagsRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmSetVStorageObjectControlFlags*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "controlFlags": {
            "description": "control flags enum array to be set on the\nVStorageObject. All control flags not included\nin the array remain intact.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmSyncDatastoreRequestType": {
        "type": "object",
        "description": "The parameters of *VslmStorageLifecycleManager.VslmSyncDatastore*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "datastoreUrl": {
            "description": "The datastore URL as specified in\n*DatastoreInfo.url*\n",
            "type": "string"
          },
          "fullSync": {
            "description": "If this is set to true, all information for this datastore\nwill be discarded from the catalog and reloaded from the\ndatastore's catalog\n",
            "type": "boolean"
          },
          "fcdId": {
            "description": "If set, this call blocks until fcdId is persisited into db\nif this fcdId is not found in queue, assume persisted and return\n",
            "$ref": "#/components/schemas/ID"
          }
        },
        "required": [
          "datastoreUrl",
          "fullSync"
        ]
      },
      "VslmUpdateVStorageInfrastructureObjectPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmUpdateVStorageInfrastructureObjectPolicy_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "spec": {
            "description": "specification to assign a SPBM policy to FCD infrastructure\nobject.\n",
            "$ref": "#/components/schemas/vslmInfrastructureObjectPolicySpec"
          }
        },
        "required": [
          "spec"
        ]
      },
      "VslmUpdateVStorageObjectMetadataRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmUpdateVStorageObjectMetadata_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "metadata": {
            "description": "array of key/value strings. (keys must be unique\nwithin the list)\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "deleteKeys": {
            "description": "array of keys need to be deleted\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmUpdateVstorageObjectCryptoRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmUpdateVstorageObjectCrypto_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "profile": {
            "description": "New profile requirement on the virtual storage object.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "disksCrypto": {
            "description": "The crypto information of each disk on the chain.\n",
            "$ref": "#/components/schemas/DiskCryptoSpec"
          }
        },
        "required": [
          "id"
        ]
      },
      "VslmUpdateVstorageObjectPolicyRequestType": {
        "type": "object",
        "description": "The parameters of *VslmVStorageObjectManager.VslmUpdateVstorageObjectPolicy_Task*.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "profile": {
            "description": "New profile requirement on the virtual storage object.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "VstorageObjectVCenterQueryChangedDiskAreasRequestType": {
        "type": "object",
        "description": "The parameters of *VcenterVStorageObjectManager.VstorageObjectVCenterQueryChangedDiskAreas*.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "The datastore where the source virtual storage object\nis located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotId": {
            "description": "The ID of the snapshot of a virtual storage object for\nwhich changes that have been made since \"changeId\"\nshould be computed.\n",
            "$ref": "#/components/schemas/ID"
          },
          "startOffset": {
            "description": "Start Offset in bytes at which to start computing\nchanges. Typically, callers will make multiple calls\nto this function, starting with startOffset 0 and then\nexamine the \"length\" property in the returned\nDiskChangeInfo structure, repeatedly calling\nqueryChangedDiskAreas until a map for the entire\nvirtual disk has been obtained.\n",
            "type": "integer",
            "format": "int64"
          },
          "changeId": {
            "description": "Identifier referring to a point in the past that should\nbe used as the point in time at which to begin including\nchanges to the disk in the result. A typical use case\nwould be a backup application obtaining a changeId from\na virtual disk's backing info when performing a backup.\nWhen a subsequent incremental backup is to be performed,\nthis change Id can be used to obtain a list of changed\nareas on disk.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "datastore",
          "snapshotId",
          "startOffset",
          "changeId"
        ]
      },
      "WaitForUpdatesExRequestType": {
        "type": "object",
        "description": "The parameters of *PropertyCollector.WaitForUpdatesEx*.\n",
        "properties": {
          "version": {
            "description": "The data version currently known to the client. The value must be\neither\n- the special initial data version (an empty string),\n- a data version returned from *PropertyCollector.CheckForUpdates* or *PropertyCollector.WaitForUpdates*\n- a non-truncated data version returned from *PropertyCollector.WaitForUpdatesEx*\n- a truncated data version returned from the last call to *PropertyCollector.WaitForUpdatesEx* with no intervening calls to *PropertyCollector.WaitForUpdates* or *PropertyCollector.CheckForUpdates*.\n",
            "type": "string"
          },
          "options": {
            "description": "Additional options controlling the change calculation. If omitted,\nequivalent to an options argument with no fields set.\n",
            "$ref": "#/components/schemas/WaitOptions"
          }
        }
      },
      "WaitForUpdatesRequestType": {
        "type": "object",
        "description": "The parameters of *PropertyCollector.WaitForUpdates*.\n",
        "properties": {
          "version": {
            "description": "The data version currently known to the client. The value\nmust be either\n- the special initial version (an empty string)\n- a data version returned from *PropertyCollector.CheckForUpdates* or *PropertyCollector.WaitForUpdates* by the same *PropertyCollector* on the same session\n- a non-truncated data version returned from *PropertyCollector.WaitForUpdatesEx* by the same *PropertyCollector* on the same\n  session.\n",
            "type": "string"
          }
        }
      },
      "XmlToCustomizationSpecItemRequestType": {
        "type": "object",
        "description": "The parameters of *CustomizationSpecManager.XmlToCustomizationSpecItem*.\n",
        "properties": {
          "specItemXml": {
            "type": "string"
          }
        },
        "required": [
          "specItemXml"
        ]
      },
      "ZeroFillVirtualDiskRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualDiskManager.ZeroFillVirtualDisk_Task*.\n",
        "properties": {
          "name": {
            "description": "The name of the disk, either a datastore path or a URL\nreferring to the virtual disk whose blocks should be overwritten\nwith zeroes.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "If <code>name</code> is a datastore path, the datacenter for\nthat datastore path. Not needed when invoked directly on ESX.\nIf not specified on a call to VirtualCenter,\n<code>name</code> must be a URL.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ]
      },
      "configureVchaRequestType": {
        "type": "object",
        "description": "The parameters of *FailoverClusterConfigurator.configureVcha_Task*.\n",
        "properties": {
          "configSpec": {
            "description": "contains the configuration for the cluster\n",
            "$ref": "#/components/schemas/VchaClusterConfigSpec"
          }
        },
        "required": [
          "configSpec"
        ]
      },
      "createPassiveNodeRequestType": {
        "type": "object",
        "description": "The parameters of *FailoverClusterConfigurator.createPassiveNode_Task*.\n",
        "properties": {
          "passiveDeploymentSpec": {
            "description": "contains deployment specification for the\npassive node\n",
            "$ref": "#/components/schemas/PassiveNodeDeploymentSpec"
          },
          "sourceVcSpec": {
            "description": "contains specification for the source vCenter\nserver that is used to create Passive node\n",
            "$ref": "#/components/schemas/SourceNodeSpec"
          }
        },
        "required": [
          "passiveDeploymentSpec",
          "sourceVcSpec"
        ]
      },
      "createWitnessNodeRequestType": {
        "type": "object",
        "description": "The parameters of *FailoverClusterConfigurator.createWitnessNode_Task*.\n",
        "properties": {
          "witnessDeploymentSpec": {
            "description": "contains deployment specification for the\nwitness node\n",
            "$ref": "#/components/schemas/NodeDeploymentSpec"
          },
          "sourceVcSpec": {
            "description": "contains specification for the source vCenter\nserver that is used to create Witness node\n",
            "$ref": "#/components/schemas/SourceNodeSpec"
          }
        },
        "required": [
          "witnessDeploymentSpec",
          "sourceVcSpec"
        ]
      },
      "deployVchaRequestType": {
        "type": "object",
        "description": "The parameters of *FailoverClusterConfigurator.deployVcha_Task*.\n",
        "properties": {
          "deploymentSpec": {
            "description": "contains the information needed to deploy and\nconfigure a VCHA Cluster\n",
            "$ref": "#/components/schemas/VchaClusterDeploymentSpec"
          }
        },
        "required": [
          "deploymentSpec"
        ]
      },
      "initiateFailoverRequestType": {
        "type": "object",
        "description": "The parameters of *FailoverClusterManager.initiateFailover_Task*.\n",
        "properties": {
          "planned": {
            "description": "\\- if false, a failover is initiated immediate and may\nresult in data loss.\nif true, a failover is initated after the Active node\nflushes its state to Passive and there is no data loss.\n",
            "type": "boolean"
          }
        },
        "required": [
          "planned"
        ]
      },
      "prepareVchaRequestType": {
        "type": "object",
        "description": "The parameters of *FailoverClusterConfigurator.prepareVcha_Task*.\n",
        "properties": {
          "networkSpec": {
            "description": "contains the information needed to prepare\na VCHA Cluster and configure networking.\n",
            "$ref": "#/components/schemas/VchaClusterNetworkSpec"
          }
        },
        "required": [
          "networkSpec"
        ]
      },
      "reloadVirtualMachineFromPathRequestType": {
        "type": "object",
        "description": "The parameters of *VirtualMachine.reloadVirtualMachineFromPath_Task*.\n",
        "properties": {
          "configurationPath": {
            "type": "string"
          }
        },
        "required": [
          "configurationPath"
        ]
      },
      "setClusterModeRequestType": {
        "type": "object",
        "description": "The parameters of *FailoverClusterManager.setClusterMode_Task*.\n",
        "properties": {
          "mode": {
            "type": "string"
          }
        },
        "required": [
          "mode"
        ]
      },
      "setCustomValueRequestType": {
        "type": "object",
        "description": "The parameters of *ExtensibleManagedObject.setCustomValue*.\n",
        "properties": {
          "key": {
            "description": "The name of the field whose value is to be updated.\n",
            "type": "string"
          },
          "value": {
            "description": "Value to be assigned to the custom field.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "startDpuFailoverRequestType": {
        "type": "object",
        "description": "The parameters of *HostNetworkSystem.startDpuFailover*.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "dvsName": {
            "description": "The name of the distributed virtual switch.\n",
            "type": "string"
          },
          "targetDpuAlias": {
            "description": "The alias of the DPU to failover to.\nIf not set, it will be determined by the system.\nAt least one vmnic backed by the DPU needs to be associated to the\nstandby uplink of the distributed virtual switch.\n",
            "type": "string"
          }
        },
        "required": [
          "dvsName"
        ]
      },
      "AgencyComputeResourceScope": {
        "type": "object",
        "description": "Scope specifies on which compute resources to deploy a solution's agents.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "computeResource": {
            "description": "Compute resources on which to deploy the agents.\n\nIf *AgencyConfigInfoEx.vmPlacementPolicy* is set, the array needs to\ncontain exactly one cluster compute resource.\n\nRefers instances of *ComputeResource*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/AgencyScope"
          }
        ]
      },
      "ArrayOfAgencyComputeResourceScope": {
        "type": "object",
        "description": "A boxed array of *AgencyComputeResourceScope*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyComputeResourceScope"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgencyConfigInfo": {
        "type": "object",
        "description": "This is the configuration of an <code>Agency</code>.\n\nIt determines on\nwhich compute resources to deploy the agents, which VIB to install, which\nOVF package to install, and how to configure these items by setting the\nOVF environment properties.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "agentConfig": {
            "description": "A list of *AgentConfigInfo*s for hosts covered by this\n<code>Agency</code>.\n\nWhen provisioning a new agent to a host, vSphere\nESX Agent Manager tries to find, from left to right in the array, a\nmatch for an *AgentConfigInfo* and stops searching at the first\none that it finds.\nIf *AgencyConfigInfoEx.vmPlacementPolicy* is set, the array needs to contain only a\nsingle agent config. In that case the agent config is not bound to a\nspecific host, but to the whole cluster.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentConfigInfo"
            }
          },
          "scope": {
            "description": "The scope of the <code>Agency</code>.\n",
            "$ref": "#/components/schemas/AgencyScope"
          },
          "manuallyMarkAgentVmAvailableAfterProvisioning": {
            "description": "If set to <code>true</code>, the client of this agency must manually\nmark the agent as ready after the agent virtual machine has been\nprovisioned.\n\nThis is useful if the client of this solution performs\nsome extra reconfiguration of the agent virtual machine before it is\npowered on.\n\nSee also *Agent.MarkAsAvailable*.\n",
            "type": "boolean"
          },
          "manuallyMarkAgentVmAvailableAfterPowerOn": {
            "description": "If set to <code>true</code>, the client of this agency must manually\nmark the agent as ready after the agent virtual machine has been\npowered on.\n\nIn this case, DRS will not regard the agent virtual machine\nas ready until the client has marked the agent as ready.\n\nSee also *Agent.MarkAsAvailable*.\n",
            "type": "boolean"
          },
          "optimizedDeploymentEnabled": {
            "description": "If set to <code>true</code>, ESX Agent Manager will use vSphere Linked\nClones to speed up the deployment of agent virtual machines.\n\nUsing\nlinked clones implies that the agent virtual machines cannot use\nStorage vMotion to move to another vSphere datastore.\nIf set to <code>false</code>, ESX Agent Manager will use Full VM\nCloning.\nIf unset default is <code>true<code>.\n",
            "type": "boolean"
          },
          "agentName": {
            "description": "An optional name to use when naming agent virtual machines.\n\nFor\nexample, if set to \"example-agent\", each agent virtual machine will be\nnamed \"example-agent (1)\", \"example-agent (2)\", and so on. The maximum\nlength of <code>agentName</code> is 70 characters.\n",
            "type": "string"
          },
          "agencyName": {
            "description": "Name of the agency.\n\nMust be set when creating the agency.\n",
            "type": "string"
          },
          "useUuidVmName": {
            "description": "Property <code>agentName</code> is required if this property is set to\n<code>true</code>.\n\nIf set to <code>true</code>, ESX Agent Manager will name virtual\nmachines with UUID suffix. For example, \"example-agent-UUID\".\nIn this case, the maximum length of <code>agentName</code> is 43\ncharacters.\n\nIf not set or is set to <code>false</code>, virtual\nmachines will not contain UUID in their name.\n",
            "type": "boolean"
          },
          "manuallyProvisioned": {
            "deprecated": true,
            "description": "Deprecated use automatically provisioned VMs and register hooks to\nhave control post provisioning and power on.\n\nSet to true if agent VMs are manually provisioned.\n\nIf unset, defaults\nto false.\n",
            "type": "boolean"
          },
          "manuallyMonitored": {
            "deprecated": true,
            "description": "Deprecated use automatically provisioned VMs and register hooks to\nhave control post provisioning and power on.\n\nSet to true if agent VMs are manually monitored.\n\nIf unset, defaults to\nfalse. This can only be set to true if\n*AgencyConfigInfo.manuallyProvisioned* is set to true.\n",
            "type": "boolean"
          },
          "bypassVumEnabled": {
            "deprecated": true,
            "description": "Deprecated vUM is no more consulted so this property has no sense\nanymore.\n\nSet to true will install VIBs directly on the hosts even if VMware\nUpdate Manager is installed.\n\nIf unset, defaults to false.\n",
            "type": "boolean"
          },
          "agentVmNetwork": {
            "description": "Specifies the networks which to be configured on the agent VMs.\n\nThis property is only applicable for pinned to host VMs - i.e.\n(*AgencyConfigInfoEx.vmPlacementPolicy*) is not set.\n\nIf not set or *AgencyConfigInfo.preferHostConfiguration* is set to true, the\ndefault host agent VM network (configured through\nvim.host.EsxAgentHostManager) is used, otherwise the first network from\nthe array that is present on the host is used.\n\nAt most one of *AgencyConfigInfo.agentVmNetwork* and *AgencyConfigInfoEx.vmNetworkMapping*\nneeds to be set.\n\nRefers instances of *Network*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "agentVmDatastore": {
            "description": "The datastores used to configure the storage on the agent VMs.\n\nThis property is required if *AgencyConfigInfoEx.vmPlacementPolicy* is set and\n*AgencyConfigInfoEx.datastoreSelectionPolicy* is not set. In that case the first\nelement from the list is used.\n\nIf not set or *AgencyConfigInfo.preferHostConfiguration* is set to true and\n*AgencyConfigInfoEx.vmPlacementPolicy* is not set, the default host agent VM\ndatastore (configured through vim.host.EsxAgentHostManager) is used,\notherwise the first datastore from the array that is present on the\nhost is used.\n\nIf *AgencyConfigInfoEx.vmPlacementPolicy* is set at most one of\n*AgencyConfigInfo.agentVmDatastore* and *AgencyConfigInfoEx.datastoreSelectionPolicy* needs\nto be set. If *AgencyConfigInfoEx.vmPlacementPolicy* is not set\n*AgencyConfigInfoEx.datastoreSelectionPolicy* takes precedence over\n*AgencyConfigInfo.agentVmDatastore* .\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "preferHostConfiguration": {
            "description": "If set to true the default agent VM datastore and network will take\nprecedence over *AgencyConfigInfo.agentVmNetwork* and\n*AgencyConfigInfo.agentVmDatastore* when configuring the agent\nVMs.\n\nThis property is not used if *AgencyConfigInfoEx.vmPlacementPolicy* is set.\n",
            "type": "boolean"
          },
          "ipPool": {
            "deprecated": true,
            "description": "Deprecated that is a custom configuration that should be setup by the\nagency owner. One way is to use\n*AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterPowerOn* or\n*AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterProvisioning*\nhooks.\n\nIf set, a property with id \"ip\" and value an IP from the pool is added\nto the vApp configuration of the deployed VMs.\n",
            "$ref": "#/components/schemas/IpPool"
          },
          "resourcePools": {
            "description": "Defines the resource pools where VMs to be deployed.\n\nIf specified, the VMs for every compute resouce in the scope will be\ndeployed to its corresponding resource pool.\nIf not specified, the agent VMs for each compute resource will be\ndeployed under top level nested resource pool created for the agent\nVMs. If unable to create a nested resource pool, the root resource pool\nof the compute resource will be used.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyVMResourcePool"
            }
          },
          "folders": {
            "description": "Defines the folders where VMs to be deployed.\n\nIf specified, the VMs for every compute resouce in the scope will be\ndeployed to its corresponding folder. The link is made between the\ncompute resource parent and the datacenter the folder belongs to\n*AgencyVMFolder.datacenterId*.\nIf not specified, the agent VMs for each compute resource will be\ndeployed in top level folder created in each datacenter for the agent\nVMs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyVMFolder"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgencyConfigInfo": {
        "type": "object",
        "description": "A boxed array of *AgencyConfigInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgencyScope": {
        "type": "object",
        "description": "Scope specifies which where to deploy agents.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgencyScope": {
        "type": "object",
        "description": "A boxed array of *AgencyScope*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyScope"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgencyVMFolder": {
        "type": "object",
        "description": "Represents the mapping of a VM folder to a datacenter.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "folderId": {
            "description": "Folder identifier.\n\nThe folder must be present in the corresponding\ndatacenter.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datacenterId": {
            "description": "Datacenter identifier.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "folderId",
          "datacenterId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgencyVMFolder": {
        "type": "object",
        "description": "A boxed array of *AgencyVMFolder*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyVMFolder"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgencyVMResourcePool": {
        "type": "object",
        "description": "Represents the mapping of a VM resource pool to a compute resource.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "resourcePoolId": {
            "description": "Resource pool identifier.\n\nThe resource pool must be present in the\ncorresponding compute resource.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "computeResourceId": {
            "description": "Compute resource identifier.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "resourcePoolId",
          "computeResourceId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgencyVMResourcePool": {
        "type": "object",
        "description": "A boxed array of *AgencyVMResourcePool*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyVMResourcePool"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentAnyCertificate": {
        "type": "object",
        "description": "Specifies an SSL policy that trusts any SSL certificate.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentSslTrust"
          }
        ]
      },
      "ArrayOfAgentAnyCertificate": {
        "type": "object",
        "description": "A boxed array of *AgentAnyCertificate*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentAnyCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentConfigInfo": {
        "type": "object",
        "description": "A description of what should be put on a host.\n\nBy setting the\n<code>productLineId</code> and <code>hostVersion</code>, you can specify\nthe types of hosts for which to use the <code>ConfigInfo</code>.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "productLineId": {
            "description": "The product line ID of the host.\n\nExamples of values are \"esx\" or\n\"embeddedEsx\". If omitted, the host's product line ID is not considered\nwhen matching an <code>AgentPackage</code> against a host.\n",
            "type": "string"
          },
          "hostVersion": {
            "description": "A dot-separated string of the host version.\n\nExamples of values are\n\"4.1.0\" \"3.5\", \"4.\\*\" where \\* is a wildcard meaning any version minor\nversion of the major version 4. If omitted, the host version will not\nbe considered when matching an <code>AgentPackage</code> against a\nhost.\nThis property is not used if\n*AgencyConfigInfoEx.vmPlacementPolicy* is set. It is client's\nresponsibility to trigger an agency upgrade with a new\n*AgentConfigInfo.ovfPackageUrl*.\n",
            "type": "string"
          },
          "ovfPackageUrl": {
            "description": "The URL of the solution's agent OVF package.\n\nIf not set, no agent\nvirtual machines are installed on the hosts covered by the scope.\nIf *AgencyConfigInfoEx.vmPlacementPolicy* is set, the VM needs to\nbe agnostic to the different host versions inside the cluster.\n",
            "type": "string"
          },
          "ovfSslTrust": {
            "description": "Specifies an SSL trust policy to be use for verification of the\nserver that hosts the *AgentConfigInfo.ovfPackageUrl*.\n\nIf not set, the server\ncertificate is validated against the trusted root certificates of the\nOS (Photon) and VECS (TRUSTED\\_ROOTS).\n\n***Since:*** vEAM API 8.2\n",
            "$ref": "#/components/schemas/AgentSslTrust"
          },
          "ovfEnvironment": {
            "description": "The part of the OVF environment that can be set by the solution.\n\nThis\nis where Properties that the agent virtual machine's OVF descriptor\nspecifies are set here. All properties that are specified as\nuser-configurable must be set.\n",
            "$ref": "#/components/schemas/AgentOvfEnvironmentInfo"
          },
          "vibUrl": {
            "description": "An optional URL to an offline bundle.\n\nIf not set, no VIB is installed\non the hosts in the scope. Offline bundles are only supported on 4.0\nhosts and later.\n\nVIB downgrade is not permitted - in case a VIB with the same name, but\nlower version is installed on a host in the scope the VIB installation\non that host will not succeed.\n\nIf two or more agents have the same VIB with different versions on the\nsame host, the install/uninstall behaviour is undefined (the VIB may\nremain installed, etc.).\n\nThe property is not used if *AgencyConfigInfoEx.vmPlacementPolicy*\nis set.\n",
            "type": "string"
          },
          "vibSslTrust": {
            "description": "Specifies an SSL trust policy to be use for verification of the\nserver that hosts the *AgentConfigInfo.vibUrl*.\n\nIf not set, the server\ncertificate is validated against the trusted root certificates of the\nOS (Photon) and VECS (TRUSTED\\_ROOTS).\n\n***Since:*** vEAM API 8.2\n",
            "$ref": "#/components/schemas/AgentSslTrust"
          },
          "vibMatchingRules": {
            "deprecated": true,
            "description": "Deprecated vIB matching rules are no longer supported by EAM. Same\noverlaps with VIB dependency requirements which reside in\neach VIB's metadata.\n\nOptional Vib matching rules.\n\nIf set, the Vib, specified by vibUrl, will\nbe installed either\n- if there is installed Vib on the host which name and version match\n  the regular expressions in the corresponding rule\n- or there isn't any installed Vib on the host with name which\n  matches the Vib name regular expression in the corresponding rule. Vib\n  matching rules are usually used for controlling VIB upgrades, in which\n  case the name regular expression matches any previous versions of the\n  agency Vib and version regular expression determines whether the\n  existing Vib should be upgraded.\n  \nFor every Vib in the Vib package, only one Vib matching rule can be\ndefined. If specified more than one, it is not determined which one\nwill be used. The Vib name regular expression in the Vib matching rule\nwill be matched against the name of the Vib which will be installed.\nOnly rules for Vibs which are defined in the Vib package metadata will\nbe taken in account.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentVibMatchingRule"
            }
          },
          "vibName": {
            "deprecated": true,
            "description": "Deprecated use VIB metadata to add such dependency.\n\nAn optional name of a VIB.\n\nIf set, no VIB is installed on the host. The\nhost is checked if a VIB with vibName is already installed on it. Also\nthe vibUrl must not be set together with the vibUrl.\n",
            "type": "string"
          },
          "dvFilterEnabled": {
            "deprecated": true,
            "description": "Deprecated that is a custom setup specific for a particular agency.\nThe agency owner should do it using other means, e.g.\n*AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterPowerOn* or\n*AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterProvisioning*\nhooks. Support for this has been removed. Seting this to\n<code>true</code> will no longer have any effect.\n\nIf set to <code>true</code>, the hosts in the scope must be configured\nfor DvFilter before VIBs and agent virtual machines are deployed on\nthem.\n\nIf not set or set to <code>false</code>, no DvFilter\nconfiguration is done on the hosts.\n",
            "type": "boolean"
          },
          "rebootHostAfterVibUninstall": {
            "deprecated": true,
            "description": "Deprecated express that requirement in the VIB descriptor with\n'live-remove-allowed=false'.\n\nAn optional boolean flag to specify whether the agent's host is\nrebooted after the VIB is uninstalled.\n\nIf not set, the default value is\n<code>false</code>. If set to <code>true</code>, the agent gets a\n*VibRequiresHostReboot* issue after a successful\nuninstallation.\n",
            "type": "boolean"
          },
          "vmciService": {
            "description": "If set the virtual machine will be configured with the services and\nallow VMCI access from the virtual machine to the installed VIB.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ovfDiskProvisioning": {
            "description": "AgentVM disk provisioning type.\n\nDefaults to *none* if not specified.\n",
            "type": "string"
          },
          "vmStoragePolicies": {
            "description": "Defines the storage policies configured on Agent VMs.\n\nStorage policies\nare configured on all VM related objects including disks.\nNOTE: The property needs to be configured on each update, otherwise\nvSphere ESX Agent Manager will unset this configuration for all future\nagent VMs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentStoragePolicy"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgentConfigInfo": {
        "type": "object",
        "description": "A boxed array of *AgentConfigInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentOvfEnvironmentInfo": {
        "type": "object",
        "description": "The <code>OvfEnvironment</code> is used to assign OVF environment\nproperties in the *AgentConfigInfo*.\n\nIt specifies the values that\nmap to properties in the agent virtual machine's OVF descriptor.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "ovfProperty": {
            "description": "The OVF properties that are assigned to the agent virtual machine's OVF\nenvironment when it is powered on.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentOvfEnvironmentInfoOvfProperty"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgentOvfEnvironmentInfo": {
        "type": "object",
        "description": "A boxed array of *AgentOvfEnvironmentInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentOvfEnvironmentInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentOvfEnvironmentInfoOvfProperty": {
        "type": "object",
        "description": "One OVF property.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "key": {
            "description": "The name of the property in the OVF descriptor.\n",
            "type": "string"
          },
          "value": {
            "description": "The value of the property.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgentOvfEnvironmentInfoOvfProperty": {
        "type": "object",
        "description": "A boxed array of *AgentOvfEnvironmentInfoOvfProperty*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentOvfEnvironmentInfoOvfProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentPinnedPemCertificate": {
        "type": "object",
        "description": "Specifies an SSL policy that trusts one specific pinned PEM encoded\nSSL certificate.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "sslCertificate": {
            "description": "PEM encoded pinned SSL certificate of the server that needs to be\ntrusted.\n",
            "type": "string"
          }
        },
        "required": [
          "sslCertificate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentSslTrust"
          }
        ]
      },
      "ArrayOfAgentPinnedPemCertificate": {
        "type": "object",
        "description": "A boxed array of *AgentPinnedPemCertificate*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentPinnedPemCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentRuntimeInfo": {
        "type": "object",
        "description": "Extends <code>RuntimeInfo</code> with information regarding the deployment\nof an agent on a specific host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "vmPowerState": {
            "deprecated": true,
            "description": "Deprecated get that info calling the virtual machine VIM API.\n\nThe power state of an agent virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
          },
          "receivingHeartBeat": {
            "deprecated": true,
            "description": "Deprecated get that info calling the virtual machine VIM API.\n\nTrue if the vSphere ESX Agent Manager is receiving heartbeats from the\nagent virtual machine.\n",
            "type": "boolean"
          },
          "host": {
            "description": "The agent host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vm": {
            "description": "The agent virtual machine.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmIp": {
            "deprecated": true,
            "description": "Deprecated get that info calling the virtual machine VIM API.\n\nThe IP address of the agent virtual machine\n",
            "type": "string"
          },
          "vmName": {
            "deprecated": true,
            "description": "Deprecated get that info calling the virtual machine VIM API.\n\nThe name of the agent virtual machine.\n",
            "type": "string"
          },
          "esxAgentResourcePool": {
            "deprecated": true,
            "description": "Deprecated in order to retrieve agent resource pool use VIM API.\n\nThe ESX agent resource pool in which the agent virtual machine resides.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "esxAgentFolder": {
            "deprecated": true,
            "description": "Deprecated in order to retrieve agent VM folder use VIM API.\n\nThe ESX agent folder in which the agent virtual machine resides.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "installedBulletin": {
            "deprecated": true,
            "description": "Deprecated use *AgentRuntimeInfo.installedVibs* instead.\n\nAn optional array of IDs of installed bulletins for this agent.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "installedVibs": {
            "description": "Information about the installed vibs on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibVibInfo"
            }
          },
          "agency": {
            "description": "The agency this agent belongs to.\n\nRefers instance of *Agency*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmHook": {
            "description": "Active VM hook.\n\nIf present agent is actively waiting for *Agent.MarkAsAvailable*.\nSee *AgentVmHook*.\n",
            "$ref": "#/components/schemas/AgentVmHook"
          }
        },
        "required": [
          "vmPowerState",
          "receivingHeartBeat",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EamObjectRuntimeInfo"
          }
        ]
      },
      "ArrayOfAgentRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *AgentRuntimeInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentSslTrust": {
        "type": "object",
        "description": "Specifies an SSL trust policy.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgentSslTrust": {
        "type": "object",
        "description": "A boxed array of *AgentSslTrust*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentSslTrust"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentStoragePolicy": {
        "type": "object",
        "description": "Specifies the storage policies configured on Agent VMs.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgentStoragePolicy": {
        "type": "object",
        "description": "A boxed array of *AgentStoragePolicy*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentStoragePolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentVibMatchingRule": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated vIB matching rules are no longer supported by EAM. Same\noverlaps with VIB dependency requirements which reside in each\nVIB's metadata.\n\nSpecifies regular expressions for Vib name and version.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "vibNameRegex": {
            "description": "Vib name regular expression.\n",
            "type": "string"
          },
          "vibVersionRegex": {
            "description": "Vib version regular expression.\n",
            "type": "string"
          }
        },
        "required": [
          "vibNameRegex",
          "vibVersionRegex"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgentVibMatchingRule": {
        "type": "object",
        "description": "A boxed array of *AgentVibMatchingRule*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentVibMatchingRule"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentVmHook": {
        "type": "object",
        "description": "Represents an active hook of the VM lifecycle which EAM is waiting on to\nbe processed by the client.\n\nThe supported hooks are defined by\n*AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterProvisioning*\nand\n*AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterProvisioning*.\nSee *Agent.MarkAsAvailable*\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "vm": {
            "description": "The VM for which lifecycle is this hook.\n\nThis VM may differ from *AgentRuntimeInfo.vm* while an upgrade\nof the agent VM is in progress.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmState": {
            "description": "The current VM lifecycle state.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "vmState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAgentVmHook": {
        "type": "object",
        "description": "A boxed array of *AgentVmHook*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentVmHook"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentVsanStoragePolicy": {
        "type": "object",
        "description": "Specifies vSAN specific storage policy configured on Agent VMs.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "profileId": {
            "description": "ID of a storage policy profile created by the user.\n\nThe type of the\nprofile must be *VirtualMachineDefinedProfileSpec*. The ID must be valid\n*VirtualMachineDefinedProfileSpec.profileId*.\n",
            "type": "string"
          }
        },
        "required": [
          "profileId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentStoragePolicy"
          }
        ]
      },
      "ArrayOfAgentVsanStoragePolicy": {
        "type": "object",
        "description": "A boxed array of *AgentVsanStoragePolicy*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentVsanStoragePolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamObjectRuntimeInfo": {
        "type": "object",
        "description": "The <code>RuntimeInfo</code> represents the runtime information of the vSphere ESX Agent\nManager managed\nobjects *Agency* and *Agent*.\n\nThe runtime information provides\ntwo kinds of information, namely, the\ndesired goal state of the entity and the status with regards to conforming\nto that goal state.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "status": {
            "description": "The health of the managed entity.\n\nThis denotes how well the entity conforms to the\ngoal state.\n\nSee also *EamObjectRuntimeInfoStatus_enum*.\n",
            "type": "string"
          },
          "issue": {
            "description": "Current issues that have been detected for this entity.\n\nEach issue can be remediated\nby invoking *EamObject.Resolve* or *EamObject.ResolveAll*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Issue"
            }
          },
          "goalState": {
            "description": "The desired state of the entity.\n\nSee also *EamObjectRuntimeInfoGoalState_enum*.\n",
            "type": "string"
          },
          "entity": {
            "description": "The *Agent* or *Agency* with which this <code>RuntimeInfo</code> object is associated.\n\nRefers instance of *EamObject*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "status",
          "goalState",
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEamObjectRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *EamObjectRuntimeInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamObjectRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CertificateNotTrustedFault": {
        "type": "object",
        "description": "An CertificateNotTrusted fault is thrown when an Agency's configuration\ncontains OVF package URL or VIB URL for that vSphere ESX Agent Manager is not\nable to make successful SSL trust verification of the server's certificate.\n\nReasons for this might be that the certificate provided via the API\n*AgentConfigInfo.ovfSslTrust* and *AgentConfigInfo.vibSslTrust*\nor via the script /usr/lib/vmware-eam/bin/eam-utility.py\n- is invalid.\n- does not match the server's certificate.\n  \nIf there is no provided certificate, the fault is thrown when the server's\ncertificate is not trusted by the system or is invalid - @see\n*AgentConfigInfo.ovfSslTrust* and\n*AgentConfigInfo.vibSslTrust*.\nTo enable Agency creation 1) provide a valid certificate used by the\nserver hosting the *AgentConfigInfo.ovfPackageUrl* or\n*AgentConfigInfo.vibUrl* or 2) ensure the server's certificate is\nsigned by a CA trusted by the system. Then retry the operation, vSphere\nESX Agent Manager will retry the SSL trust verification and proceed with\nreaching the desired state.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "url": {
            "description": "The URL that failed the SSL trust verification.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/EamAppFault"
          }
        ]
      },
      "ArrayOfCertificateNotTrustedFault": {
        "type": "object",
        "description": "A boxed array of *CertificateNotTrustedFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertificateNotTrustedFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DisabledClusterFault": {
        "type": "object",
        "description": "Thrown when trying to modify state over disabled clusters.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 7.6\n",
        "properties": {
          "disabledComputeResource": {
            "description": "The MoRefs of the disabled compute resources.\n\nRefers instances of *ComputeResource*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/EamAppFault"
          }
        ]
      },
      "ArrayOfDisabledClusterFault": {
        "type": "object",
        "description": "A boxed array of *DisabledClusterFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 7.6\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisabledClusterFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamAppFault": {
        "type": "object",
        "description": "Application related error\nAs opposed to system errors, application ones are always function of the\ninput and the current state.\n\nThey occur always upon same conditions. In most\nof the cases they are recoverable, i.e. the client can determine what is\nwrong and know how to recover.\nNOTE: Since there is not yet need to distinguish among specific error\nsub-types then we define a common type. Tomorrow, if necessary, we can add an\nadditional level of detailed exception types and make this one abstract.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EamRuntimeFault"
          }
        ]
      },
      "ArrayOfEamAppFault": {
        "type": "object",
        "description": "A boxed array of *EamAppFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamAppFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamFault": {
        "type": "object",
        "description": "The common base type for all vSphere ESX Agent Manager exceptions.\n\nTODO migrate to EamRuntimeFault\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfEamFault": {
        "type": "object",
        "description": "A boxed array of *EamFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamIOFault": {
        "type": "object",
        "description": "IO error\nNOTE: Since this type is a first of system-type errors we do not introduce a\ncommon base type for them.\n\nOnce add a second system type exception though, it\nshould be introduced.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EamRuntimeFault"
          }
        ]
      },
      "ArrayOfEamIOFault": {
        "type": "object",
        "description": "A boxed array of *EamIOFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamIOFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamRuntimeFault": {
        "type": "object",
        "description": "The common base type for all vSphere ESX Agent Manager runtime exceptions.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfEamRuntimeFault": {
        "type": "object",
        "description": "A boxed array of *EamRuntimeFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamRuntimeFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamServiceNotInitialized": {
        "type": "object",
        "description": "Thrown when calling vSphere ESX Agent Manager when it is not fully\ninitialized.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EamRuntimeFault"
          }
        ]
      },
      "ArrayOfEamServiceNotInitialized": {
        "type": "object",
        "description": "A boxed array of *EamServiceNotInitialized*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamServiceNotInitialized"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamSystemFault": {
        "type": "object",
        "description": "System fault.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EamRuntimeFault"
          }
        ]
      },
      "ArrayOfEamSystemFault": {
        "type": "object",
        "description": "A boxed array of *EamSystemFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamSystemFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidAgencyScope": {
        "type": "object",
        "description": "An <code>InvalidAgencyScope</code> fault is thrown when the scope in an\n*AgencyConfigInfo* is invalid.\n\nSee also *AgencyConfigInfo*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "unknownComputeResource": {
            "description": "The MoRefs of the unknown compute resources.\n\nRefers instances of *ComputeResource*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/EamFault"
          }
        ]
      },
      "ArrayOfInvalidAgencyScope": {
        "type": "object",
        "description": "A boxed array of *InvalidAgencyScope*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidAgencyScope"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidAgentConfiguration": {
        "type": "object",
        "description": "An <code>InvalidAgentConfiguration</code> fault is thrown when the agent\nconfiguration of an agency configuration is empty or invalid.\n\nSee also *AgencyConfigInfo*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "invalidAgentConfiguration": {
            "description": "An optional invalid agent configuration.\n",
            "$ref": "#/components/schemas/AgentConfigInfo"
          },
          "invalidField": {
            "description": "The invalid field.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/EamFault"
          }
        ]
      },
      "ArrayOfInvalidAgentConfiguration": {
        "type": "object",
        "description": "A boxed array of *InvalidAgentConfiguration*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidAgentConfiguration"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamInvalidLogin": {
        "type": "object",
        "description": "Thrown when a user cannot be authenticated.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EamRuntimeFault"
          }
        ]
      },
      "ArrayOfEamInvalidLogin": {
        "type": "object",
        "description": "A boxed array of *EamInvalidLogin*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamInvalidLogin"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamInvalidState": {
        "type": "object",
        "description": "Thrown when a user is not allowed to execute an operation.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EamAppFault"
          }
        ]
      },
      "ArrayOfEamInvalidState": {
        "type": "object",
        "description": "A boxed array of *EamInvalidState*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamInvalidState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamInvalidUrl": {
        "type": "object",
        "description": "An <code>InvalidUrl</code> fault is thrown when an *Agency*'s configuration scope\nis updated and the OVF package URL or VIB URL cannot be downloaded.\n\nSee also *AgencyConfigInfo*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "url": {
            "description": "The invalid URL.\n",
            "type": "string"
          },
          "malformedUrl": {
            "description": "True if the URL has an invalid format; otherwise, false.\n",
            "type": "boolean"
          },
          "unknownHost": {
            "description": "True if the host cannot be reached; otherwise, false.\n",
            "type": "boolean"
          },
          "connectionRefused": {
            "description": "True if the connection to the host was refused; otherwise, false.\n",
            "type": "boolean"
          },
          "responseCode": {
            "description": "The HTTP response code returned by the server.\n\nOnly set if <code>malformedUrl</code> is false.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "url",
          "malformedUrl",
          "unknownHost",
          "connectionRefused"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EamFault"
          }
        ]
      },
      "ArrayOfEamInvalidUrl": {
        "type": "object",
        "description": "A boxed array of *EamInvalidUrl*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamInvalidUrl"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamInvalidVibPackage": {
        "type": "object",
        "description": "Indicates for an invalid or unknown Vib package structure and/or format.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EamRuntimeFault"
          }
        ]
      },
      "ArrayOfEamInvalidVibPackage": {
        "type": "object",
        "description": "A boxed array of *EamInvalidVibPackage*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamInvalidVibPackage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoConnectionToVCenter": {
        "type": "object",
        "description": "Thrown when calling vSphere ESX Agent Manager when it is not connected to the vCenter server.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EamRuntimeFault"
          }
        ]
      },
      "ArrayOfNoConnectionToVCenter": {
        "type": "object",
        "description": "A boxed array of *NoConnectionToVCenter*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoConnectionToVCenter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotAuthorized": {
        "type": "object",
        "description": "Thrown when an a user cannot be authorized.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EamRuntimeFault"
          }
        ]
      },
      "ArrayOfNotAuthorized": {
        "type": "object",
        "description": "A boxed array of *NotAuthorized*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotAuthorized"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgencyDisabled": {
        "type": "object",
        "description": "Agency is disabled - one or more ClusterComputeResources from it's scope are\ndisabled.\n\nThis is not a remediable issue. To remediate, re-enable the cluster.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 7.6\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgencyIssue"
          }
        ]
      },
      "ArrayOfAgencyDisabled": {
        "type": "object",
        "description": "A boxed array of *AgencyDisabled*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 7.6\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgencyIssue": {
        "type": "object",
        "description": "Base class for all agency issues.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "agency": {
            "description": "The agency to which this issue belongs.\n\nRefers instance of *Agency*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "agencyName": {
            "description": "The name of the agency.\n",
            "type": "string"
          },
          "solutionId": {
            "description": "The ID of the solution to which this issue belongs.\n",
            "type": "string"
          },
          "solutionName": {
            "description": "The name of the solution to which this issue belongs.\n",
            "type": "string"
          }
        },
        "required": [
          "agency",
          "agencyName",
          "solutionId",
          "solutionName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Issue"
          }
        ]
      },
      "ArrayOfAgencyIssue": {
        "type": "object",
        "description": "A boxed array of *AgencyIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentIssue": {
        "type": "object",
        "description": "Base class for all agent issues.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "agent": {
            "description": "The agent that has this issue.\n\nRefers instance of *Agent*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "agentName": {
            "description": "The name of the agent.\n",
            "type": "string"
          },
          "host": {
            "description": "The managed object reference to the host on which this agent is located.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostName": {
            "description": "The name of the host on which this agent is located.\n",
            "type": "string"
          }
        },
        "required": [
          "agent",
          "agentName",
          "host",
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AgencyIssue"
          }
        ]
      },
      "ArrayOfAgentIssue": {
        "type": "object",
        "description": "A boxed array of *AgentIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAccessAgentOVF": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent virtual machine\ncannot be deployed because the vSphere ESX Agent Manager is unable to access the OVF\npackage for the agent.\n\nThis typically happens because the Web server providing the\nOVF package is down. The Web server is often internal to the solution\nthat created the Agency.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "downloadUrl": {
            "description": "The URL from which the OVF could not be downloaded.\n",
            "type": "string"
          }
        },
        "required": [
          "downloadUrl"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfCannotAccessAgentOVF": {
        "type": "object",
        "description": "A boxed array of *CannotAccessAgentOVF*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAccessAgentOVF"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAccessAgentVib": {
        "type": "object",
        "description": "An agent VIB module is expected to be deployed on a host, but the VIM module\ncannot be deployed because the vSphere ESX Agent Manager is unable to access the VIB\npackage for the agent.\n\nThis typically happens because the Web server providing the\nVIB package is down. The Web server is often internal to the solution\nthat created the Agency.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager reinstalls the VIB module.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "downloadUrl": {
            "description": "The URL from which the VIB package could not be downloaded.\n",
            "type": "string"
          }
        },
        "required": [
          "downloadUrl"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VibNotInstalled"
          }
        ]
      },
      "ArrayOfCannotAccessAgentVib": {
        "type": "object",
        "description": "A boxed array of *CannotAccessAgentVib*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAccessAgentVib"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EamCertificateNotTrusted": {
        "type": "object",
        "description": "The agent Virtual Machine deployment or agent VIB module installation cannot\nbe done, because vSphere ESX Agent Manager is not able to make successful SSL\ntrust verification of the server's certificate, when establishing connection\nto the provided *AgentConfigInfo.ovfPackageUrl* or\n*AgentConfigInfo.vibUrl*.\n\nReasons for this might be that the\ncertificate provided via the API *AgentConfigInfo.ovfSslTrust* and\n*AgentConfigInfo.vibSslTrust* or via the script\n/usr/lib/vmware-eam/bin/eam-utility.py\n- is invalid.\n- does not match the server's certificate.\n  \nIf there is no provided certificate, the issue is raised when the server's\ncertificate is not trusted by the system or is invalid - @see\n*AgentConfigInfo.ovfSslTrust* and\n*AgentConfigInfo.vibSslTrust*.\nTo remediate the agent Virtual Machine deployment or agent VIB module\ninstallation 1) provide a valid certificate used by the server hosting the\n*AgentConfigInfo.ovfPackageUrl* or *AgentConfigInfo.vibUrl* or\n2\\) ensure the server's certificate is signed by a CA trusted by the system.\nThen resolve this issue, vSphere ESX Agent Manager will retry the SSL trust\nverification and proceed with reaching the desired state.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "url": {
            "description": "The URL that failed the SSL trust verification.\n",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentIssue"
          }
        ]
      },
      "ArrayOfEamCertificateNotTrusted": {
        "type": "object",
        "description": "A boxed array of *EamCertificateNotTrusted*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EamCertificateNotTrusted"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensibleIssue": {
        "type": "object",
        "description": "Extensible issue class used by solutions to add custom issues to agents.\n\nWhen resolved, the issue is removed from the agent and an event is generated.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "typeId": {
            "description": "Unique string for this type of issue.\n\nThe type must match an event registered\nby the solution as part of its extension.\n",
            "type": "string"
          },
          "argument": {
            "description": "Arguments associated with the typeId.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          },
          "target": {
            "description": "A managed object reference to the object this issue is related to.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "agent": {
            "description": "An optional agent this issue pertains\n\nRefers instance of *Agent*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "agency": {
            "description": "An optional agency this issue pertains\n\nRefers instance of *Agency*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "typeId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Issue"
          }
        ]
      },
      "ArrayOfExtensibleIssue": {
        "type": "object",
        "description": "A boxed array of *ExtensibleIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensibleIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInMaintenanceMode": {
        "type": "object",
        "description": "An agent virtual machine operation is expected to be initiated on host, but\nthe agent virtual machine operation has not been initiated.\n\nThe reason is\nthat the host is in maintenance mode.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\ntakes the host out of maintenance mode and initiates the agent virtual\nmachine operation.\n\nResolving this issue in vSphere Lifecyle Manager environemnt will be no-op.\nIn those cases user must take the host out of Maintenance Mode manually or\nwait vSphere Lifecycle Maanger cluster remediation to complete (if any).\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmDeployed"
          }
        ]
      },
      "ArrayOfHostInMaintenanceMode": {
        "type": "object",
        "description": "A boxed array of *HostInMaintenanceMode*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInMaintenanceMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInStandbyMode": {
        "type": "object",
        "description": "An agent virtual machine is expected to be removed from a host, but the agent virtual machine has not\nbeen removed.\n\nThe reason is that the host is in standby mode.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager puts the host in standby mode\nand removes the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmDeployed"
          }
        ]
      },
      "ArrayOfHostInStandbyMode": {
        "type": "object",
        "description": "A boxed array of *HostInStandbyMode*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInStandbyMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIssue": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated all host issues were removed.\n\nBase class for all host issues.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "host": {
            "description": "The host to which the issue is related.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Issue"
          }
        ]
      },
      "ArrayOfHostIssue": {
        "type": "object",
        "description": "A boxed array of *HostIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ManagedHostNotReachable": {
        "type": "object",
        "description": "Managed ESXi Server is unreachable from vCenter Server or vSphere ESX Agent\nManager.\n\nCurrently all operations on the affected host are imposible. Reasons\nfor this might be :\n- ESXi Server is not connected from vCenter Server\n- ESXi Server powered off\n  \nThis is not a remediable issue. To remediate, connect, power on or reboot the\nhost.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentIssue"
          }
        ]
      },
      "ArrayOfManagedHostNotReachable": {
        "type": "object",
        "description": "A boxed array of *ManagedHostNotReachable*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedHostNotReachable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPoweredOff": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated hostPoweredOff will no longer be used, instead\n*ManagedHostNotReachable* will be raised.\n\nAn agent virtual machine is expected to be removed from a host, but the agent\nvirtual machine has not been removed.\n\nThe reason is that the host is powered\noff.\n\nThis is not a remediable issue. To remediate, power on the host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmDeployed"
          }
        ]
      },
      "ArrayOfHostPoweredOff": {
        "type": "object",
        "description": "A boxed array of *HostPoweredOff*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPoweredOff"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ImmediateHostRebootRequired": {
        "type": "object",
        "description": "Live VIB operation failed.\n\nAn immediate reboot is required to clear live VIB\noperation failure.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nputs the host into maintenance mode and reboots it.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibIssue"
          }
        ]
      },
      "ArrayOfImmediateHostRebootRequired": {
        "type": "object",
        "description": "A boxed array of *ImmediateHostRebootRequired*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImmediateHostRebootRequired"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IncompatibleHostVersion": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent could not be\ndeployed because it was incompatible with the host.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager redeployes the agent. However,\nthe problem is likely to persist until either the host or the solution has been\nupgraded, so that the agent will become compatible with the host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfIncompatibleHostVersion": {
        "type": "object",
        "description": "A boxed array of *IncompatibleHostVersion*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncompatibleHostVersion"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientIpAddresses": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated this issue is no longer raised by EAM. It is replaced by\n*InvalidConfig*.\n\nAn agent virtual machine is expected to be powered on, but there are no free IP addresses in the\nagent's pool of virtual machine IP addresses.\n\nTo remediate, free some IP addresses or add some more to the IP pool and invoke\n<code>resolve</code>.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "network": {
            "description": "The agent virtual machine network.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmPoweredOff"
          }
        ]
      },
      "ArrayOfInsufficientIpAddresses": {
        "type": "object",
        "description": "A boxed array of *InsufficientIpAddresses*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientIpAddresses"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientResources": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent virtual machine could not be\ndeployed because the host does not have enough free CPU or memory resources.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent virtual machine. However,\nthe problem is likely to persist until enough CPU and memory resources are made available.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfInsufficientResources": {
        "type": "object",
        "description": "A boxed array of *InsufficientResources*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientResources"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientSpace": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent virtual machine could not be\ndeployed because the host's agent datastore did not have enough free space.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent virtual machine. However,\nthe problem is likely to persist until either space is freed up on the host's agent\nvirtual machine datastore or a new agent virtual machine datastore with enough free space is configured.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfInsufficientSpace": {
        "type": "object",
        "description": "A boxed array of *InsufficientSpace*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientSpace"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidConfig": {
        "type": "object",
        "description": "Invalid configuration is preventing a virtual machine operation.\n\nTypically\nthe attached error indicates the particular reason why vSphere ESX Agent\nManager is unable to power on or reconfigure the agent virtual machine.\n\nThis is a passive remediable issue. To remediate update the virtual machine\nconfiguration.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "error": {
            "description": "The error, that caused this issue.\n\nIt must be either MethodFault or\nRuntimeFault.\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "error"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfInvalidConfig": {
        "type": "object",
        "description": "A boxed array of *InvalidConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Issue": {
        "type": "object",
        "description": "An issue represents a problem encountered while deploying and configurating agents\nin a vCenter installation.\n\nAn issue conveys the type of problem and the\nentitity on which the problem has been encountered. Most issues are related to agents,\nbut they can also relate to an agency or a host.\n\nThe set of issues provided by the vSphere ESX Agent Manager describes the discrepency between\nthe _desired_ agent deployment state, as defined by the agency configurations,\nand the _actual_ deployment. The (@link EamObject.RuntimeInfo.Status.status)\nof an agency or agent is green if it has reached its goal state. It is\nmarked as yellow if the vSphere ESX Agent Manager is actively working to bring the object\nto its goal state. It is red if there is a discrepency between the current state and\nthe desired state. In the red state, a set of issues are filed on the object that\ndescribe the reason for the discrepency between the desired and actual states.\n\nIssues are characterized as either active or passive remediable issues. For an active\nremediable issue, the vSphere ESX Agent Manager can actively try to solve the issue. For\nexample, by deploying a new agent, removing an agent, changing its power state, and so\non. For a passive remediable issue, the vSphere ESX Agent Manager is not able to solve the\nproblem directly, and can only report the problem. For example, this could be\ncaused by an incomplete host configuration.\n\nWhen <code>resolve</code> is called for an active remediable issue, the vSphere ESX Agent Manager\nstarts performing the appropiate remediation steps for the particular issue. For a passive\nremediable issue, the EAM manager simply checks if the condition\nstill exists, and if not it removes the issue.\n\nThe vSphere ESX Agent Manager actively monitors most conditions relating to both\nactive and passive issues. Thus, it often automatically discovers when an\nissue has been remediated and removes the issue without needing to explicitly\ncall <code>resolve</code> on an issue.\n\nThe complete Issue hierarchy is shown below:\n- *Issue*\n  - *AgencyIssue*\n    - *AgentIssue*\n    - *ManagedHostNotReachable*\n      - *VmNotDeployed*\n        - *CannotAccessAgentOVF*\n        - *IncompatibleHostVersion*\n        - *InsufficientResources*\n        - *InsufficientSpace*\n        - *OvfInvalidFormat*\n        - *NoAgentVmDatastore*\n        - *NoAgentVmNetwork*\n      - *VmIssue*\n        - *OvfInvalidProperty*\n        - *VmDeployed*\n          - *HostInMaintenanceMode*\n          - *HostInStandbyMode*\n        - *VmCorrupted*\n        - *VmOrphaned*\n        - *VmPoweredOff*\n          - *InsufficientIpAddresses*\n          - *MissingAgentIpPool*\n        - *VmPoweredOn*\n        - *VmSuspended*\n      - *VibIssue*\n        - *VibCannotPutHostInMaintenanceMode*\n        - *VibNotInstalled*\n          - *CannotAccessAgentVib*\n          - *VibDependenciesNotMetByHost*\n          - *VibInvalidFormat*\n          - *VibRequirementsNotMetByHost*\n        - *VibRequiresHostInMaintenanceMode*\n        - *VibRequiresHostReboot*\n        - *VibRequiresManualInstallation*\n        - *VibRequiresManualUninstallation*\n        - *ImmediateHostRebootRequired*\n    - *OrphanedAgency*\n    - *IntegrityAgencyVUMIssue*\n      - *IntegrityAgencyVUMUnavailable*\n      - *IntegrityAgencyCannotStageSoftware*\n      - *IntegrityAgencyCannotDeleteSoftware*\n    - *ClusterAgentAgentIssue*\n      - *ClusterAgentVmIssue*\n        - *ClusterAgentVmNotRemoved*\n        - *ClusterAgentVmPoweredOff*\n          - *ClusterAgentInsufficientClusterResources*\n      - *ClusterAgentVmNotDeployed*\n        - *ClusterAgentInsufficientClusterSpace*\n        - *ClusterAgentMissingClusterVmDatastore*\n        - *ClusterAgentMissingClusterVmNetwork*\n          \nSee also *EamObject.Resolve*, *EamObject.ResolveAll*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "key": {
            "description": "A unique identifier per <code>Issue</code> instance.\n",
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "description": "A localized message describing the issue.\n",
            "type": "string"
          },
          "time": {
            "description": "The point in time when this issue was generated.\n\nNote that issues can be\nregenerated periodically, so this time does not neccessarily reflect the\nfirst time the issue was detected.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "key",
          "description",
          "time"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIssue": {
        "type": "object",
        "description": "A boxed array of *Issue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Issue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingAgentIpPool": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated this issue is no longer raised by EAM. It is replaced by\n*InvalidConfig*.\n\nAn agent virtual machine is expected to be powered on, but the agent virtual machine is powered off because\nthere there are no IP addresses defined on the agent's virtual machine network.\n\nTo remediate, create an IP pool on the agent's virtual machine network and invoke <code>resolve</code>.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "network": {
            "description": "The agent virtual machine network.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmPoweredOff"
          }
        ]
      },
      "ArrayOfMissingAgentIpPool": {
        "type": "object",
        "description": "A boxed array of *MissingAgentIpPool*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingAgentIpPool"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingDvFilterSwitch": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated dvFilters are no longer supported by EAM.\n\nThe agent is using the dvFilter API on the ESX host, but no dvFilter switch\nhas been configured on the host.\n\nThis can happen due to host communication\nfailures or if the dvSwitch was (presumably accidentally) deleted from the\nhost configuration.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nrecreates the dvFilter switch.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentIssue"
          }
        ]
      },
      "ArrayOfMissingDvFilterSwitch": {
        "type": "object",
        "description": "A boxed array of *MissingDvFilterSwitch*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingDvFilterSwitch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoAgentVmDatastore": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent cannot be\ndeployed because the agent datastore has not been configured on the host.\n\nThis is a passive remediable issue. The administrator must configure\nthe agent virtual machine datastore on the host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfNoAgentVmDatastore": {
        "type": "object",
        "description": "A boxed array of *NoAgentVmDatastore*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoAgentVmDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoAgentVmNetwork": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent cannot be\ndeployed because the agent network has not been configured on the host.\n\nThis is a passive remediable issue. The administrator must configure\nthe agent virtual machine network on the host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfNoAgentVmNetwork": {
        "type": "object",
        "description": "A boxed array of *NoAgentVmNetwork*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoAgentVmNetwork"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoCustomAgentVmDatastore": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent cannot be\ndeployed because the agent datastore has not been configured on the host.\n\nThe host\nneeds to be added to one of the datastores listed in customAgentVmDatastore.\n\nThis is a passive remediable issue. The administrator must add one of the datastores\ncustomAgentVmDatastore to the host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "customAgentVmDatastore": {
            "description": "A non-empty array of agent VM datastores that is required on the host.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "customAgentVmDatastoreName": {
            "description": "The names of the agent VM datastores.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "customAgentVmDatastore",
          "customAgentVmDatastoreName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NoAgentVmDatastore"
          }
        ]
      },
      "ArrayOfNoCustomAgentVmDatastore": {
        "type": "object",
        "description": "A boxed array of *NoCustomAgentVmDatastore*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoCustomAgentVmDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoCustomAgentVmNetwork": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent cannot be\ndeployed because the agent network has not been configured on the host.\n\nThe host\nneeds to be added to one of the networks listed in customAgentVmNetwork.\n\nThis is a passive remediable issue. The administrator must add one of the networks\ncustomAgentVmNetwork to the host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "customAgentVmNetwork": {
            "description": "A non-empty array of agent VM networks that is required on the host.\n\nRefers instances of *Network*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "customAgentVmNetworkName": {
            "description": "The names of the agent VM networks.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "customAgentVmNetwork",
          "customAgentVmNetworkName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NoAgentVmNetwork"
          }
        ]
      },
      "ArrayOfNoCustomAgentVmNetwork": {
        "type": "object",
        "description": "A boxed array of *NoCustomAgentVmNetwork*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoCustomAgentVmNetwork"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoDiscoverableAgentVmDatastore": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the\nagent cannot be deployed because the agent VM datastore could not be\ndiscovered, as per defined selection policy, on the host.\n\nThis issue can be remediated passively if the administrator configures\nnew datastores on the host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfNoDiscoverableAgentVmDatastore": {
        "type": "object",
        "description": "A boxed array of *NoDiscoverableAgentVmDatastore*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoDiscoverableAgentVmDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoDiscoverableAgentVmNetwork": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the\nagent cannot be deployed because the agent VM network could not be\ndiscovered, as per defined selection policy, on the host.\n\nThis issue can be remediated passively if the administrator configures\nnew networks on the host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfNoDiscoverableAgentVmNetwork": {
        "type": "object",
        "description": "A boxed array of *NoDiscoverableAgentVmNetwork*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoDiscoverableAgentVmNetwork"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OrphanedAgency": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated eAM no longer raises this issue. If agecny is getting orphaned\nEAM simply destroys it.\n\nThe solution that created the agency is no longer registered with the vCenter\nserver.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nundeploys and removes the agency.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgencyIssue"
          }
        ]
      },
      "ArrayOfOrphanedAgency": {
        "type": "object",
        "description": "A boxed array of *OrphanedAgency*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrphanedAgency"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OrphanedDvFilterSwitch": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated dvFilters are no longer supported by EAM.\n\nA dvFilter switch exists on a host but no agents on the host depend on\ndvFilter.\n\nThis typically happens if a host is disconnected when an agency\nconfiguration changed.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nremoves the dvFilterSwitch.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostIssue"
          }
        ]
      },
      "ArrayOfOrphanedDvFilterSwitch": {
        "type": "object",
        "description": "A boxed array of *OrphanedDvFilterSwitch*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrphanedDvFilterSwitch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInvalidFormat": {
        "type": "object",
        "description": "An Agent virtual machine is expected to be provisioned on a host, but it failed to do so\nbecause the provisioning of the OVF package failed.\n\nThe provisioning is unlikely to\nsucceed until the solution that provides the OVF package has been upgraded or\npatched to provide a valid OVF package for the agent virtual machine.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager attempts the OVF provisioning again.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "error": {
            "description": "An optional list of errors that caused this issue.\n\nThese errors are generated by the\nvCenter server.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfOvfInvalidFormat": {
        "type": "object",
        "description": "A boxed array of *OvfInvalidFormat*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInvalidFormat"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInvalidProperty": {
        "type": "object",
        "description": "An agent virtual machine needs to be provisioned or reconfigured, but an OVF\nproperty is either missing or has an invalid value.\n\nThis is a passive remediable issue. To remediate, update the OVF environment\nin the agent configuration used to provision the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "error": {
            "description": "An optional list of errors that caused this issue.\n\nThese errors are\ngenerated by the vCenter server.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentIssue"
          }
        ]
      },
      "ArrayOfOvfInvalidProperty": {
        "type": "object",
        "description": "A boxed array of *OvfInvalidProperty*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInvalidProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnknownAgentVm": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated presence of unknown VMs is no more acceptable.\n\nAn agent virtual machine has been found in the vCenter inventory that does\nnot belong to any agency in this vSphere ESX Agent Manager server instance.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\npowers off (if powered on) and deletes the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "vm": {
            "description": "The unknown agent virtual machine.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostIssue"
          }
        ]
      },
      "ArrayOfUnknownAgentVm": {
        "type": "object",
        "description": "A boxed array of *UnknownAgentVm*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnknownAgentVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibCannotPutHostInMaintenanceMode": {
        "type": "object",
        "description": "A VIB module requires the host to be in maintenance mode, but the vSphere ESX Agent Manager\nis unable toput the host in maintenance mode.\n\nThis can happen if there are virtual machines running on the host that cannot\nbe moved and must be stopped before the host can enter maintenance mode.\n\nThis is an active remediable issue. To remediate, the vSphere ESX Agent Manager will try again\nto put the host into maintenance mode. However, the vSphere ESX Agent Manager will not power\noff or move any virtual machines to put the host into maintenance mode. This must be\ndone by the client.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibIssue"
          }
        ]
      },
      "ArrayOfVibCannotPutHostInMaintenanceMode": {
        "type": "object",
        "description": "A boxed array of *VibCannotPutHostInMaintenanceMode*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibCannotPutHostInMaintenanceMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibCannotPutHostOutOfMaintenanceMode": {
        "type": "object",
        "description": "ESXi host is in Maintenance Mode.\n\nThis prevents powering on and\nre-configuring Agent Virtual Machines. Also if the host's entering in\nMaintenance Mode was initiated by vSphere Esx Agent Manager, the same is\nresponsible to initiate exit Maintenance Mode.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nputs the host out of Maintenance Mode.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibIssue"
          }
        ]
      },
      "ArrayOfVibCannotPutHostOutOfMaintenanceMode": {
        "type": "object",
        "description": "A boxed array of *VibCannotPutHostOutOfMaintenanceMode*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibCannotPutHostOutOfMaintenanceMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibDependenciesNotMetByHost": {
        "type": "object",
        "description": "A VIB module is expected to be installed on a host, but the dependencies,\ndescribred within the module, were not satisfied by the host.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nattempts the VIB installation again.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibNotInstalled"
          }
        ]
      },
      "ArrayOfVibDependenciesNotMetByHost": {
        "type": "object",
        "description": "A boxed array of *VibDependenciesNotMetByHost*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibDependenciesNotMetByHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibInvalidFormat": {
        "type": "object",
        "description": "A VIB module is expected to be installed on a host, but it failed to install\nsince the VIB package is in an invalid format.\n\nThe installation is unlikely to\nsucceed until the solution provding the bundle has been upgraded or patched to\nprovide a valid VIB package.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager attempts the VIB installation again.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibNotInstalled"
          }
        ]
      },
      "ArrayOfVibInvalidFormat": {
        "type": "object",
        "description": "A boxed array of *VibInvalidFormat*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibInvalidFormat"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibIssue": {
        "type": "object",
        "description": "Base class for all issues related to the VIB modules that belong to an agent.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentIssue"
          }
        ]
      },
      "ArrayOfVibIssue": {
        "type": "object",
        "description": "A boxed array of *VibIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibNotInstalled": {
        "type": "object",
        "description": "A VIB module is expected to be installed/removed on a host, but it has not\nbeen installed/removed.\n\nTypically, a more specific issue (a subclass of this\nissue) indicates the particular reason why the VIB module operation failed.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nattempts the VIB operation again.\nIn case of unreachable host vSphere ESX Agent Manager will remediate the\nissue automatically when the host becomes reachable.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibIssue"
          }
        ]
      },
      "ArrayOfVibNotInstalled": {
        "type": "object",
        "description": "A boxed array of *VibNotInstalled*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibNotInstalled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibRequirementsNotMetByHost": {
        "type": "object",
        "description": "A VIB module is expected to be installed on a host, but the system\nrequirements, describred within the module, were not satisfied by the host.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nattempts the VIB installation again.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibNotInstalled"
          }
        ]
      },
      "ArrayOfVibRequirementsNotMetByHost": {
        "type": "object",
        "description": "A boxed array of *VibRequirementsNotMetByHost*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibRequirementsNotMetByHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibRequiresHostInMaintenanceMode": {
        "type": "object",
        "description": "A VIB module has been uploaded to the host, but will not be fully installed\nuntil the host has been put in maintenance mode.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager puts the host into maintenance\nmode.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibIssue"
          }
        ]
      },
      "ArrayOfVibRequiresHostInMaintenanceMode": {
        "type": "object",
        "description": "A boxed array of *VibRequiresHostInMaintenanceMode*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibRequiresHostInMaintenanceMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibRequiresHostReboot": {
        "type": "object",
        "description": "A VIB module has been uploaded to the host, but will not be activated\nuntil the host is rebooted.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager puts the host into maintenance\nmode and reboots it.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibIssue"
          }
        ]
      },
      "ArrayOfVibRequiresHostReboot": {
        "type": "object",
        "description": "A boxed array of *VibRequiresHostReboot*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibRequiresHostReboot"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibRequiresManualInstallation": {
        "type": "object",
        "description": "A VIB module failed to install, but failed to do so because automatic installation\nby vSphere ESX Agent Manager is not allowed on the host.\n\nThis is a passive remediable issue. To remediate, go to VMware Update Manager\nand install the required bulletins on the host or add the bulletins to the\nhost's image profile.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "bulletin": {
            "description": "A non-empty array of bulletins required to be installed on the host.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "bulletin"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VibIssue"
          }
        ]
      },
      "ArrayOfVibRequiresManualInstallation": {
        "type": "object",
        "description": "A boxed array of *VibRequiresManualInstallation*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibRequiresManualInstallation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibRequiresManualUninstallation": {
        "type": "object",
        "description": "A VIB module failed to uninstall, but failed to do so because automatic uninstallation\nby vSphere ESX Agent Manager is not allowed on the host.\n\nThis is a passive remediable issue. To remediate, go to VMware Update Manager\nand uninstall the required bulletins on the host or remove the bulletins from the\nhost's image profile.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "bulletin": {
            "description": "A non-empty array of bulletins required to be uninstalled on the host.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "bulletin"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VibIssue"
          }
        ]
      },
      "ArrayOfVibRequiresManualUninstallation": {
        "type": "object",
        "description": "A boxed array of *VibRequiresManualUninstallation*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibRequiresManualUninstallation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmCorrupted": {
        "type": "object",
        "description": "An agent virtual machine is corrupted.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager deletes and\nreprovisions the agent virtual machine. To remediate manually, fix the missing file issue and power on the\nagent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "missingFile": {
            "description": "An optional path for a missing file.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfVmCorrupted": {
        "type": "object",
        "description": "A boxed array of *VmCorrupted*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmCorrupted"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDeployed": {
        "type": "object",
        "description": "An agent virtual machine is expected to be removed from a host, but the agent virtual machine has not\nbeen removed.\n\nTypically, a more specific issue (a subclass of this issue)\nindicates the particular reason why vSphere ESX Agent Manager was unable to remove the\nagent virtual machine, such as the host is in maintenance mode, powered off or in standby\nmode.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfVmDeployed": {
        "type": "object",
        "description": "A boxed array of *VmDeployed*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDeployed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmIssue": {
        "type": "object",
        "description": "Base class for all issues related to the deployed virtual machine for a\nparticular agent.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine to which this issue is related.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentIssue"
          }
        ]
      },
      "ArrayOfVmIssue": {
        "type": "object",
        "description": "A boxed array of *VmIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMarkedAsTemplate": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated template agent VMs are not used anymore by VM deployment and\nmonitoring.\n\nAn agent virtual machine is a virtual machine template.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nconverts the agent virtual machine template to a virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfVmMarkedAsTemplate": {
        "type": "object",
        "description": "A boxed array of *VmMarkedAsTemplate*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMarkedAsTemplate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmNotDeployed": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent virtual machine has not\nbeen deployed.\n\nTypically, a more specific issue (a subclass of this issue)\nindicates the particular reason why vSphere ESX Agent Manager was unable to deploy the\nagent, such as being unable to access the OVF package for the agent or a missing host\nconfiguration. This issue can also happen if the agent virtual machine is explicitly deleted\nfrom the host.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentIssue"
          }
        ]
      },
      "ArrayOfVmNotDeployed": {
        "type": "object",
        "description": "A boxed array of *VmNotDeployed*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmNotDeployed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmOrphaned": {
        "type": "object",
        "description": "An agent virtual machine exists on a host, but the host is no longer part of scope for the\nagency.\n\nThis typically happens if a host is disconnected when the agency\nconfiguration is changed.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager deletes the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfVmOrphaned": {
        "type": "object",
        "description": "A boxed array of *VmOrphaned*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmOrphaned"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPoweredOff": {
        "type": "object",
        "description": "An agent virtual machine is expected to be powered on, but the agent virtual machine is powered off.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\npowers on the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfVmPoweredOff": {
        "type": "object",
        "description": "A boxed array of *VmPoweredOff*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPoweredOff"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPoweredOn": {
        "type": "object",
        "description": "An agent virtual machine is expected to be powered off, but the agent virtual machine is powered on.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\npowers off the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfVmPoweredOn": {
        "type": "object",
        "description": "A boxed array of *VmPoweredOn*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPoweredOn"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRequiresHostOutOfMaintenanceMode": {
        "type": "object",
        "description": "An agent virtual machine is expected to be deployed on a host, but the agent\nvirtual machine cannot be deployed because the host is in Maintenance Mode.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\ntakes the host out of Maintenance Mode and deploys the agent virtual machine.\n\nResolving this issue in vSphere Lifecyle Manager environemnt will be no-op.\nIn those cases user must take the host out of Maintenance Mode manually or\nwait vSphere Lifecycle Maanger cluster remediation to complete (if any).\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 7.2\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmNotDeployed"
          }
        ]
      },
      "ArrayOfVmRequiresHostOutOfMaintenanceMode": {
        "type": "object",
        "description": "A boxed array of *VmRequiresHostOutOfMaintenanceMode*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 7.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRequiresHostOutOfMaintenanceMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSuspended": {
        "type": "object",
        "description": "An agent virtual machine is expected to be powered on, but the agent virtual machine is suspended.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager powers on the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfVmSuspended": {
        "type": "object",
        "description": "A boxed array of *VmSuspended*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSuspended"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmWrongFolder": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated eAM does not try to override any action powerfull user has taken.\n\nAn agent virtual machine is expected to be located in a designated agent\nvirtual machine folder, but is found in a different folder.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nmoves the agent virtual machine back into the designated agent folder.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "currentFolder": {
            "description": "The folder in which the virtual machine currently resides.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "requiredFolder": {
            "description": "The ESX agent folder in which the virtual machine should reside.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "currentFolder",
          "requiredFolder"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfVmWrongFolder": {
        "type": "object",
        "description": "A boxed array of *VmWrongFolder*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmWrongFolder"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmWrongResourcePool": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated eAM does not try to override any action powerfull user has taken.\n\nAn agent virtual machine is expected to be located in a designated agent\nvirtual machine resource pool, but is found in a different resource pool.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nmoves the agent virtual machine back into the designated agent resource pool.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "currentResourcePool": {
            "description": "The resource pool in which the VM currently resides.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "requiredResourcePool": {
            "description": "The ESX agent resource pool in which the VM should reside.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "currentResourcePool",
          "requiredResourcePool"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmIssue"
          }
        ]
      },
      "ArrayOfVmWrongResourcePool": {
        "type": "object",
        "description": "A boxed array of *VmWrongResourcePool*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmWrongResourcePool"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentAgentIssue": {
        "type": "object",
        "description": "Base class for all cluster bound agents.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "agent": {
            "description": "The agent that has this issue.\n\nRefers instance of *Agent*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "cluster": {
            "description": "The cluster for which this issue is raised.\n\nMigth be null if the cluster\nis missing in vCenter Server inventory.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "agent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AgencyIssue"
          }
        ]
      },
      "ArrayOfClusterAgentAgentIssue": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentAgentIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentAgentIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentCertificateNotTrusted": {
        "type": "object",
        "description": "The cluster agent Virtual Machine cannot be deployed, because vSphere ESX\nAgent Manager is not able to make successful SSL trust verification of the\nserver's certificate, when establishing connection to the provided\n*AgentConfigInfo.ovfPackageUrl*.\n\nReasons for this might be that the\ncertificate provided via the API *AgentConfigInfo.ovfSslTrust* or via\nthe script /usr/lib/vmware-eam/bin/eam-utility.py\n- is invalid.\n- does not match the server's certificate.\n  \nIf there is no provided certificate, the issue is raised when the server's\ncertificate is not trusted by the system or invalid - @see\n*AgentConfigInfo.ovfSslTrust*.\nTo remediate the cluster agent Virtual Machine deployment 1) provide a valid\ncertificate used by the server hosting the\n*AgentConfigInfo.ovfPackageUrl* or 2) ensure the server's certificate\nis signed by a CA trusted by the system. Then resolve this issue, vSphere ESX\nAgent Manager will retry the SSL trust verification and proceed with reaching\nthe desired state.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "url": {
            "description": "The URL that failed the SSL trust verification.\n",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmNotDeployed"
          }
        ]
      },
      "ArrayOfClusterAgentCertificateNotTrusted": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentCertificateNotTrusted*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentCertificateNotTrusted"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentInsufficientClusterResources": {
        "type": "object",
        "description": "The cluster agent Virtual Machine could not be powered-on, because the\ncluster does not have enough CPU or memory resources.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\npowers on the agent Virtual Machine. However, the problem is likely to\npersist until enough CPU and memory resources are made available.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmPoweredOff"
          }
        ]
      },
      "ArrayOfClusterAgentInsufficientClusterResources": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentInsufficientClusterResources*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentInsufficientClusterResources"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentInsufficientClusterSpace": {
        "type": "object",
        "description": "The cluster agent Virtual Machine cannot be deployed, because any of the\nconfigured datastores does not have enough disk space.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nredeploys the agent Virtual Machine. However, the problem is likely to\npersist until enough disk space is freed up on the cluster datastore.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmNotDeployed"
          }
        ]
      },
      "ArrayOfClusterAgentInsufficientClusterSpace": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentInsufficientClusterSpace*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentInsufficientClusterSpace"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentInvalidConfig": {
        "type": "object",
        "description": "Invalid configuration is preventing a cluster agent virtual machine\noperation.\n\nTypically the attached error indicates the particular reason why\nvSphere ESX Agent Manager is unable to power on or reconfigure the agent\nvirtual machine.\n\nThis is a passive remediable issue. To remediate update the virtual machine\nconfiguration.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "error": {
            "description": "The error, that caused this issue.\n\nIt must be either MethodFault or\nRuntimeFault.\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "error"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmIssue"
          }
        ]
      },
      "ArrayOfClusterAgentInvalidConfig": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentInvalidConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentInvalidConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentMissingClusterVmDatastore": {
        "type": "object",
        "description": "The cluster agent Virtual Machine cannot be deployed, because any of the\nconfigured datastores does not exist on the cluster.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nredeploys the agent Virtual Machine. However, the problem is likely to\npersist until required Virtual Machine datastores are configured on the\ncluster.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "missingDatastores": {
            "description": "A non-empty array of cluster agent VM datastores that are missing on the\ncluster.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmNotDeployed"
          }
        ]
      },
      "ArrayOfClusterAgentMissingClusterVmDatastore": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentMissingClusterVmDatastore*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentMissingClusterVmDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentMissingClusterVmNetwork": {
        "type": "object",
        "description": "The cluster agent Virtual Machine cannot be deployed, because the configured\nnetworks do not exist on the cluster.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nredeploys the agent Virtual Machine. However, the problem is likely to\npersist until required Virtual Machine networks are configured on the\ncluster.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "missingNetworks": {
            "description": "A non-empty array of cluster agent VM networks that are required on the\ncluster.\n\nRefers instances of *Network*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "networkNames": {
            "description": "The names of the cluster agent VM networks.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmNotDeployed"
          }
        ]
      },
      "ArrayOfClusterAgentMissingClusterVmNetwork": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentMissingClusterVmNetwork*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentMissingClusterVmNetwork"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentOvfInvalidProperty": {
        "type": "object",
        "description": "A cluster agent virtual machine needs to be provisioned, but an OVF property\nis either missing or has an invalid value.\n\nThis is a passive remediable issue. To remediate, update the OVF environment\nin the agent configuration used to provision the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "error": {
            "description": "An optional list of errors that caused this issue.\n\nThese errors are\ngenerated by the vCenter server.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentAgentIssue"
          }
        ]
      },
      "ArrayOfClusterAgentOvfInvalidProperty": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentOvfInvalidProperty*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentOvfInvalidProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentVmIssue": {
        "type": "object",
        "description": "Base class for all cluster bound Virtual Machines.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "vm": {
            "description": "The Virtual Machine to which this issue is related.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentAgentIssue"
          }
        ]
      },
      "ArrayOfClusterAgentVmIssue": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentVmIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentVmIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentVmNotDeployed": {
        "type": "object",
        "description": "A cluster agent Virtual Machine is expected to be deployed on a cluster, but\nthe cluster agent Virtual Machine has not been deployed or has been exlicitly\ndeleted from the cluster.\n\nTypically more specific issue (a subclass of this\nissue) indicates the particular reason why vSphere ESX Agent Manager was\nunable to deploy the cluster agent Virtual Machine.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nredeploys the cluster agent Virtual Machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentAgentIssue"
          }
        ]
      },
      "ArrayOfClusterAgentVmNotDeployed": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentVmNotDeployed*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentVmNotDeployed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentVmNotRemoved": {
        "type": "object",
        "description": "The cluster agent Virtual Machine can not be removed from a cluster.\n\nTypically the description indicates the particular reason why vSphere ESX\nAgent Manager was unable to remove the cluster agent Virtual Machine.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nremoves the cluster agent Virtual Machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmIssue"
          }
        ]
      },
      "ArrayOfClusterAgentVmNotRemoved": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentVmNotRemoved*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentVmNotRemoved"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentVmPoweredOff": {
        "type": "object",
        "description": "A cluster agent Virtual Machine is expected to be powered on, but the agent\nVirtual Machine is powered off.\n\nTypically more specific issue (a subclass of\nthis issue) indicates the particular reason why vSphere ESX Agent Manager was\nunable to power on the cluster agent Virtual Machine.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\npowers on the cluster agent Virtual Machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmIssue"
          }
        ]
      },
      "ArrayOfClusterAgentVmPoweredOff": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentVmPoweredOff*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentVmPoweredOff"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentVmPoweredOn": {
        "type": "object",
        "description": "A cluster agent virtual machine is expected to be powered off, but the agent\nvirtual machine is powered on.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\npowers off the agent virtual machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmIssue"
          }
        ]
      },
      "ArrayOfClusterAgentVmPoweredOn": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentVmPoweredOn*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentVmPoweredOn"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAgentVmSuspended": {
        "type": "object",
        "description": "A cluster agent Virtual Machine is expected to be powered on, but the agent\nVirtual Machine is suspended.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\npowers on the cluster agent Virtual Machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAgentVmIssue"
          }
        ]
      },
      "ArrayOfClusterAgentVmSuspended": {
        "type": "object",
        "description": "A boxed array of *ClusterAgentVmSuspended*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAgentVmSuspended"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IntegrityAgencyCannotDeleteSoftware": {
        "type": "object",
        "description": "Cannot remove the Baseline associated with an Agency from VUM.\n\nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nretries the delete operation.\nNote: In future this issue will denote also the removal of the Agency\nsoftware (VIBs) from VUM software depot once VUM provides an API for that.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrityAgencyVUMIssue"
          }
        ]
      },
      "ArrayOfIntegrityAgencyCannotDeleteSoftware": {
        "type": "object",
        "description": "A boxed array of *IntegrityAgencyCannotDeleteSoftware*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrityAgencyCannotDeleteSoftware"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IntegrityAgencyCannotStageSoftware": {
        "type": "object",
        "description": "The software defined by an Agency cannot be staged in VUM.\n\nThe staging\noperation consists of the following steps:\n- Upload the Agency software (VIBs) to the VUM depot.\n- Create or update a VUM Baseline with the Agency software and scope.\n  \nThis is an active remediable issue. To remediate, vSphere ESX Agent Manager\nretries the stage operation.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrityAgencyVUMIssue"
          }
        ]
      },
      "ArrayOfIntegrityAgencyCannotStageSoftware": {
        "type": "object",
        "description": "A boxed array of *IntegrityAgencyCannotStageSoftware*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrityAgencyCannotStageSoftware"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IntegrityAgencyVUMIssue": {
        "type": "object",
        "description": "Base class for all issues which occurred during EAM communication with\nvSphere Update Manager (VUM).\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgencyIssue"
          }
        ]
      },
      "ArrayOfIntegrityAgencyVUMIssue": {
        "type": "object",
        "description": "A boxed array of *IntegrityAgencyVUMIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrityAgencyVUMIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IntegrityAgencyVUMUnavailable": {
        "type": "object",
        "description": "VUM service is not available - its registered SOAP endpoint cannot be\naccessed or it is malfunctioning.\n\nThis is an active and passive remediable issue. To remediate, vSphere ESX\nAgent Manager retries to access VUM service.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrityAgencyVUMIssue"
          }
        ]
      },
      "ArrayOfIntegrityAgencyVUMUnavailable": {
        "type": "object",
        "description": "A boxed array of *IntegrityAgencyVUMUnavailable*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrityAgencyVUMUnavailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgencyCannotConfigureSolutions": {
        "type": "object",
        "description": "EAM was unable to set its required compute resource configuration in PM.\n\nEAM configuration needs to be updated or PM needs to be repaired manually to\nallow the configuration.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "cr": {
            "description": "Compute resource that couldn't be configured\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "solutionsToModify": {
            "description": "Names of the solutions attempted to be modified\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "solutionsToRemove": {
            "description": "Names of the solutions attempted to be removed\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "cr"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalityAgencyPMIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgencyCannotConfigureSolutions": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgencyCannotConfigureSolutions*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgencyCannotConfigureSolutions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgencyCannotUploadDepot": {
        "type": "object",
        "description": "The offline depot could not be uploaded in Personality Manager.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "localDepotUrl": {
            "description": "URL EAM hosted the offline bundle as in vCenter.\n",
            "type": "string"
          }
        },
        "required": [
          "localDepotUrl"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalityAgencyDepotIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgencyCannotUploadDepot": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgencyCannotUploadDepot*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgencyCannotUploadDepot"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgencyDepotIssue": {
        "type": "object",
        "description": "Base class for all offline depot (VIB) issues while communicating with\nPersonality Manager.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "remoteDepotUrl": {
            "description": "URL the offline bundle is configured in EAM.\n",
            "type": "string"
          }
        },
        "required": [
          "remoteDepotUrl"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalityAgencyPMIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgencyDepotIssue": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgencyDepotIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgencyDepotIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgencyInaccessibleDepot": {
        "type": "object",
        "description": "The offline depot was not available for download during communicating with\nPersonality Manager.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalityAgencyDepotIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgencyInaccessibleDepot": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgencyInaccessibleDepot*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgencyInaccessibleDepot"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgencyInvalidDepot": {
        "type": "object",
        "description": "The offline depot has missing or invalid metadata to be usable by\nPersonality Manager.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalityAgencyDepotIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgencyInvalidDepot": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgencyInvalidDepot*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgencyInvalidDepot"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgencyPMIssue": {
        "type": "object",
        "description": "Base class for all issues which occurred during EAM communication with\nPersonality Manager.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgencyIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgencyPMIssue": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgencyPMIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgencyPMIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgencyPMUnavailable": {
        "type": "object",
        "description": "PM service is not available - its endpoint cannot be accessed or it is\nmalfunctioning.\n\nThis is an active and passive remediable issue. To remediate, vSphere ESX\nAgent Manager retries to access PM service.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalityAgencyPMIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgencyPMUnavailable": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgencyPMUnavailable*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgencyPMUnavailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgentAwaitingPMRemediation": {
        "type": "object",
        "description": "The agent workflow is blocked until its' required solutions are re-mediated\nexternally in Personality Manager.\n\nThis issue is only passively remediable. The desired state has to be applied\nin PM by an user.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalityAgentPMIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgentAwaitingPMRemediation": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgentAwaitingPMRemediation*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgentAwaitingPMRemediation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgentBlockedByAgencyOperation": {
        "type": "object",
        "description": "The agent workflow is blocked by a failed agency operation with\nPersonality Manager.\n\nThis issue is only passively remediable. The agency's PM related issue has to\nbe resolved.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalityAgentPMIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgentBlockedByAgencyOperation": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgentBlockedByAgencyOperation*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgentBlockedByAgencyOperation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PersonalityAgentPMIssue": {
        "type": "object",
        "description": "Base class for all issues which occurred during EAM communication with\nPersonality Manager.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/AgentIssue"
          }
        ]
      },
      "ArrayOfPersonalityAgentPMIssue": {
        "type": "object",
        "description": "A boxed array of *PersonalityAgentPMIssue*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalityAgentPMIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HooksHookInfo": {
        "type": "object",
        "description": "Contains information for a raised hook.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine, the hook was raised for.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "solution": {
            "description": "Solution the Virtual Machine belongs to.\n",
            "type": "string"
          },
          "hookType": {
            "description": "Type of the hook *HooksHookType_enum*.\n",
            "type": "string"
          },
          "raisedAt": {
            "description": "Time the hook was raised.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "vm",
          "solution",
          "hookType",
          "raisedAt"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHooksHookInfo": {
        "type": "object",
        "description": "A boxed array of *HooksHookInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HooksHookInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HooksHookListSpec": {
        "type": "object",
        "description": "Limits the hooks reported to the user.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "solutions": {
            "description": "If specified - will report hooks only for agents from the specified\nsolutions, otherwise - will report hooks for agents from all solutions.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hosts": {
            "description": "If specified - will report hooks only for agents on the specified\nhosts, otherwise - will report hooks for agents on all hosts.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHooksHookListSpec": {
        "type": "object",
        "description": "A boxed array of *HooksHookListSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HooksHookListSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HooksMarkAsProcessedSpec": {
        "type": "object",
        "description": "Specification for marking a raised hook on an agent Virtual Machine as\nprocessed.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "vm": {
            "description": "Virtual Machine to mark a hook as processed.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hookType": {
            "description": "Type of hook to be marked as processed *HooksHookType_enum*.\n",
            "type": "string"
          },
          "success": {
            "description": "`True` - if the hook was processed successfully, `False` -\nif the hook could not be processed.\n",
            "type": "boolean"
          }
        },
        "required": [
          "vm",
          "hookType",
          "success"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHooksMarkAsProcessedSpec": {
        "type": "object",
        "description": "A boxed array of *HooksMarkAsProcessedSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HooksMarkAsProcessedSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsApplySpec": {
        "type": "object",
        "description": "Specification describing a desired state to be applied.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "desiredState": {
            "description": "Complete desired state to be applied on the target entity.\n\nthe **solutions** member limits which parts of this desired state to\nbe applied\n  If the **solutions** member is omitted.\n- Any solution described in this structure will be applied on the\n  target entity\n- Any solution already existing on the target entity, but missing\n  from this structure, will be deleted from the target entity\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsSolutionConfig"
            }
          },
          "solutions": {
            "description": "If provided, limits the parts of the **desiredState** structure to\nbe applied on the target entity.\n- solutions that are also present in the **desiredState**\n  structure will be applied on the target entity.\n- solutions that are missing from the **desiredState** structure\n  will be deleted from the target entity.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hosts": {
            "description": "Specifies exact hosts to apply the desired state to, instead of every\nhost in the cluster.\n\nApplicable only to solutions with\n*SolutionsHostBoundSolutionConfig*.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "deploymentUnits": {
            "description": "Deployment units on which solutions that are specified by the this\nstructure need to be applied.\n\nApplicable only to solutions with\n*SolutionsClusterBoundSolutionConfig*.\n\nThe deployment unit represents a single VM instance deployment. It is\nreturned by the *Solutions.Compliance* operation.\n\nIf omitted - the configured solutions by *SolutionsApplySpec.solutions* are applied\non all of the deployment units in the cluster.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsApplySpec": {
        "type": "object",
        "description": "A boxed array of *SolutionsApplySpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsApplySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsClusterBoundSolutionConfig": {
        "type": "object",
        "description": "Specifies cluster-bound solution configuration.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "vmCount": {
            "description": "The number of instances of the specified VM to be deployed across the\ncluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "vmPlacementPolicies": {
            "description": "VM placement policies to be configured on the VMs\n*SolutionsVmPlacementPolicy_enum* If omitted - no VM placement\npolicies are configured.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vmNetworks": {
            "description": "Networks to be configured on the VMs.\n\nIf omitted - no VM networks are\nconfigured.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsVMNetworkMapping"
            }
          },
          "datastores": {
            "description": "Datastores to be configured as a storage of the VMs.\n\nThe first\navailable datastore in the cluster is used. The collection cannot\ncontain duplicate elements.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "vmCount",
          "datastores"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SolutionsTypeSpecificSolutionConfig"
          }
        ]
      },
      "ArrayOfSolutionsClusterBoundSolutionConfig": {
        "type": "object",
        "description": "A boxed array of *SolutionsClusterBoundSolutionConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsClusterBoundSolutionConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsClusterSolutionComplianceResult": {
        "type": "object",
        "description": "Result of a compliance check of a desired state for a solution with\n*SolutionsClusterBoundSolutionConfig*.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "solution": {
            "description": "The solution being checked for compliance.\n",
            "type": "string"
          },
          "compliant": {
            "description": "`True` if the solution is compliant with the described desired\nstate, `False` - otherwise.\n",
            "type": "boolean"
          },
          "deploymentUnits": {
            "description": "Detailed per deployment-unit compliance result.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsDeploymentUnitComplianceResult"
            }
          }
        },
        "required": [
          "solution",
          "compliant"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsClusterSolutionComplianceResult": {
        "type": "object",
        "description": "A boxed array of *SolutionsClusterSolutionComplianceResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsClusterSolutionComplianceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsComplianceResult": {
        "type": "object",
        "description": "Result of a compliance check of a desired state on a compute resource.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "compliant": {
            "description": "`True` if the compute resource is compliant with the described\ndesired state, `False` - otherwise.\n",
            "type": "boolean"
          },
          "hosts": {
            "description": "Detailed per-host compliance result of the compute resource for\nsolutions with *SolutionsHostBoundSolutionConfig*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsHostComplianceResult"
            }
          },
          "clusterSolutionsCompliance": {
            "description": "Detailed per-solution unit compliance result of the compute resource\nfor solutions with *SolutionsClusterBoundSolutionConfig*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsClusterSolutionComplianceResult"
            }
          }
        },
        "required": [
          "compliant"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsComplianceResult": {
        "type": "object",
        "description": "A boxed array of *SolutionsComplianceResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsComplianceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsComplianceSpec": {
        "type": "object",
        "description": "Specification describing how to calculate compliance of a compute resource\nagainst a desired state.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "desiredState": {
            "description": "Desired state to be checked for compliance.\n\nMay be incomplete if exact\nsolutions to be checked are provided. Empty desired state means all\npresent solutions must be removed.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsSolutionConfig"
            }
          },
          "solutions": {
            "description": "Specifies exact solutions to be checked for compliance instead of the\ncomplete desired state.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hosts": {
            "description": "Specifies exact hosts to be checked for compliance of all solutions\nwith *SolutionsHostBoundSolutionConfig*.\n\nIf omitted - the compliance is checked for all hosts in the cluster.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "deploymentUnits": {
            "description": "Identifiers of the deployment units that to be checked for compliance\nof all solutions with *SolutionsClusterBoundSolutionConfig*.\n\nThe deployment unit represents a single VM instance deployment.\n\nIf omitted - the compliance is checked for all deployment units in the\ncluster.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsComplianceSpec": {
        "type": "object",
        "description": "A boxed array of *SolutionsComplianceSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsComplianceSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsDeploymentUnitComplianceResult": {
        "type": "object",
        "description": "Result of a compliance check of a deployment unit.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "deploymentUnit": {
            "description": "The deployment unit being checked for compliance.\n",
            "type": "string"
          },
          "compliant": {
            "description": "`True` if the deployment unit is compliant with the described\ndesired state, `False` - otherwise.\n",
            "type": "boolean"
          },
          "compliance": {
            "description": "Detailed compliance result of the deployment unit.\n",
            "$ref": "#/components/schemas/SolutionsSolutionComplianceResult"
          }
        },
        "required": [
          "deploymentUnit",
          "compliant"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsDeploymentUnitComplianceResult": {
        "type": "object",
        "description": "A boxed array of *SolutionsDeploymentUnitComplianceResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsDeploymentUnitComplianceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsHookAcknowledgeConfig": {
        "type": "object",
        "description": "Specifies the acknowledgement type of a configured System Virtual\nMachine's lifecycle hook.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsHookAcknowledgeConfig": {
        "type": "object",
        "description": "A boxed array of *SolutionsHookAcknowledgeConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsHookAcknowledgeConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsHookConfig": {
        "type": "object",
        "description": "Configuration for System Virtual Machine's lifecycle hooks.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "type": {
            "description": "Type of the configured hook, possible values - *HooksHookType_enum*.\n",
            "type": "string"
          },
          "acknowledgement": {
            "description": "Type of acknoledgement of the configured hook.\n",
            "$ref": "#/components/schemas/SolutionsHookAcknowledgeConfig"
          }
        },
        "required": [
          "type",
          "acknowledgement"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsHookConfig": {
        "type": "object",
        "description": "A boxed array of *SolutionsHookConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsHookConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsHostBoundSolutionConfig": {
        "type": "object",
        "description": "Specifies host-bound solution configuration.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "preferHostConfiguration": {
            "description": "If set to true - default network and datastore configured on host will\ntake precedence over\n*SolutionsHostBoundSolutionConfig.datastores* and\n*SolutionsHostBoundSolutionConfig.networks*.\n",
            "type": "boolean"
          },
          "networks": {
            "description": "networks to satisfy system Virtual Machine network adapter\nrequirements.\n\nIf omitted - default configured network on the host will\nbe used.\n\nRefers instances of *Network*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "datastores": {
            "description": "Datastores to be configured as a storage of the VMs.\n\nThe first\navailable datastore on the host is used. The collection cannot contain\nduplicate elements. If omitted - default configured datastore on the\nhost will be used.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "vmci": {
            "description": "VMCI to be allowed access from the system Virtual Machine.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/SolutionsTypeSpecificSolutionConfig"
          }
        ]
      },
      "ArrayOfSolutionsHostBoundSolutionConfig": {
        "type": "object",
        "description": "A boxed array of *SolutionsHostBoundSolutionConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsHostBoundSolutionConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsHostComplianceResult": {
        "type": "object",
        "description": "Result of a compliance check of a desired state on a host.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "host": {
            "description": "The host being checked for compliance.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "compliant": {
            "description": "`True` if the compute host is compliant with the described\ndesired state, `False` - otherwise.\n",
            "type": "boolean"
          },
          "solutions": {
            "description": "Detailed per-solution compliance result of the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsSolutionComplianceResult"
            }
          }
        },
        "required": [
          "host",
          "compliant"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsHostComplianceResult": {
        "type": "object",
        "description": "A boxed array of *SolutionsHostComplianceResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsHostComplianceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsInteractiveHookAcknowledgeConfig": {
        "type": "object",
        "description": "The user will have to (manually) invoke an API\n(*Hooks.MarkAsProcessed*) to acknowledge, the user operations for\nthis lifecycle hook have been completed.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SolutionsHookAcknowledgeConfig"
          }
        ]
      },
      "ArrayOfSolutionsInteractiveHookAcknowledgeConfig": {
        "type": "object",
        "description": "A boxed array of *SolutionsInteractiveHookAcknowledgeConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsInteractiveHookAcknowledgeConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsOvfProperty": {
        "type": "object",
        "description": "One OVF Property.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "key": {
            "description": "The name of the property in the OVF descriptor.\n",
            "type": "string"
          },
          "value": {
            "description": "The value of the property.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsOvfProperty": {
        "type": "object",
        "description": "A boxed array of *SolutionsOvfProperty*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsOvfProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsProfileIdStoragePolicy": {
        "type": "object",
        "description": "Specifies a user defined profile ID to be applied during Virtual Machine\ncreation.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "profileId": {
            "description": "ID of a storage policy profile created by the user.\n\nThe type of the\nprofile must be *VirtualMachineDefinedProfileSpec*. The ID must be valid\n*VirtualMachineDefinedProfileSpec.profileId*.\n",
            "type": "string"
          }
        },
        "required": [
          "profileId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SolutionsStoragePolicy"
          }
        ]
      },
      "ArrayOfSolutionsProfileIdStoragePolicy": {
        "type": "object",
        "description": "A boxed array of *SolutionsProfileIdStoragePolicy*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsProfileIdStoragePolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsSolutionComplianceResult": {
        "type": "object",
        "description": "Result of a compliance check of a desired state dor a solution(on a host).\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "solution": {
            "description": "Solution checked for compliance.\n",
            "type": "string"
          },
          "compliant": {
            "description": "`True` if the compute solution is compliant with the described\ndesired state, `False` - otherwise.\n",
            "type": "boolean"
          },
          "nonComplianceReason": {
            "description": "Reason the solution is non-compliant\n*SolutionsNonComplianceReason_enum*.\n",
            "type": "string"
          },
          "vm": {
            "description": "system Virtual Machine created for the solution.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "upgradingVm": {
            "description": "system Virtual Machine created for upgrading the obsoleted system\nVirtual Machine.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hook": {
            "description": "Hook, ESX Agent Manager is awaiting to be processed for this solution.\n",
            "$ref": "#/components/schemas/HooksHookInfo"
          },
          "issues": {
            "description": "Issues, ESX Agent Manager has encountered while attempting to acheive\nthe solution's requested desired state.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Issue"
            }
          },
          "solutionConfig": {
            "description": "Last desired state for the solution, requested from ESX Agent Manager,\nfor application.\n",
            "$ref": "#/components/schemas/SolutionsSolutionConfig"
          }
        },
        "required": [
          "solution",
          "compliant"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsSolutionComplianceResult": {
        "type": "object",
        "description": "A boxed array of *SolutionsSolutionComplianceResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsSolutionComplianceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsSolutionConfig": {
        "type": "object",
        "description": "Configuration for a solution's required system Virtual Machine.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "solution": {
            "description": "Solution, this configuration belongs to.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the solution.\n\nWill be utilized as a prefix for the system\nVirtual Machines' names created for the solution.\n",
            "type": "string"
          },
          "version": {
            "description": "Version of the solution.\n",
            "type": "string"
          },
          "vmSource": {
            "description": "Source of the system Virtual Machine files.\n",
            "$ref": "#/components/schemas/SolutionsVMSource"
          },
          "uuidVmName": {
            "description": "If set to `True` - will insert an UUID in the system Virtual\nMachines' names created for the solution, otherwise - no additional\nUUID will be inserted in the system Virtual Machines' names.\n",
            "type": "boolean"
          },
          "resourcePool": {
            "description": "Resource pool to place the system Virtual Machine in.\n\nIf omitted a\ndefault resource pool will be used.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "folder": {
            "description": "Folder to place the system Virtual Machine in.\n\nIf omitted a default\nfolder will be used.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "ovfProperties": {
            "description": "User configurable OVF properties to be assigned during system Virtual\nMachine creation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsOvfProperty"
            }
          },
          "storagePolicies": {
            "description": "Storage policies to be applied during system Virtual Machine creation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsStoragePolicy"
            }
          },
          "vmDiskProvisioning": {
            "description": "Provisioning type for the system Virtual Machines\n*SolutionsVMDiskProvisioning_enum*.\n\nDefault provisioning will be used\nif not specified.\n",
            "type": "string"
          },
          "vmDeploymentOptimization": {
            "description": "Optimization strategy for deploying Virtual Machines\n*SolutionsVMDeploymentOptimization_enum*.\n\nDefault optimization will\nbe selected if not specified.\n",
            "type": "string"
          },
          "typeSpecificConfig": {
            "description": "Solution type-specific configuration.\n",
            "$ref": "#/components/schemas/SolutionsTypeSpecificSolutionConfig"
          },
          "hooks": {
            "description": "Lifecycle hooks for the solution's virtual machines.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsHookConfig"
            }
          },
          "vmResourceSpec": {
            "description": "VMs resource configuration.\n\nIf omitted - the default resource\nconfiguration specified in the OVF descriptor is used.\n",
            "$ref": "#/components/schemas/SolutionsVmResourceSpec"
          }
        },
        "required": [
          "solution",
          "name",
          "version",
          "vmSource",
          "uuidVmName",
          "typeSpecificConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsSolutionConfig": {
        "type": "object",
        "description": "A boxed array of *SolutionsSolutionConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsSolutionConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsSolutionValidationResult": {
        "type": "object",
        "description": "Result of validation, of a solution, for application.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "solution": {
            "description": "Validated solution.\n",
            "type": "string"
          },
          "valid": {
            "description": "`True` - if the solution is valid for application, `False`\n\\- otherwise.\n",
            "type": "boolean"
          },
          "invalidReason": {
            "description": "Populated with the reason the solution is not valid for application\n*SolutionsInvalidReason_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "solution",
          "valid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsSolutionValidationResult": {
        "type": "object",
        "description": "A boxed array of *SolutionsSolutionValidationResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsSolutionValidationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsStoragePolicy": {
        "type": "object",
        "description": "Storage policy to be applied during system Virtual Machine creation.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsStoragePolicy": {
        "type": "object",
        "description": "A boxed array of *SolutionsStoragePolicy*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsStoragePolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsTransitionSpec": {
        "type": "object",
        "description": "Specification necessary to transition a solution from an existing legacy\nagency.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "solution": {
            "description": "Solution to transition from an old legacy agency.\n",
            "type": "string"
          },
          "agencyId": {
            "description": "Old legacy agency ID to transition from.\n",
            "type": "string"
          }
        },
        "required": [
          "solution",
          "agencyId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsTransitionSpec": {
        "type": "object",
        "description": "A boxed array of *SolutionsTransitionSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsTransitionSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsTypeSpecificSolutionConfig": {
        "type": "object",
        "description": "Specifies the specific solution configuration based on its type.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsTypeSpecificSolutionConfig": {
        "type": "object",
        "description": "A boxed array of *SolutionsTypeSpecificSolutionConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsTypeSpecificSolutionConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsUrlVMSource": {
        "type": "object",
        "description": "Specified the system Virtual Machine sources are to be obtained from an\nURL.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "ovfUrl": {
            "description": "URL to the solution's system Virtual Machine OVF.\n",
            "type": "string"
          },
          "certificateValidation": {
            "description": "Overrides the OVF URL certificate validation.\n\nIf `True` or\n`<unset>` - the certificate will be subject to standard trust\nvalidation, if `False` - any certificate will be considered\ntrusted.\n",
            "type": "boolean"
          },
          "certificatePEM": {
            "description": "PEM encoded certificate to use to trust the URL.\n\nIf omitted - URL will\nbe trusted using well known methods.\n",
            "type": "string"
          }
        },
        "required": [
          "ovfUrl"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SolutionsVMSource"
          }
        ]
      },
      "ArrayOfSolutionsUrlVMSource": {
        "type": "object",
        "description": "A boxed array of *SolutionsUrlVMSource*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsUrlVMSource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsVMNetworkMapping": {
        "type": "object",
        "description": "Represents the mapping of the logical network defined in the OVF\ndescriptor to the Virtual Infrastructure (VI) network.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "name": {
            "description": "Logical network name defined in the OVF descriptor.\n",
            "type": "string"
          },
          "id": {
            "description": "VM network identifier.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name",
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsVMNetworkMapping": {
        "type": "object",
        "description": "A boxed array of *SolutionsVMNetworkMapping*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsVMNetworkMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsVMSource": {
        "type": "object",
        "description": "Specifies how to find the files of the system Virtual Machine to be\ncreated.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsVMSource": {
        "type": "object",
        "description": "A boxed array of *SolutionsVMSource*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsVMSource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsValidateSpec": {
        "type": "object",
        "description": "Specification describing a desired state to be validated for application.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "desiredState": {
            "description": "Desired state to be validated.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsSolutionConfig"
            }
          }
        },
        "required": [
          "desiredState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsValidateSpec": {
        "type": "object",
        "description": "A boxed array of *SolutionsValidateSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsValidateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsValidationResult": {
        "type": "object",
        "description": "Result of validation, of a desired state, for application.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "valid": {
            "description": "`True` - if the desired state is valid for application,\n`False` - otherwise.\n",
            "type": "boolean"
          },
          "solutionResult": {
            "description": "Detailed per-solution result of the validation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsSolutionValidationResult"
            }
          }
        },
        "required": [
          "valid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsValidationResult": {
        "type": "object",
        "description": "A boxed array of *SolutionsValidationResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsValidationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionsVmResourceSpec": {
        "type": "object",
        "description": "Specifies the VM resource configurations.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "ovfDeploymentOption": {
            "description": "The VM deployment option that corresponds to the Configuration element\nof the DeploymentOptionSection in the OVF descriptor (e.g.\n\n\"small\",\n\"medium\", \"large\").\nIf omitted - the default deployment option as specified in the OVF\ndescriptor is used.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSolutionsVmResourceSpec": {
        "type": "object",
        "description": "A boxed array of *SolutionsVmResourceSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionsVmResourceSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibVibInfo": {
        "type": "object",
        "description": "A data entity providing information about a VIB.\n\nThis abstraction contains only those of the VIB attributes which convey\nimportant information for the client to identify, preview and select VIBs.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "vendor": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "softwareTags": {
            "$ref": "#/components/schemas/VibVibInfoSoftwareTags"
          },
          "releaseDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "name",
          "version",
          "vendor",
          "summary",
          "releaseDate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVibVibInfo": {
        "type": "object",
        "description": "A boxed array of *VibVibInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibVibInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibVibInfoSoftwareTags": {
        "type": "object",
        "description": "A data entity providing information about software tags of a VIB\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVibVibInfoSoftwareTags": {
        "type": "object",
        "description": "A boxed array of *VibVibInfoSoftwareTags*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibVibInfoSoftwareTags"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibVibServicesAnyCertificate": {
        "type": "object",
        "description": "Specifies an SSL policy that trusts any SSL certificate.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VibVibServicesSslTrust"
          }
        ]
      },
      "ArrayOfVibVibServicesAnyCertificate": {
        "type": "object",
        "description": "A boxed array of *VibVibServicesAnyCertificate*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibVibServicesAnyCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibVibServicesPinnedPemCertificate": {
        "type": "object",
        "description": "Specifies an SSL policy that trusts one specific pinned PEM encoded SSL\ncertificate.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "sslCertificate": {
            "description": "PEM encoded pinned SSL certificate of the server that needs to be\ntrusted.\n",
            "type": "string"
          }
        },
        "required": [
          "sslCertificate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VibVibServicesSslTrust"
          }
        ]
      },
      "ArrayOfVibVibServicesPinnedPemCertificate": {
        "type": "object",
        "description": "A boxed array of *VibVibServicesPinnedPemCertificate*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibVibServicesPinnedPemCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VibVibServicesSslTrust": {
        "type": "object",
        "description": "This structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVibVibServicesSslTrust": {
        "type": "object",
        "description": "A boxed array of *VibVibServicesSslTrust*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/eam`.\n\n***Since:*** vEAM API 8.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VibVibServicesSslTrust"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmAboutInfo": {
        "type": "object",
        "description": "The *PbmAboutInfo* data object stores identifying data\nabout the Storage Policy Server.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "name": {
            "description": "Name of the server.\n",
            "type": "string"
          },
          "version": {
            "description": "Version number.\n",
            "type": "string"
          },
          "instanceUuid": {
            "description": "Globally unique identifier associated with this server instance.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "version",
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmAboutInfo": {
        "type": "object",
        "description": "A boxed array of *PbmAboutInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmAboutInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmExtendedElementDescription": {
        "type": "object",
        "description": "This structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "label": {
            "description": "Display label.\n",
            "type": "string"
          },
          "summary": {
            "description": "Summary description.\n",
            "type": "string"
          },
          "key": {
            "description": "Enumeration or literal ID being described.\n",
            "type": "string"
          },
          "messageCatalogKeyPrefix": {
            "description": "Key to the localized message string in the catalog.\n\nIf the localized string contains parameters, values to the\nparameters will be provided in #messageArg.\nE.g: If the message in the catalog is\n\"IP address is {address}\", value for \"address\"\nwill be provided by #messageArg.\nBoth summary and label in ElementDescription will have a corresponding\nentry in the message catalog with the keys\n&lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label\nrespectively.\nElementDescription.summary and ElementDescription.label will contain\nthe strings in server locale.\n",
            "type": "string"
          },
          "messageArg": {
            "description": "Provides named arguments that can be used to localize the\nmessage in the catalog.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "label",
          "summary",
          "key",
          "messageCatalogKeyPrefix"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmExtendedElementDescription": {
        "type": "object",
        "description": "A boxed array of *PbmExtendedElementDescription*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmExtendedElementDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmLoggingConfiguration": {
        "type": "object",
        "description": "This structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "component": {
            "type": "string"
          },
          "logLevel": {
            "type": "string"
          }
        },
        "required": [
          "component",
          "logLevel"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmLoggingConfiguration": {
        "type": "object",
        "description": "A boxed array of *PbmLoggingConfiguration*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmLoggingConfiguration"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmServerObjectRef": {
        "type": "object",
        "description": "The *PbmServerObjectRef* data object identifies\na virtual machine,\nvirtual disk attached to a virtual machine,\na first class storage object\nor a datastore.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "objectType": {
            "description": "Type of vSphere Server object.\n\nThe value of the <code>objectType</code> string\ncorresponds to one of the *PbmObjectType_enum*\nenumerated type values.\n",
            "type": "string"
          },
          "key": {
            "description": "Unique identifier for the object.\n\nThe value of <code>key</code> depends\non the <code>objectType</code>.\n  \n  \n<table border=\"1\"cellpadding=\"5\">\n<tr><td>**PbmObjectType**</td><td>**key value**</td></tr>\n<tr><td>virtualMachine</td><td>_virtual-machine-MOR_</td></tr>\n<tr><td>virtualDiskId</td>\n<td>_virtual-disk-MOR_:_VirtualDisk.key_</td></tr>\n<tr><td>datastore</td><td>_datastore-MOR_</td></tr>\n<tr><td colspan=\"2\"align=\"right\">MOR = ManagedObjectReference</td></tr>\n</table>\n",
            "type": "string"
          },
          "serverUuid": {
            "description": "vCenter Server UUID; the <code>ServiceContent.about.instanceUuid</code>\nproperty in the vSphere API.\n",
            "type": "string"
          }
        },
        "required": [
          "objectType",
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmServerObjectRef": {
        "type": "object",
        "description": "A boxed array of *PbmServerObjectRef*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmServerObjectRef"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmServiceInstanceContent": {
        "type": "object",
        "description": "The *PbmServiceInstanceContent* data object defines properties for the\n*PbmServiceInstance* managed object.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "aboutInfo": {
            "description": "Contains information that identifies the Storage Policy service.\n",
            "$ref": "#/components/schemas/PbmAboutInfo"
          },
          "sessionManager": {
            "description": "For internal use.\n\nRefers instance of *PbmSessionManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "capabilityMetadataManager": {
            "description": "For internal use.\n\nRefers instance of *PbmCapabilityMetadataManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "profileManager": {
            "description": "Provides access to the Storage Policy ProfileManager.\n\nRefers instance of *PbmProfileProfileManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "complianceManager": {
            "description": "Provides access to the Storage Policy ComplianceManager.\n\nRefers instance of *PbmComplianceManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "placementSolver": {
            "description": "Provides access to the Storage Policy PlacementSolver.\n\nRefers instance of *PbmPlacementSolver*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "replicationManager": {
            "description": "Provides access to the Storage Policy ReplicationManager.\n\nRefers instance of *PbmReplicationManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "aboutInfo",
          "sessionManager",
          "capabilityMetadataManager",
          "profileManager",
          "complianceManager",
          "placementSolver"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmServiceInstanceContent": {
        "type": "object",
        "description": "A boxed array of *PbmServiceInstanceContent*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmServiceInstanceContent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityInstance": {
        "type": "object",
        "description": "The *PbmCapabilityInstance* data object defines a storage capability instance.\n\nMetadata for the capability is described in *PbmCapabilityMetadata*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "id": {
            "description": "Identifier for the capability.\n\nThe identifier value corresponds to\n*PbmCapabilityMetadata*.*PbmCapabilityMetadata.id*.\n",
            "$ref": "#/components/schemas/PbmCapabilityMetadataUniqueId"
          },
          "constraint": {
            "description": "Constraints on the properties that comprise this capability.\n\nEach entry represents a constraint on one or more of the properties that\nconstitute this capability. A datum must meet one of the\nconstraints to be compliant.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityConstraintInstance"
            }
          }
        },
        "required": [
          "id",
          "constraint"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityInstance": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityInstance*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityInstance"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityMetadata": {
        "type": "object",
        "description": "Metadata for a single unique setting defined by a provider.\n\nA simple setting is a setting with one property.\nA complex setting contains more than one property.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "id": {
            "description": "Unique identifier for the capability.\n",
            "$ref": "#/components/schemas/PbmCapabilityMetadataUniqueId"
          },
          "summary": {
            "description": "Capability name and description\n",
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          },
          "mandatory": {
            "description": "Indicates whether incorporating given capability is mandatory during creation of\nprofile.\n",
            "type": "boolean"
          },
          "hint": {
            "description": "The flag hint dictates the interpretation of constraints specified for this capability\nin a storage policy profile.\n\nIf hint is false, then constraints will affect placement.\nIf hint is true, constraints will not affect placement,\nbut will still be passed to provisioning operations if the provider understands the\nrelevant namespace. Optional property, false if not set.\n",
            "type": "boolean"
          },
          "keyId": {
            "description": "Property Id of the key property, if this capability represents a key\nvalue pair.\n\nValue is empty string if not set.\n",
            "type": "string"
          },
          "allowMultipleConstraints": {
            "description": "Flag to indicate if multiple constraints are allowed in the capability\ninstance.\n\nFalse if not set.\n",
            "type": "boolean"
          },
          "propertyMetadata": {
            "description": "Metadata for the properties that comprise this capability.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityPropertyMetadata"
            }
          }
        },
        "required": [
          "id",
          "summary",
          "propertyMetadata"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityMetadata": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityMetadata*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityMetadataUniqueId": {
        "type": "object",
        "description": "This structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "namespace": {
            "description": "Namespace to which this capability belongs.\n\nMust be the same as\n{ @link CapabilityObjectSchema#namespace } defined for this\ncapability\n",
            "type": "string"
          },
          "id": {
            "description": "unique identifier for this capability within given namespace\n",
            "type": "string"
          }
        },
        "required": [
          "namespace",
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityMetadataUniqueId": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityMetadataUniqueId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityMetadataUniqueId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityConstraintInstance": {
        "type": "object",
        "description": "Constraints on the properties for a single occurrence of a capability.\n\nAll properties must satisfy their respective constraints to be compliant.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "propertyInstance": {
            "description": "Property instance array for this constraint\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityPropertyInstance"
            }
          }
        },
        "required": [
          "propertyInstance"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityConstraintInstance": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityConstraintInstance*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityConstraintInstance"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityGenericTypeInfo": {
        "type": "object",
        "description": "Generic type definition for capabilities.\n\nIndicates how a collection of values of a specific datatype\n(*PbmCapabilityTypeInfo.typeName*)\nwill be interpreted.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "genericTypeName": {
            "description": "Name of the generic type.\n\nMust correspond to one of the values defined in\n*PbmBuiltinGenericType_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "genericTypeName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmCapabilityTypeInfo"
          }
        ]
      },
      "ArrayOfPbmCapabilityGenericTypeInfo": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityGenericTypeInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityGenericTypeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityPropertyInstance": {
        "type": "object",
        "description": "The *PbmCapabilityPropertyInstance* data object describes a virtual machine\nstorage requirement.\n\nA storage requirement is based on the storage capability\ndescribed in the *PbmCapabilityPropertyMetadata* and in the\ndatastore profile property instance.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "id": {
            "description": "Requirement property identifier.\n\nThis identifier corresponds to the\nstorage capability metadata identifier\n(*PbmCapabilityPropertyMetadata*.*PbmCapabilityPropertyMetadata.id*).\n",
            "type": "string"
          },
          "operator": {
            "description": "Operator for the values.\n\nCurrently only support NOT operator for\ntag namespace\nSee operator definition in (*PbmCapabilityOperator_enum*).\n",
            "type": "string"
          },
          "value": {
            "description": "Property value.\n\nYou must specify the value.\nA property value is one value or a collection of values.\n- A single property value is expressed as a scalar value.\n- A collection of values is expressed as a *PbmCapabilityDiscreteSet*\n  or a *PbmCapabilityRange* of values.\n  \nThe datatype of each value must be one of the\n*PbmBuiltinType_enum* datatypes.\nIf the property consists of a collection of values,\nthe interpretation of those values is determined by the\n*PbmCapabilityGenericTypeInfo*.\n\nType information for a property instance is described in the property metadata\n(*PbmCapabilityPropertyMetadata*.*PbmCapabilityPropertyMetadata.type*).\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "id",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityPropertyInstance": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityPropertyInstance*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityPropertyInstance"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityPropertyMetadata": {
        "type": "object",
        "description": "The *PbmCapabilityPropertyMetadata* data object describes storage capability.\n\nAn instance of property metadata may apply to many property instances\n(*PbmCapabilityPropertyInstance*).\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "id": {
            "description": "Property identifier.\n\nShould be unique within the definition of the\ncapability. Property instances refer to this identifier\n(*PbmCapabilityPropertyInstance*.*PbmCapabilityPropertyInstance.id*).\n",
            "type": "string"
          },
          "summary": {
            "description": "Property name and description.\n- The <code>summary.label</code> property\n  (*PbmExtendedElementDescription.label*)\n  contains property 'name' in server locale.\n- The <code>summary.summary</code> property\n  (*PbmExtendedElementDescription.summary*)\n  contains property 'description' in server locale.\n- The <code>summary.messageCatalogKeyPrefix</code> property\n  (*PbmExtendedElementDescription.messageCatalogKeyPrefix*)\n  contains unique prefix for this property within given message catalog.\n  Prefix format: &lt;capability\\_unique\\_identifier&gt;.&lt;property\\_id&gt;\n  capability\\_unique\\_identifier -- string representation of\n  *PbmCapabilityMetadataUniqueId* which globally identifies given\n  capability metadata definition uniquely.\n  property\\_id -- 'id' of this property *PbmCapabilityPropertyMetadata.id*\n  Eg www.emc.com.storage.Recovery.Recovery\\_site\n  www.emc.com.storage.Recovery.RPO\n  www.emc.com.storage.Recovery.RTO\n",
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          },
          "mandatory": {
            "description": "Indicates whether incorporating given capability is mandatory during creation of\nprofile.\n",
            "type": "boolean"
          },
          "type": {
            "description": "Type information for the capability.\n\nThe type of a property value\n(*PbmCapabilityPropertyInstance*.*PbmCapabilityPropertyInstance.value*)\nis specified as a builtin datatype and may also specify the interpretation of a\ncollection of values of that datatype.\n- *PbmCapabilityPropertyMetadata.type*.*PbmCapabilityTypeInfo.typeName*\n  specifies the *PbmBuiltinType_enum*.\n- *PbmCapabilityPropertyMetadata.type*.*PbmCapabilityGenericTypeInfo.genericTypeName*\n  indicates how a collection of values of the specified datatype will be interpreted\n  (*PbmBuiltinGenericType_enum*).\n",
            "$ref": "#/components/schemas/PbmCapabilityTypeInfo"
          },
          "defaultValue": {
            "description": "Default value, if any, that the property will assume when not\nconstrained by requirements.\n\nThis object must be of the\n*PbmCapabilityPropertyMetadata.type*\ndefined for the property.\n",
            "$ref": "#/components/schemas/Any"
          },
          "allowedValue": {
            "description": "All legal values that the property may take on, across all\nimplementations of the property.\n\nThis definition of legal values is not\ndetermined by any particular resource configuration; rather it is\ninherent to the definition of the property. If undefined, then any value\nof the correct type is legal. This object must be a generic container for\nthe *PbmCapabilityPropertyMetadata.type*\ndefined for the property;\nsee *PbmBuiltinGenericType_enum*\nfor the supported generic container types.\n",
            "$ref": "#/components/schemas/Any"
          },
          "requirementsTypeHint": {
            "description": "A hint for data-driven systems that assist in authoring requirements\nconstraints.\n\nAcceptable values defined by\n*PbmBuiltinGenericType_enum*.\nA property will typically only have constraints of a given type in\nrequirement profiles, even if it is likely to use constraints of\ndifferent types across capability profiles. This value, if specified,\nspecifies the expected kind of constraint used in requirement profiles.\nConsiderations for using this information:\n- This is only a hint; any properly formed constraint\n  (see *PbmCapabilityPropertyInstance.value*)\n  is still valid for a requirement profile.\n- If VMW\\_SET is hinted, then a single value matching the property metadata type is\n  also an expected form of constraint, as the latter is an allowed convenience\n  for expressing a single-member set.\n- If this hint is not specified, then the authoring system may default to a form of\n  constraint determined by its own criteria.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "summary",
          "mandatory"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityPropertyMetadata": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityPropertyMetadata*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityPropertyMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityTypeInfo": {
        "type": "object",
        "description": "The *PbmCapabilityTypeInfo* data object defines the datatype for a requirement\nor capability property.\n\nSee *PbmCapabilityPropertyMetadata*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "typeName": {
            "description": "Datatype for a property.\n\nMust be one of the types defined\nin *PbmBuiltinType_enum*.\n\nA property value might consist of a collection of values of the specified\ndatatype. The interpretation of the collection is determined by the\ngeneric type (*PbmCapabilityGenericTypeInfo.genericTypeName*).\nThe generic type indicates how a collection of values\nof the specified datatype will be interpreted. See the descriptions of the\n*PbmBuiltinType_enum* definitions.\n",
            "type": "string"
          }
        },
        "required": [
          "typeName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityTypeInfo": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityTypeInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityTypeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityMetadataPerCategory": {
        "type": "object",
        "description": "The *PbmCapabilityMetadataPerCategory*\ndata object defines capability metadata for a profile subcategory.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "subCategory": {
            "description": "Profile subcategory to which the capability metadata belongs.\n\nThe subcategory is specified by the storage provider.\n",
            "type": "string"
          },
          "capabilityMetadata": {
            "description": "Capability metadata for this category\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityMetadata"
            }
          }
        },
        "required": [
          "subCategory",
          "capabilityMetadata"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityMetadataPerCategory": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityMetadataPerCategory*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityMetadataPerCategory"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilitySchema": {
        "type": "object",
        "description": "Capability Schema information\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "vendorInfo": {
            "$ref": "#/components/schemas/PbmCapabilitySchemaVendorInfo"
          },
          "namespaceInfo": {
            "$ref": "#/components/schemas/PbmCapabilityNamespaceInfo"
          },
          "lineOfService": {
            "description": "Service type for the schema.\n\nDo not use Category as each service needs to have its own schema version.\n\nIf omitted, this schema specifies persistence capabilities.\n",
            "$ref": "#/components/schemas/PbmLineOfServiceInfo"
          },
          "capabilityMetadataPerCategory": {
            "description": "Capability metadata organized by category\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityMetadataPerCategory"
            }
          }
        },
        "required": [
          "vendorInfo",
          "namespaceInfo",
          "capabilityMetadataPerCategory"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilitySchema": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilitySchema*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilitySchema"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityNamespaceInfo": {
        "type": "object",
        "description": "Name space information for the capability metadata schema.\n\nNOTE: Name spaces are required to be globally unique across resource types.\nA same vendor can register multiple name spaces for same resource type or\nfor different resource type, but the schema namespace URL must be unique\nfor each of these cases.\nA CapabilityMetadata object is uniquely identified based on the namespace\nit belongs to and it's unique identifier within that namespace.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "version": {
            "description": "Schema version\n",
            "type": "string"
          },
          "namespace": {
            "description": "Schema namespace.\n",
            "type": "string"
          },
          "info": {
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          }
        },
        "required": [
          "version",
          "namespace"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityNamespaceInfo": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityNamespaceInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityNamespaceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilitySchemaVendorInfo": {
        "type": "object",
        "description": "Information about vendor/owner of the capability metadata schema\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "vendorUuid": {
            "description": "Unique identifier for the vendor who owns the given capability\nschema definition\n",
            "type": "string"
          },
          "info": {
            "description": "Captures name and description information about the vendor/owner of\nthe schema.\n- The <code>summary.label</code> property\n  (*PbmExtendedElementDescription.label*)\n  contains vendor name information in server locale.\n- The <code>summary.summary</code> property\n  (*PbmExtendedElementDescription.summary*)\n  contains vendor description string in server locale.\n- The <code>summary.messageCatalogKeyPrefix</code> property\n  (*PbmExtendedElementDescription.messageCatalogKeyPrefix*)\n  contains unique prefix for the vendor information within given message\n  catalog.\n",
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          }
        },
        "required": [
          "vendorUuid",
          "info"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilitySchemaVendorInfo": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilitySchemaVendorInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilitySchemaVendorInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityVendorNamespaceInfo": {
        "type": "object",
        "description": "This structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "vendorInfo": {
            "$ref": "#/components/schemas/PbmCapabilitySchemaVendorInfo"
          },
          "namespaceInfo": {
            "$ref": "#/components/schemas/PbmCapabilityNamespaceInfo"
          }
        },
        "required": [
          "vendorInfo",
          "namespaceInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityVendorNamespaceInfo": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityVendorNamespaceInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityVendorNamespaceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityVendorResourceTypeInfo": {
        "type": "object",
        "description": "This structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "resourceType": {
            "description": "Resource type for which given vendor has registered given namespace\nalong with capability metadata that belongs to the namespace.\n\nMust match one of the values for enum *PbmProfileResourceTypeEnum_enum*\n",
            "type": "string"
          },
          "vendorNamespaceInfo": {
            "description": "List of all vendorInfo &lt;--&gt; namespaceInfo tuples that are registered for\ngiven resource type\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityVendorNamespaceInfo"
            }
          }
        },
        "required": [
          "resourceType",
          "vendorNamespaceInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityVendorResourceTypeInfo": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityVendorResourceTypeInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityVendorResourceTypeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmLineOfServiceInfo": {
        "type": "object",
        "description": "Describes Line of Service of a capability provider.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "lineOfService": {
            "description": "*PbmLineOfServiceInfoLineOfServiceEnum_enum* - must be one of the values\nfor enum *PbmLineOfServiceInfoLineOfServiceEnum_enum*.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the service - for informational\npurposes only.\n",
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          },
          "description": {
            "description": "Description of the service - for informational\npurposes only.\n",
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          }
        },
        "required": [
          "lineOfService",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmLineOfServiceInfo": {
        "type": "object",
        "description": "A boxed array of *PbmLineOfServiceInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmLineOfServiceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPersistenceBasedDataServiceInfo": {
        "type": "object",
        "description": "Describes the data services provided by the storage arrays.\n\nIn addition to storing bits, some VASA providers may also want to separate\ntheir capabilities into lines of service to let vSphere manage finer grain\npolicies. For example an array may support replication natively, and may\nwant vSphere policies to be defined for the replication aspect separately\nand compose them with persistence related policies.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "compatiblePersistenceSchemaNamespace": {
            "description": "This property should be set with compatible schema namespaces exposed by\nthe vendor provider.\n\nIf not specified, vSphere assumes all Data Service\nprovider schemas are compatible with all persistence provider namespaces\nadvertised by the VASA provider.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmLineOfServiceInfo"
          }
        ]
      },
      "ArrayOfPbmPersistenceBasedDataServiceInfo": {
        "type": "object",
        "description": "A boxed array of *PbmPersistenceBasedDataServiceInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPersistenceBasedDataServiceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmVaioDataServiceInfo": {
        "type": "object",
        "description": "Information about a supported data service provided using\nvSphere APIs for IO Filtering (VAIO) data service provider.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmLineOfServiceInfo"
          }
        ]
      },
      "ArrayOfPbmVaioDataServiceInfo": {
        "type": "object",
        "description": "A boxed array of *PbmVaioDataServiceInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmVaioDataServiceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityDescription": {
        "type": "object",
        "description": "A property value with description.\n\nIt can be repeated under DiscreteSet.\nE.g., set of tags, each with description and tag name.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "description": {
            "description": "Description of the property value\n",
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          },
          "value": {
            "description": "Values for the set.\n\nmust be one of the supported datatypes as\ndefined in *PbmBuiltinType_enum*\nMust only contain unique values to comply with the Set semantics\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "description",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityDescription": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityDescription*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityDiscreteSet": {
        "type": "object",
        "description": "The *PbmCapabilityDiscreteSet* data object defines a set of values\nfor storage profile property instances (*PbmCapabilityPropertyInstance*).\n\nUse the discrete set type to define a set of values of a supported builtin type\n(*PbmBuiltinType_enum*), for example a set of integers\n(XSD\\_INT) or a set of unsigned long values (XSD\\_LONG).\nSee *PbmBuiltinGenericType_enum*.*VMW_SET*.\n\nA discrete set of values is declared as an array of <code>xsd:anyType</code> values.\n- When you define a property instance for a storage profile requirement\n  and pass an array of values to the Server, you must set the array elements\n  to values of the appropriate datatype.\n- When you read a discrete set from a property instance for a storage profile\n  capability, you must cast the <code>xsd:anyType</code> array element values\n  to the appropriate datatype.\n  \nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "values": {
            "description": "Array of values for the set.\n\nThe values must be one of the supported datatypes\nas defined in *PbmBuiltinType_enum* or *PbmBuiltinGenericType_enum*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Any"
            }
          }
        },
        "required": [
          "values"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityDiscreteSet": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityDiscreteSet*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityDiscreteSet"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityRange": {
        "type": "object",
        "description": "The *PbmCapabilityRange* data object defines a range of values for storage property\ninstances (*PbmCapabilityPropertyInstance*).\n\nUse the range type to define a range of values of a supported builtin type,\nfor example range&lt;int&gt;, range&lt;long&gt;, or range&lt;timespan&gt;.\nYou can specify a partial range by omitting one of the properties, min or max.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "min": {
            "description": "Minimum value of range.\n\nMust be one of the supported\ndatatypes as defined in *PbmBuiltinType_enum*.\nMust be the same datatype as min.\n",
            "$ref": "#/components/schemas/Any"
          },
          "max": {
            "description": "Maximum value of range.\n\nMust be one of the supported\ndatatypes as defined in *PbmBuiltinType_enum*.\nMust be the same datatype as max.\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "min",
          "max"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityRange": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityRange*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityRange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityTimeSpan": {
        "type": "object",
        "description": "The *PbmCapabilityTimeSpan* data object defines a time value and time unit,\nfor example 10 hours or 5 minutes.\n\nSee\n*PbmBuiltinType_enum*.*VMW_TIMESPAN*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "value": {
            "description": "Time value.\n\nMust be a positive integer.\n",
            "type": "integer",
            "format": "int32"
          },
          "unit": {
            "description": "Unit value for time.\n\nThe string value must correspond\nto one of the *PbmCapabilityTimeUnitType_enum* values.\n",
            "type": "string"
          }
        },
        "required": [
          "value",
          "unit"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityTimeSpan": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityTimeSpan*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityTimeSpan"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmComplianceResult": {
        "type": "object",
        "description": "The *PbmComplianceResult* data object describes the results of profile compliance\nchecking for a virtual machine or virtual disk.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "checkTime": {
            "description": "Time when the compliance was checked.\n",
            "type": "string",
            "format": "date-time"
          },
          "entity": {
            "description": "Virtual machine or virtual disk for which compliance was checked.\n",
            "$ref": "#/components/schemas/PbmServerObjectRef"
          },
          "profile": {
            "description": "Requirement profile with which the compliance was checked.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          },
          "complianceTaskStatus": {
            "description": "Status of the current running compliance operation.\n\nIf there is no\ncompliance check operation triggered, this indicates the last compliance\ntask status. <code>complianceTaskStatus</code> is a string value that\ncorresponds to one of the\n*PbmComplianceResultComplianceTaskStatus_enum* values.\n",
            "type": "string"
          },
          "complianceStatus": {
            "description": "Status of the compliance operation.\n\n<code>complianceStatus</code> is a\nstring value that corresponds to one of the\n*PbmComplianceStatus_enum* values.\n\nWhen you perform compliance checking on an entity whose associated profile\ncontains more than one subprofile (\n*PbmCapabilityProfile* .\n*PbmCapabilityProfile.constraints*), a compliant\nresult for any one of the subprofiles will produce a compliant result\nfor the operation.\n",
            "type": "string"
          },
          "mismatch": {
            "deprecated": true,
            "description": "Deprecated as of vSphere 2016, use\n*PbmComplianceStatus_enum* to\nknow if a mismatch has occurred. If\n*PbmComplianceResult.complianceStatus* value\nis outOfDate, mismatch has occurred.\n\nSet to true if there is a profile version mismatch between the Storage\nProfile Server and the storage provider.\n\nIf you receive a result that\nindicates a mismatch, you must use the vSphere API to update the profile\nassociated with the virtual machine or virtual disk.\n",
            "type": "boolean"
          },
          "violatedPolicies": {
            "description": "Values for capabilities that are known to be non-compliant with the specified constraints.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCompliancePolicyStatus"
            }
          },
          "errorCause": {
            "description": "This property is set if the compliance task fails with errors.\n\nThere can be\nmore than one error since a policy containing multiple blobs can return\nmultiple failures, one for each blob.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "operationalStatus": {
            "description": "Additional information on the effects of backend resources and\noperations on the storage object.\n",
            "$ref": "#/components/schemas/PbmComplianceOperationalStatus"
          },
          "info": {
            "description": "Informational localized messages provided by the VASA provider in\naddition to the <code>violatedPolicy</code>.\n",
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          }
        },
        "required": [
          "checkTime",
          "entity",
          "complianceStatus",
          "mismatch"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmComplianceResult": {
        "type": "object",
        "description": "A boxed array of *PbmComplianceResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmComplianceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmFetchEntityHealthStatusSpec": {
        "type": "object",
        "description": "The *PbmFetchEntityHealthStatusSpec* data object contains\nthe arguments required for\n*PbmComplianceManager.PbmFetchEntityHealthStatusExt*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "objectRef": {
            "description": "*PbmServerObjectRef* for which the healthStatus is required\n",
            "$ref": "#/components/schemas/PbmServerObjectRef"
          },
          "backingId": {
            "description": "BackingId for the ServerObjectRef\nBackingId is mandatory for FCD on vSAN\n",
            "type": "string"
          }
        },
        "required": [
          "objectRef"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmFetchEntityHealthStatusSpec": {
        "type": "object",
        "description": "A boxed array of *PbmFetchEntityHealthStatusSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmFetchEntityHealthStatusSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmComplianceOperationalStatus": {
        "type": "object",
        "description": "Additional information on the effects of backend resources and\noperations on the storage object.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "healthy": {
            "description": "Whether the object is currently affected by the failure of backend\nstorage resources.\n\nOptional property.\n",
            "type": "boolean"
          },
          "operationETA": {
            "description": "Estimated completion time of a backend operation affecting the object.\n\nIf set, then \"transitional\" will be true.\nOptional property.\n",
            "type": "string",
            "format": "date-time"
          },
          "operationProgress": {
            "description": "Percent progress of a backend operation affecting the object.\n\nIf set, then \"transitional\" will be true.\nOptional property.\n",
            "type": "integer",
            "format": "int64"
          },
          "transitional": {
            "description": "Whether an object is undergoing a backend operation that may affect\nits performance.\n\nThis may be a rebalancing the resources of a healthy\nobject or recovery tasks for an unhealthy object.\nOptional property.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmComplianceOperationalStatus": {
        "type": "object",
        "description": "A boxed array of *PbmComplianceOperationalStatus*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmComplianceOperationalStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCompliancePolicyStatus": {
        "type": "object",
        "description": "The *PbmCompliancePolicyStatus* data object provides information\nwhen compliance checking produces non-compliant results.\n\nSee\n*PbmComplianceResult*.*PbmComplianceResult.violatedPolicies*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "expectedValue": {
            "description": "Expected storage capability values of profile policies defined\nby a storage provider.\n",
            "$ref": "#/components/schemas/PbmCapabilityInstance"
          },
          "currentValue": {
            "description": "Current storage requirement values of the profile policies\nspecified for the virtual machine or virtual disk.\n",
            "$ref": "#/components/schemas/PbmCapabilityInstance"
          }
        },
        "required": [
          "expectedValue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCompliancePolicyStatus": {
        "type": "object",
        "description": "A boxed array of *PbmCompliancePolicyStatus*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCompliancePolicyStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmRollupComplianceResult": {
        "type": "object",
        "description": "The *PbmRollupComplianceResult* data object identifies the virtual machine\nfor which rollup compliance was checked, and it contains the overall status\nand a list of compliance result objects.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "oldestCheckTime": {
            "description": "Indicates the earliest time that compliance was checked for any\nof the entities in the rollup compliance check.\n\nThe compliance\ncheck time for a single entity is represented in the\n*PbmComplianceResult*.*PbmComplianceResult.checkTime*\nproperty. If the *PbmComplianceResult.checkTime*\nproperty is unset for any of the objects in the <code>results</code>\narray, the <code>oldestCheckTime</code> property will be unset.\n",
            "type": "string",
            "format": "date-time"
          },
          "entity": {
            "description": "Virtual machine for which the rollup compliance was checked.\n",
            "$ref": "#/components/schemas/PbmServerObjectRef"
          },
          "overallComplianceStatus": {
            "description": "Overall compliance status of the virtual machine and its virtual disks.\n\n<code>overallComplianceStatus</code> is a string value that\ncorresponds to one of the\n*PbmComplianceResult*.*PbmComplianceResult.complianceStatus*\nvalues.\n\nThe overall compliance status is determined by the following rules, applied in the order\nlisted:\n- If all the entities are <code>compliant</code>, the overall status is\n  <code>compliant</code>.\n- Else if any entity's status is <code>outOfDate</code>, the overall status is\n  <code>outOfDate</code>.\n- Else if any entity's status is <code>nonCompliant</code>, the overall status is\n  <code>nonCompliant</code>.\n- Else if any entity's status is <code>unknown</code>, the overall status is\n  <code>unknown</code>.\n- Else if any entity's status is <code>notApplicable</code>, the overall status is\n  <code>notApplicable</code>.\n",
            "type": "string"
          },
          "overallComplianceTaskStatus": {
            "description": "Overall compliance task status of the virtual machine and its virtual\ndisks.\n\n<code>overallComplianceTaskStatus</code> is a string value that\ncorresponds to one of the *PbmComplianceResult*.\n*PbmComplianceResult.complianceTaskStatus* values.\n",
            "type": "string"
          },
          "result": {
            "description": "Individual compliance results that make up the rollup.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmComplianceResult"
            }
          },
          "errorCause": {
            "description": "This property is set if the overall compliance task fails with some error.\n\nThis\nproperty indicates the causes of error. If there are multiple failures, it stores\nthese failure in this array.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "profileMismatch": {
            "deprecated": true,
            "description": "Deprecated as of vSphere 2016, use\n*PbmRollupComplianceResult.overallComplianceStatus*\nto know if profile mismatch has occurred. If\noverallComplianceStatus value is outOfDate, it means\nprofileMismatch has occurred.\n\nTrue if and only if *PbmComplianceResult*.\n\n*PbmComplianceResult.mismatch* is true for at least one\nentity in the rollup compliance check.\n",
            "type": "boolean"
          }
        },
        "required": [
          "oldestCheckTime",
          "entity",
          "overallComplianceStatus",
          "profileMismatch"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmRollupComplianceResult": {
        "type": "object",
        "description": "A boxed array of *PbmRollupComplianceResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmRollupComplianceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmAlreadyExists": {
        "type": "object",
        "description": "An AlreadyExists fault is thrown when an attempt is made to add an element to\na collection, if the element's key, name, or identifier already exists in\nthat collection.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmFault"
          }
        ]
      },
      "ArrayOfPbmAlreadyExists": {
        "type": "object",
        "description": "A boxed array of *PbmAlreadyExists*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmAlreadyExists"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityProfilePropertyMismatchFault": {
        "type": "object",
        "description": "Fault used when a datastore doesnt match the capability profile property instance in requirements profile.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "resourcePropertyInstance": {
            "description": "The property instance in the resource profile that does not match.\n",
            "$ref": "#/components/schemas/PbmCapabilityPropertyInstance"
          }
        },
        "required": [
          "resourcePropertyInstance"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmPropertyMismatchFault"
          }
        ]
      },
      "ArrayOfPbmCapabilityProfilePropertyMismatchFault": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityProfilePropertyMismatchFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityProfilePropertyMismatchFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCompatibilityCheckFault": {
        "type": "object",
        "description": "Super class for all compatibility check faults.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hub": {
            "description": "Placement Hub\n",
            "$ref": "#/components/schemas/PbmPlacementHub"
          }
        },
        "required": [
          "hub"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmFault"
          }
        ]
      },
      "ArrayOfPbmCompatibilityCheckFault": {
        "type": "object",
        "description": "A boxed array of *PbmCompatibilityCheckFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCompatibilityCheckFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmDefaultProfileAppliesFault": {
        "type": "object",
        "description": "Warning fault used to indicate that the vendor specific datastore matches the tag in the\nrequirements profile that does not have a vendor specific rule set.\n\nIn such case,\nan empty blob is sent to the vendor specific datastore and the default profile would apply.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmCompatibilityCheckFault"
          }
        ]
      },
      "ArrayOfPbmDefaultProfileAppliesFault": {
        "type": "object",
        "description": "A boxed array of *PbmDefaultProfileAppliesFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmDefaultProfileAppliesFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmDuplicateName": {
        "type": "object",
        "description": "A DuplicateName exception is thrown because a name already exists\nin the same name space.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "name": {
            "description": "The name that is already bound in the name space.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmFault"
          }
        ]
      },
      "ArrayOfPbmDuplicateName": {
        "type": "object",
        "description": "A boxed array of *PbmDuplicateName*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmDuplicateName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmIncompatibleVendorSpecificRuleSet": {
        "type": "object",
        "description": "Warning fault used to indicate that the vendor specific datastore matches the tag in the\nrequirements profile but doesnt match the vendor specific rule set in the requirements profile.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmCapabilityProfilePropertyMismatchFault"
          }
        ]
      },
      "ArrayOfPbmIncompatibleVendorSpecificRuleSet": {
        "type": "object",
        "description": "A boxed array of *PbmIncompatibleVendorSpecificRuleSet*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmIncompatibleVendorSpecificRuleSet"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmFaultInvalidLogin": {
        "type": "object",
        "description": "Thrown when login fails due to token not provided or token could not be\nvalidated.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmFault"
          }
        ]
      },
      "ArrayOfPbmFaultInvalidLogin": {
        "type": "object",
        "description": "A boxed array of *PbmFaultInvalidLogin*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmFaultInvalidLogin"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmLegacyHubsNotSupported": {
        "type": "object",
        "description": "LegacyHubsNotSupported fault is thrown to indicate the legacy hubs that are not supported.\n\nFor storage, legacy hubs or datastores are VMFS and NFS datastores.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hubs": {
            "description": "Legacy hubs that are not supported.\n\nOnly datastores will be populated in this fault. Datastore clusters\nare not allowed.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          }
        },
        "required": [
          "hubs"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmFault"
          }
        ]
      },
      "ArrayOfPbmLegacyHubsNotSupported": {
        "type": "object",
        "description": "A boxed array of *PbmLegacyHubsNotSupported*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmLegacyHubsNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmFaultNoPermission": {
        "type": "object",
        "description": "Thrown when an operation is denied because of a privilege\nnot held on a storage profile.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "missingPrivileges": {
            "description": "List of profile ids and missing privileges for each profile\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmFaultNoPermissionEntityPrivileges"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/SecurityError"
          }
        ]
      },
      "ArrayOfPbmFaultNoPermission": {
        "type": "object",
        "description": "A boxed array of *PbmFaultNoPermission*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmFaultNoPermission"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmFaultNoPermissionEntityPrivileges": {
        "type": "object",
        "description": "This structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profileId": {
            "$ref": "#/components/schemas/PbmProfileId"
          },
          "privilegeIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmFaultNoPermissionEntityPrivileges": {
        "type": "object",
        "description": "A boxed array of *PbmFaultNoPermissionEntityPrivileges*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmFaultNoPermissionEntityPrivileges"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmNonExistentHubs": {
        "type": "object",
        "description": "NonExistentHubs is thrown to indicate that some non existent datastores are used.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hubs": {
            "description": "Legacy hubs that do not exist.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          }
        },
        "required": [
          "hubs"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmFault"
          }
        ]
      },
      "ArrayOfPbmNonExistentHubs": {
        "type": "object",
        "description": "A boxed array of *PbmNonExistentHubs*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmNonExistentHubs"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmFaultNotFound": {
        "type": "object",
        "description": "A NotFound error occurs when a referenced component of a managed\nobject cannot be found.\n\nThe referenced component can be a data\nobject type (such as a role or permission) or a primitive\n(such as a string).\n\nFor example, if the missing referenced component is a data object, such as\nVirtualSwitch, the NotFound error is\nthrown. The NotFound error is also thrown if the data object is found, but the referenced name\n(for example, \"vswitch0\") is not.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmFault"
          }
        ]
      },
      "ArrayOfPbmFaultNotFound": {
        "type": "object",
        "description": "A boxed array of *PbmFaultNotFound*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmFaultNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmFault": {
        "type": "object",
        "description": "The super class for all pbm faults.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfPbmFault": {
        "type": "object",
        "description": "A boxed array of *PbmFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmFaultProfileStorageFault": {
        "type": "object",
        "description": "This structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmFault"
          }
        ]
      },
      "ArrayOfPbmFaultProfileStorageFault": {
        "type": "object",
        "description": "A boxed array of *PbmFaultProfileStorageFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmFaultProfileStorageFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPropertyMismatchFault": {
        "type": "object",
        "description": "Fault used to indicate which property instance in requirements profile that does not\nmatch.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "capabilityInstanceId": {
            "description": "Id of the CapabilityInstance in requirements profile that\ndoes not match.\n",
            "$ref": "#/components/schemas/PbmCapabilityMetadataUniqueId"
          },
          "requirementPropertyInstance": {
            "description": "The property instance in requirement profile that does not match.\n",
            "$ref": "#/components/schemas/PbmCapabilityPropertyInstance"
          }
        },
        "required": [
          "capabilityInstanceId",
          "requirementPropertyInstance"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmCompatibilityCheckFault"
          }
        ]
      },
      "ArrayOfPbmPropertyMismatchFault": {
        "type": "object",
        "description": "A boxed array of *PbmPropertyMismatchFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPropertyMismatchFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmResourceInUse": {
        "type": "object",
        "description": "A ResourceInUse fault indicating that some error has occurred because a\nresource was in use.\n\nInformation about the resource that is in use may\nbe supplied.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "type": {
            "description": "Type of resource that is in use.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the instance of the resource that is in use.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmFault"
          }
        ]
      },
      "ArrayOfPbmResourceInUse": {
        "type": "object",
        "description": "A boxed array of *PbmResourceInUse*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmResourceInUse"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPlacementCapabilityConstraintsRequirement": {
        "type": "object",
        "description": "Requirement type containing capability constraints\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "constraints": {
            "description": "Capability constraints\n",
            "$ref": "#/components/schemas/PbmCapabilityConstraints"
          }
        },
        "required": [
          "constraints"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmPlacementRequirement"
          }
        ]
      },
      "ArrayOfPbmPlacementCapabilityConstraintsRequirement": {
        "type": "object",
        "description": "A boxed array of *PbmPlacementCapabilityConstraintsRequirement*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementCapabilityConstraintsRequirement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPlacementCapabilityProfileRequirement": {
        "type": "object",
        "description": "A Requirement for a particular *PbmCapabilityProfile*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profileId": {
            "description": "Reference to the capability profile being used as a requirement\n",
            "$ref": "#/components/schemas/PbmProfileId"
          }
        },
        "required": [
          "profileId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmPlacementRequirement"
          }
        ]
      },
      "ArrayOfPbmPlacementCapabilityProfileRequirement": {
        "type": "object",
        "description": "A boxed array of *PbmPlacementCapabilityProfileRequirement*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementCapabilityProfileRequirement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPlacementCompatibilityResult": {
        "type": "object",
        "description": "The *PbmPlacementCompatibilityResult* data object\ncontains the compatibility result of a placement request.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hub": {
            "description": "The <code>Datastore</code> or <code>StoragePod</code> under consideration\nas a location for virtual machine files.\n",
            "$ref": "#/components/schemas/PbmPlacementHub"
          },
          "matchingResources": {
            "description": "Resources that match the policy.\n\nIf populated, signifies that there are\nspecific resources that match the policy for *PbmPlacementCompatibilityResult.hub*. If null,\nsignifies that all resources (for example, hosts connected to the\ndatastore or storage pod) are compatible.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementMatchingResources"
            }
          },
          "howMany": {
            "description": "How many objects of the kind requested can be provisioned on this\n*PbmPlacementCompatibilityResult.hub*.\n",
            "type": "integer",
            "format": "int64"
          },
          "utilization": {
            "description": "This field is not populated if there is no size in the query, i.e.\n\nif the request carries only policy and no size requirements, this\nwill not be populated.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementResourceUtilization"
            }
          },
          "warning": {
            "description": "Array of faults that describe issues that may affect profile compatibility.\n\nUsers should consider these issues before using this <code>Datastore</code>\nor <code>StoragePod</code> and a connected <code>Host</code>s.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "error": {
            "description": "Array of faults that prevent this datastore or storage pod from being compatible with the\nspecified profile, including if no host connected to this *PbmPlacementCompatibilityResult.hub* is compatible.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "hub"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmPlacementCompatibilityResult": {
        "type": "object",
        "description": "A boxed array of *PbmPlacementCompatibilityResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementCompatibilityResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPlacementMatchingReplicationResources": {
        "type": "object",
        "description": "Describes the collection of replication related resources that satisfy a\npolicy, for a specific datastore.\n\nThis class is returned only when the policy contains replication capabilities.\nFor a storage pod, only those replication groups that are common across\nall datastores in the storage pod are considered compatible.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "replicationGroup": {
            "description": "Replication groups that match the policy.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmPlacementMatchingResources"
          }
        ]
      },
      "ArrayOfPbmPlacementMatchingReplicationResources": {
        "type": "object",
        "description": "A boxed array of *PbmPlacementMatchingReplicationResources*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementMatchingReplicationResources"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPlacementMatchingResources": {
        "type": "object",
        "description": "Describes the collection of resources (for example, hosts) that satisfy a\npolicy, for a specific datastore.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmPlacementMatchingResources": {
        "type": "object",
        "description": "A boxed array of *PbmPlacementMatchingResources*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementMatchingResources"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPlacementHub": {
        "type": "object",
        "description": "A *PbmPlacementHub* data object identifies a storage location\nwhere virtual machine files can be placed.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "hubType": {
            "description": "Type of the hub.\n\nCurrently ManagedObject is the only supported type.\n",
            "type": "string"
          },
          "hubId": {
            "description": "Hub identifier; a ManagedObjectReference to a datastore or a storage pod.\n",
            "type": "string"
          }
        },
        "required": [
          "hubType",
          "hubId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmPlacementHub": {
        "type": "object",
        "description": "A boxed array of *PbmPlacementHub*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPlacementRequirement": {
        "type": "object",
        "description": "Defines a constraint for placing objects onto *PbmPlacementHub*s.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmPlacementRequirement": {
        "type": "object",
        "description": "A boxed array of *PbmPlacementRequirement*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementRequirement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmPlacementResourceUtilization": {
        "type": "object",
        "description": "Describes the resource utilization metrics of a datastore.\n\nThese results are not to be treated as a guaranteed availability,\nthey are useful to estimate the effects of a change of policy\nor the effects of a provisioning action.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "name": {
            "description": "Name of the resource.\n",
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          },
          "description": {
            "description": "Description of the resource.\n",
            "$ref": "#/components/schemas/PbmExtendedElementDescription"
          },
          "availableBefore": {
            "description": "Currently available (i.e.\n\nbefore the provisioning step).\n",
            "type": "integer",
            "format": "int64"
          },
          "availableAfter": {
            "description": "Available after the provisioning step.\n",
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "description": "Total resource availability\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "name",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmPlacementResourceUtilization": {
        "type": "object",
        "description": "A boxed array of *PbmPlacementResourceUtilization*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementResourceUtilization"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityProfile": {
        "type": "object",
        "description": "The *PbmCapabilityProfile* data object defines\ncapability-based profiles.\n\nA capability-based profile is derived\nfrom tag-based storage capabilities or from vSAN storage capabilities.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profileCategory": {
            "description": "Indicates whether the profile is requirement\nprofile, a resource profile or a data service profile.\n\nThe <code>profileCategory</code>\nis a string value that corresponds to one of the\n*PbmProfileCategoryEnum_enum* values.\n- REQUIREMENT profile - Defines the storage constraints applied\n  to virtual machine placement. Requirements are defined by\n  the user and can be associated with virtual machines and virtual\n  disks. During provisioning, you can use a requirements profile\n  for compliance and placement checking to support\n  selection and configuration of resources.\n- RESOURCE profile - Specifies system-defined storage capabilities.\n  You cannot modify a resource profile. You cannot associate a resource\n  profile with vSphere entities, use it during provisioning, or target\n  entities for resource selection or configuration.\n  This type of profile gives the user visibility into the capabilities\n  supported by the storage provider.\n- DATA\\_SERVICE\\_POLICY - Indicates a data service policy that can\n  be embedded into another storage policy. Policies of this type can't\n  be assigned to Virtual Machines or Virtual Disks. This policy cannot\n  be used for compliance checking.\n",
            "type": "string"
          },
          "resourceType": {
            "description": "Type of the target resource to which the capability information applies.\n\nA fixed enum that defines resource types for which capabilities can be defined\nsee *PbmProfileResourceType*, *PbmProfileResourceTypeEnum_enum*\n",
            "$ref": "#/components/schemas/PbmProfileResourceType"
          },
          "constraints": {
            "description": "Subprofiles that describe storage requirements or storage provider capabilities,\ndepending on the profile category (REQUIREMENT or RESOURCE).\n",
            "$ref": "#/components/schemas/PbmCapabilityConstraints"
          },
          "generationId": {
            "description": "Generation ID is used to communicate the current version of the profile to VASA\nproviders.\n\nIt is only applicable to REQUIREMENT profile types. Every time a\nrequirement profile is edited, the Server will increment the generationId. You\ndo not need to set the generationID. When an object is created (or\nreconfigured), the Server will send the requirement profile content, profile ID and\nthe generationID to VASA provider.\n",
            "type": "integer",
            "format": "int64"
          },
          "isDefault": {
            "deprecated": true,
            "description": "Deprecated since it is not supported.\n\nNot supported in this release.\n",
            "type": "boolean"
          },
          "systemCreatedProfileType": {
            "description": "Indicates the type of system pre-created default profile.\n\nThis will be set only for system pre-created default profiles. And\nthis is not set for RESOURCE profiles.\n",
            "type": "string"
          },
          "lineOfService": {
            "description": "This property is set only for data service policy.\n\nIndicates the line of service\n*PbmLineOfServiceInfoLineOfServiceEnum_enum* of the data service policy.\n",
            "type": "string"
          }
        },
        "required": [
          "profileCategory",
          "resourceType",
          "constraints",
          "isDefault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmProfile"
          }
        ]
      },
      "ArrayOfPbmCapabilityProfile": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityProfile*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityProfileCreateSpec": {
        "type": "object",
        "description": "The *PbmCapabilityProfileCreateSpec* describes storage requirements.\n\nUse this data object to create a *PbmCapabilityProfile*.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "name": {
            "description": "Name of the capability based profile to be created.\n\nThe maximum length of the name is 80 characters.\n",
            "type": "string"
          },
          "description": {
            "description": "Text description associated with the profile.\n",
            "type": "string"
          },
          "category": {
            "description": "Category specifies the type of policy to be created.\n\nThis can be REQUIREMENT from\n*PbmProfileCategoryEnum_enum*\nor null when creating a storage policy. And it can be DATA\\_SERVICE\\_POLICY from\n*PbmProfileCategoryEnum_enum*\nwhen creating a data service policy. RESOURCE from *PbmProfileCategoryEnum_enum*\nis not allowed as resource profile is created by the system.\n",
            "type": "string"
          },
          "resourceType": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5.\n\nSpecifies the type of resource to which the profile applies.\n\nThe only legal value is STORAGE - deprecated.\n",
            "$ref": "#/components/schemas/PbmProfileResourceType"
          },
          "constraints": {
            "description": "Set of subprofiles that define the storage requirements.\n\nA subprofile corresponds to a rule set in the vSphere Web Client.\n",
            "$ref": "#/components/schemas/PbmCapabilityConstraints"
          }
        },
        "required": [
          "name",
          "resourceType",
          "constraints"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityProfileCreateSpec": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityProfileCreateSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityProfileCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityProfileUpdateSpec": {
        "type": "object",
        "description": "The *PbmCapabilityProfileUpdateSpec* data object\ncontains data that you use to update a storage profile.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "name": {
            "description": "Specifies a new profile name.\n",
            "type": "string"
          },
          "description": {
            "description": "Specifies a new profile description.\n",
            "type": "string"
          },
          "constraints": {
            "description": "Specifies one or more subprofiles.\n\nA subprofile defines one or more\nstorage requirements.\n",
            "$ref": "#/components/schemas/PbmCapabilityConstraints"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityProfileUpdateSpec": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityProfileUpdateSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityProfileUpdateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilityConstraints": {
        "type": "object",
        "description": "The *PbmCapabilityConstraints* data object is the base\nobject for capability subprofile constraints.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilityConstraints": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilityConstraints*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityConstraints"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmDataServiceToPoliciesMap": {
        "type": "object",
        "description": "DataServiceToProfilesMap maps the data service policy to the parent storage policies\nif referred.\n\nThis is returned from the API call\n`ProfileManager#queryParentStoragePolicies(ProfileId[])`\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "dataServicePolicy": {
            "description": "Denotes a Data Service Policy Id.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          },
          "parentStoragePolicies": {
            "description": "Storage Policies that refer to the Data Service Policy given by\n*PbmDataServiceToPoliciesMap.dataServicePolicy*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileId"
            }
          },
          "fault": {
            "description": "The fault is set in case of error conditions and this property will\nhave the reason.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "dataServicePolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmDataServiceToPoliciesMap": {
        "type": "object",
        "description": "A boxed array of *PbmDataServiceToPoliciesMap*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmDataServiceToPoliciesMap"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmDefaultCapabilityProfile": {
        "type": "object",
        "description": "Not supported in this release.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "vvolType": {
            "description": "Not supported in this release.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "containerId": {
            "description": "Not supported in this release.\n",
            "type": "string"
          }
        },
        "required": [
          "vvolType",
          "containerId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmCapabilityProfile"
          }
        ]
      },
      "ArrayOfPbmDefaultCapabilityProfile": {
        "type": "object",
        "description": "A boxed array of *PbmDefaultCapabilityProfile*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmDefaultCapabilityProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmDefaultProfileInfo": {
        "type": "object",
        "description": "Data structure that stores the default profile for datastores.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "datastores": {
            "description": "Datastores\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmPlacementHub"
            }
          },
          "defaultProfile": {
            "description": "Default requirements profile.\n\nIt is set to null if the datastores are not associated with any default profile.\n",
            "$ref": "#/components/schemas/PbmProfile"
          },
          "methodFault": {
            "description": "NoPermission fault if default profile is not permitted.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "datastores"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmDefaultProfileInfo": {
        "type": "object",
        "description": "A boxed array of *PbmDefaultProfileInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmDefaultProfileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmProfile": {
        "type": "object",
        "description": "The *PbmProfile* data object is the base object\nfor storage capability profiles.\n\nThis object defines metadata\nfor the profile. The derived capability profile represents the\nuser's intent for selection and configuration of storage resources\nand/or services that support deployment of virtual machines\nand virtual disks.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profileId": {
            "description": "Unique identifier for the profile.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "description": "Profile description.\n",
            "type": "string"
          },
          "creationTime": {
            "description": "Time stamp of profile creation.\n",
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "description": "User name of the profile creator.\n\nSet during creation time.\n",
            "type": "string"
          },
          "lastUpdatedTime": {
            "description": "Time stamp of latest modification to the profile.\n",
            "type": "string",
            "format": "date-time"
          },
          "lastUpdatedBy": {
            "description": "Name of the user performing the latest modification of the profile.\n",
            "type": "string"
          }
        },
        "required": [
          "profileId",
          "name",
          "creationTime",
          "createdBy",
          "lastUpdatedTime",
          "lastUpdatedBy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmProfile": {
        "type": "object",
        "description": "A boxed array of *PbmProfile*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmProfileId": {
        "type": "object",
        "description": "Profile unique identifier.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "uniqueId": {
            "description": "Unique identifier of the profile.\n",
            "type": "string"
          }
        },
        "required": [
          "uniqueId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmProfileId": {
        "type": "object",
        "description": "A boxed array of *PbmProfileId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmProfileOperationOutcome": {
        "type": "object",
        "description": "The *PbmProfileOperationOutcome* data object describes the result\nof a *PbmProfileProfileManager* operation.\n\nIf there was an\nerror during the operation, the object identifies the fault.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profileId": {
            "description": "Identifies the profile specified for the operation.\n",
            "$ref": "#/components/schemas/PbmProfileId"
          },
          "fault": {
            "description": "One of the *PbmFault* objects.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "profileId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmProfileOperationOutcome": {
        "type": "object",
        "description": "A boxed array of *PbmProfileOperationOutcome*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileOperationOutcome"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmProfileType": {
        "type": "object",
        "description": "The *PbmProfileType* identifier is defined by storage providers\nto distinguish between different types of profiles plugged into the system.\n\nAn example of a system supported profile type is \"CapabilityBasedProfileType\"\nwhich will be the type used for all capability-based profiles created by\nthe system using capability metadata information published to the system.\n\nFor internal use only.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "uniqueId": {
            "description": "Unique type identifier for this profile type.\n\neg \"CapabilityBased\", or other.\n",
            "type": "string"
          }
        },
        "required": [
          "uniqueId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmProfileType": {
        "type": "object",
        "description": "A boxed array of *PbmProfileType*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmQueryProfileResult": {
        "type": "object",
        "description": "The *PbmQueryProfileResult* data object\nidentifies a virtual machine, virtual disk, or datastore\nand it lists the identifier(s) for the associated profile(s).\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "object": {
            "description": "Reference to the virtual machine, virtual disk, or\ndatastore on which the query was performed.\n",
            "$ref": "#/components/schemas/PbmServerObjectRef"
          },
          "profileId": {
            "description": "Array of identifiers for profiles which are associated with <code>object</code>.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileId"
            }
          },
          "fault": {
            "description": "Fault associated with the query, if there is one.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "object"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmQueryProfileResult": {
        "type": "object",
        "description": "A boxed array of *PbmQueryProfileResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmQueryProfileResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmProfileResourceType": {
        "type": "object",
        "description": "The *PbmProfileResourceType* data object defines the vSphere resource type\nthat is supported for profile management.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "resourceType": {
            "description": "Type of resource to which capability information applies.\n\n<code>resourceType</code> is a string value that corresponds to\na *PbmProfileResourceTypeEnum_enum* enumeration value.\nOnly the STORAGE resource type is supported.\n",
            "type": "string"
          }
        },
        "required": [
          "resourceType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmProfileResourceType": {
        "type": "object",
        "description": "A boxed array of *PbmProfileResourceType*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmProfileResourceType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilitySubProfileConstraints": {
        "type": "object",
        "description": "The *PbmCapabilitySubProfileConstraints* data object defines a group\nof storage subprofiles.\n\nSubprofile usage depends on the type of profile\n(*PbmCapabilityProfile*.*PbmCapabilityProfile.profileCategory*).\n- For a REQUIREMENTS profile, each subprofile defines storage requirements.\n  A Storage Policy API requirements subprofile corresponds to a vSphere Web Client\n  rule set.\n- For a RESOURCE profile, each subprofile defines storage capabilities.\n  Storage capabilities are read-only.\n  \nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "subProfiles": {
            "description": "Aggregation of one or more subprofiles.\n\nThe relationship among all subprofiles is \"OR\". When you perform\ncompliance checking on a profile that contains more than one subprofile,\na non-compliant result for any one of the subprofiles will produce a\nnon-compliant result for the operation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilitySubProfile"
            }
          }
        },
        "required": [
          "subProfiles"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PbmCapabilityConstraints"
          }
        ]
      },
      "ArrayOfPbmCapabilitySubProfileConstraints": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilitySubProfileConstraints*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilitySubProfileConstraints"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmCapabilitySubProfile": {
        "type": "object",
        "description": "A *PbmCapabilitySubProfile*\nis a section within a profile that aggregates one or more capability\ninstances.\n\nCapability instances define storage constraints.\n\nAll constraints within a subprofile are ANDed by default.\nWhen you perform compliance checking on a virtual machine or virtual\ndisk, all of the constraints must be satisfied by the storage capabilities.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "name": {
            "description": "Subprofile name.\n",
            "type": "string"
          },
          "capability": {
            "description": "List of capability instances.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilityInstance"
            }
          },
          "forceProvision": {
            "description": "Indicates whether the source policy profile allows creating a virtual machine\nor virtual disk that may be non-compliant.\n",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "capability"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmCapabilitySubProfile": {
        "type": "object",
        "description": "A boxed array of *PbmCapabilitySubProfile*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmCapabilitySubProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmDatastoreSpaceStatistics": {
        "type": "object",
        "description": "Space stats for datastore\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "profileId": {
            "description": "Capability profile id.\n\nIt is null when the statistics are for the entire\ndatastore.\n",
            "type": "string"
          },
          "physicalTotalInMB": {
            "description": "Total physical space in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "physicalFreeInMB": {
            "description": "Total physical free space in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "physicalUsedInMB": {
            "description": "Used physical storage space in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "logicalLimitInMB": {
            "description": "Logical space limit set by the storage admin in MB.\n\nOmitted if there is no Logical space limit.\n",
            "type": "integer",
            "format": "int64"
          },
          "logicalFreeInMB": {
            "description": "Free logical storage space in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "logicalUsedInMB": {
            "description": "Used logical storage space in MB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "physicalTotalInMB",
          "physicalFreeInMB",
          "physicalUsedInMB",
          "logicalFreeInMB",
          "logicalUsedInMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmDatastoreSpaceStatistics": {
        "type": "object",
        "description": "A boxed array of *PbmDatastoreSpaceStatistics*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmDatastoreSpaceStatistics"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PbmQueryReplicationGroupResult": {
        "type": "object",
        "description": "The *PbmQueryReplicationGroupResult* data object\nidentifies a virtual machine, or a virtual disk and lists the identifier(s) for the associated\nreplication group.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "object": {
            "description": "Reference to the virtual machine or virtual disk on which the query was performed.\n\nIf the\nquery was performed for a virtual machine and all it's disks, this will reference each disk\nand the virtual machine config individually.\n",
            "$ref": "#/components/schemas/PbmServerObjectRef"
          },
          "replicationGroupId": {
            "description": "Replication group identifier which is associated with <code>object</code>.\n",
            "$ref": "#/components/schemas/ReplicationGroupId"
          },
          "fault": {
            "description": "Fault associated with the query, if there is one.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "object"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPbmQueryReplicationGroupResult": {
        "type": "object",
        "description": "A boxed array of *PbmQueryReplicationGroupResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/pbm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PbmQueryReplicationGroupResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SmsAboutInfo": {
        "type": "object",
        "description": "This data object type describes system information.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          },
          "vendor": {
            "type": "string"
          },
          "apiVersion": {
            "type": "string"
          },
          "instanceUuid": {
            "type": "string"
          },
          "vasaApiVersion": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "fullName",
          "vendor",
          "apiVersion",
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSmsAboutInfo": {
        "type": "object",
        "description": "A boxed array of *SmsAboutInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmsAboutInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EntityReference": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of SMS API 4.0.\n\nUnique identifier of a given entity with the storage\nmanagement service.\n\nIt is similar to the VirtualCenter\nManagedObjectReference but also identifies certain\nnon-managed objects.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "id": {
            "description": "Unique identifier for the entity of a given type in the\nsystem.\n\nA VirtualCenter managed object ID can be supplied\nhere, in which case the type may be unset. Otherwise, the\ntype must be set.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of the entity.\n",
            "$ref": "#/components/schemas/EntityReferenceEntityType_enum"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEntityReference": {
        "type": "object",
        "description": "A boxed array of *EntityReference*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityReference"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultDomainFilter": {
        "type": "object",
        "description": "This spec contains information needed for *SmsStorageManager.QueryFaultDomain*\nAPI to filter the result.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "providerId": {
            "description": "If specified, query for this specific provider only; else query for all\nproviders.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultDomainFilter": {
        "type": "object",
        "description": "A boxed array of *FaultDomainFilter*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultDomainFilter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationGroupFilter": {
        "type": "object",
        "description": "This spec contains information needed for *SmsStorageManager.QueryReplicationGroupInfo*\nAPI to filter the result.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "Query for the given replication groups from their associated providers.\n\nThe groupId cannot be null or empty.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicationGroupFilter": {
        "type": "object",
        "description": "A boxed array of *ReplicationGroupFilter*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupFilter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SmsTaskInfo": {
        "type": "object",
        "description": "This data object type contains all information about a task.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "key": {
            "description": "The unique key for the task.\n",
            "type": "string"
          },
          "task": {
            "description": "The managed object that represents this task.\n\nRefers instance of *SmsTask*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "object": {
            "description": "Managed Object to which the operation applies.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "error": {
            "description": "If the task state is \"error\", then this property contains the fault code.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "result": {
            "description": "If the task state is \"success\", then this property may be used\nto hold a return value.\n",
            "$ref": "#/components/schemas/Any"
          },
          "startTime": {
            "description": "Time stamp when the task started running.\n",
            "type": "string",
            "format": "date-time"
          },
          "completionTime": {
            "description": "Time stamp when the task was completed (whether success or failure).\n",
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "description": "Runtime status of the task.\n\nPossible values are *SmsTaskState_enum*\n",
            "type": "string"
          },
          "progress": {
            "description": "If the task state is \"running\", then this property contains a\nprogress measurement, expressed as percentage completed, from 0 to 100.\n\nIf this property is not set, then the command does not report progress.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key",
          "task",
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSmsTaskInfo": {
        "type": "object",
        "description": "A boxed array of *SmsTaskInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmsTaskInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AuthConnectionFailed": {
        "type": "object",
        "description": "This exception is thrown when an error occurs while\nconnecting to the vpxd service to validate the user\ncredentials\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NoPermission"
          }
        ]
      },
      "ArrayOfAuthConnectionFailed": {
        "type": "object",
        "description": "A boxed array of *AuthConnectionFailed*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthConnectionFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CertificateAuthorityFault": {
        "type": "object",
        "description": "This exception is thrown if there is a problem with calls to the\nCertificateAuthority.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "faultCode": {
            "description": "Fault code returned by certificate authority.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "faultCode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ProviderRegistrationFault"
          }
        ]
      },
      "ArrayOfCertificateAuthorityFault": {
        "type": "object",
        "description": "A boxed array of *CertificateAuthorityFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertificateAuthorityFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CertificateNotImported": {
        "type": "object",
        "description": "This exception is thrown if *VasaProviderInfo.retainVasaProviderCertificate*\nis true and the provider uses a certificate issued by a Certificate Authority,\nbut the root certificate of the Certificate Authority is not imported to VECS truststore\nbefore attempting the provider registration.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProviderRegistrationFault"
          }
        ]
      },
      "ArrayOfCertificateNotImported": {
        "type": "object",
        "description": "A boxed array of *CertificateNotImported*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertificateNotImported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CertificateNotTrusted": {
        "type": "object",
        "description": "This exception is thrown if the certificate provided by the\nprovider is not trusted.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "certificate": {
            "description": "Certificate\n",
            "type": "string"
          }
        },
        "required": [
          "certificate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ProviderRegistrationFault"
          }
        ]
      },
      "ArrayOfCertificateNotTrusted": {
        "type": "object",
        "description": "A boxed array of *CertificateNotTrusted*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertificateNotTrusted"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CertificateRefreshFailed": {
        "type": "object",
        "description": "This exception is thrown if SMS failed to\nrefresh a CA signed certificate for the provider (or)\npush the latest CA root certificates and CRLs to the provider.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "providerId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfCertificateRefreshFailed": {
        "type": "object",
        "description": "A boxed array of *CertificateRefreshFailed*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertificateRefreshFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CertificateRevocationFailed": {
        "type": "object",
        "description": "This exception is thrown if SMS failed to revoke CA signed certificate of the provider.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfCertificateRevocationFailed": {
        "type": "object",
        "description": "A boxed array of *CertificateRevocationFailed*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertificateRevocationFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DuplicateEntry": {
        "type": "object",
        "description": "This exception indicates there are duplicate entries in the input argument.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfDuplicateEntry": {
        "type": "object",
        "description": "A boxed array of *DuplicateEntry*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DuplicateEntry"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InactiveProvider": {
        "type": "object",
        "description": "Thrown if the VASA Provider on which the call is made is currently not\nactive.\n\nIf the client maintains a cache of the topology of fault domains\nand replication groups, it's expected to update the cache based on the\nmapping information set in this fault.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "mapping": {
            "description": "Mapping between VASA provider and the fault domains\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultDomainProviderMapping"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfInactiveProvider": {
        "type": "object",
        "description": "A boxed array of *InactiveProvider*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InactiveProvider"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IncorrectUsernamePassword": {
        "type": "object",
        "description": "This fault is thrown if failed to register provider due to incorrect credentials.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProviderRegistrationFault"
          }
        ]
      },
      "ArrayOfIncorrectUsernamePassword": {
        "type": "object",
        "description": "A boxed array of *IncorrectUsernamePassword*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncorrectUsernamePassword"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidCertificate": {
        "type": "object",
        "description": "This exception is thrown if the provider certificate is empty, malformed,\nexpired, not yet valid, revoked or fails host name verification.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "certificate": {
            "description": "Provider certificate\n",
            "type": "string"
          }
        },
        "required": [
          "certificate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ProviderRegistrationFault"
          }
        ]
      },
      "ArrayOfInvalidCertificate": {
        "type": "object",
        "description": "A boxed array of *InvalidCertificate*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SmsInvalidLogin": {
        "type": "object",
        "description": "Thrown when login fails due to token not provided or token could not be\nvalidated.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfSmsInvalidLogin": {
        "type": "object",
        "description": "A boxed array of *SmsInvalidLogin*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmsInvalidLogin"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidProfile": {
        "type": "object",
        "description": "This exception is thrown if the specified storage profile is invalid.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfInvalidProfile": {
        "type": "object",
        "description": "A boxed array of *InvalidProfile*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidSession": {
        "type": "object",
        "description": "This exception is thrown if a specified session is invalid.\n\nThis can occur if the VirtualCenter session referred to by\nthe cookie has timed out or has been closed.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "sessionCookie": {
            "description": "VirtualCenter session cookie that is invalid.\n",
            "type": "string"
          }
        },
        "required": [
          "sessionCookie"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NoPermission"
          }
        ]
      },
      "ArrayOfInvalidSession": {
        "type": "object",
        "description": "A boxed array of *InvalidSession*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidSession"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidUrl": {
        "type": "object",
        "description": "This exception is thrown if *VasaProviderSpec.url* is malformed.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "url": {
            "description": "Provider *VasaProviderSpec.url*\n",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ProviderRegistrationFault"
          }
        ]
      },
      "ArrayOfInvalidUrl": {
        "type": "object",
        "description": "A boxed array of *InvalidUrl*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidUrl"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MultipleSortSpecsNotSupported": {
        "type": "object",
        "description": "This exception is thrown if more than one sort spec is\nspecified in a list query.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidArgument"
          }
        ]
      },
      "ArrayOfMultipleSortSpecsNotSupported": {
        "type": "object",
        "description": "A boxed array of *MultipleSortSpecsNotSupported*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MultipleSortSpecsNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoCommonProviderForAllBackings": {
        "type": "object",
        "description": "This fault is thrown when backings (@link\nsms.storage.StorageLun/ @link sms.storage.StorageFileSystem)\nof the specified datastores refer to different\nVASA providers.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/QueryExecutionFault"
          }
        ]
      },
      "ArrayOfNoCommonProviderForAllBackings": {
        "type": "object",
        "description": "A boxed array of *NoCommonProviderForAllBackings*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoCommonProviderForAllBackings"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedByProvider": {
        "type": "object",
        "description": "This exception is thrown if the VASA Provider on which the call is made\ndoes not support this operation.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfNotSupportedByProvider": {
        "type": "object",
        "description": "A boxed array of *NotSupportedByProvider*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedByProvider"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProviderBusy": {
        "type": "object",
        "description": "This exception is thrown if the VASA Provider on which the call is made\nis currently busy.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfProviderBusy": {
        "type": "object",
        "description": "A boxed array of *ProviderBusy*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderBusy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProviderConnectionFailed": {
        "type": "object",
        "description": "This fault is thrown if the Storage Monitoring Service failed to connect to the VASA provider.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfProviderConnectionFailed": {
        "type": "object",
        "description": "A boxed array of *ProviderConnectionFailed*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderConnectionFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProviderNotFound": {
        "type": "object",
        "description": "This fault is thrown when a VASA provider cannot be found for the specified\nentities.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/QueryExecutionFault"
          }
        ]
      },
      "ArrayOfProviderNotFound": {
        "type": "object",
        "description": "A boxed array of *ProviderNotFound*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProviderOutOfProvisioningResource": {
        "type": "object",
        "description": "This exception is thrown if the VASA Provider is out of resource to satisfy\na provisioning request.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "provisioningResourceId": {
            "description": "Identifier of the provisioning resource.\n",
            "type": "string"
          },
          "availableBefore": {
            "description": "Currently available.\n",
            "type": "integer",
            "format": "int64"
          },
          "availableAfter": {
            "description": "Necessary for provisioning.\n",
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "description": "Total amount (free + used).\n",
            "type": "integer",
            "format": "int64"
          },
          "isTransient": {
            "description": "This resource limitation is transient, i.e.\n\nthe resource\nwill be available after some time.\n",
            "type": "boolean"
          }
        },
        "required": [
          "provisioningResourceId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfProviderOutOfProvisioningResource": {
        "type": "object",
        "description": "A boxed array of *ProviderOutOfProvisioningResource*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderOutOfProvisioningResource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProviderOutOfResource": {
        "type": "object",
        "description": "This exception is thrown if the VASA Provider on which the call is made\nis out of resource.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfProviderOutOfResource": {
        "type": "object",
        "description": "A boxed array of *ProviderOutOfResource*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderOutOfResource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProviderRegistrationFault": {
        "type": "object",
        "description": "This fault is thrown if failed to register provider to storage\nmanagement service.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfProviderRegistrationFault": {
        "type": "object",
        "description": "A boxed array of *ProviderRegistrationFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderRegistrationFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProviderSyncFailed": {
        "type": "object",
        "description": "Thrown if a failure occurs when synchronizing the service\ncache with provider information.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfProviderSyncFailed": {
        "type": "object",
        "description": "A boxed array of *ProviderSyncFailed*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderSyncFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProviderUnavailable": {
        "type": "object",
        "description": "This exception is thrown if the VASA Provider on which the call is made is\ncurrently not available, e.g.\n\nVASA Provider is in offline state. This error\nusually means the provider is temporarily unavailable due to network outage, etc.\nThe client is expected to wait for some time and retry the same call.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfProviderUnavailable": {
        "type": "object",
        "description": "A boxed array of *ProviderUnavailable*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderUnavailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProviderUnregistrationFault": {
        "type": "object",
        "description": "This fault is thrown if failed to unregister provider from storage\nmanagement service.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfProviderUnregistrationFault": {
        "type": "object",
        "description": "A boxed array of *ProviderUnregistrationFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderUnregistrationFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProxyRegistrationFailed": {
        "type": "object",
        "description": "This exception is thrown if the storage management service\nfails to register with the VirtualCenter proxy during\ninitialization.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfProxyRegistrationFailed": {
        "type": "object",
        "description": "A boxed array of *ProxyRegistrationFailed*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProxyRegistrationFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QueryExecutionFault": {
        "type": "object",
        "description": "This exception is thrown if a failure occurs while\nprocessing a query request.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfQueryExecutionFault": {
        "type": "object",
        "description": "A boxed array of *QueryExecutionFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueryExecutionFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QueryNotSupported": {
        "type": "object",
        "description": "This exception is thrown if the specified entity and related\nentity type combination for a list query is not supported.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "entityType": {
            "description": "Entity type.\n",
            "$ref": "#/components/schemas/EntityReferenceEntityType_enum"
          },
          "relatedEntityType": {
            "description": "Related entity type.\n",
            "$ref": "#/components/schemas/EntityReferenceEntityType_enum"
          }
        },
        "required": [
          "relatedEntityType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidArgument"
          }
        ]
      },
      "ArrayOfQueryNotSupported": {
        "type": "object",
        "description": "A boxed array of *QueryNotSupported*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueryNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SmsResourceInUse": {
        "type": "object",
        "description": "A ResourceInUse fault indicating that some error has occurred because\nsome resources are in use.\n\nInformation about the devices that are in\nuse may be supplied.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "deviceIds": {
            "description": "The list of device Ids that are in use.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceId"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceInUse"
          }
        ]
      },
      "ArrayOfSmsResourceInUse": {
        "type": "object",
        "description": "A boxed array of *SmsResourceInUse*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmsResourceInUse"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceNotInitialized": {
        "type": "object",
        "description": "This exception is thrown if the storage management service\nhas not yet been initialized successfully and therefore is\nnot ready to process requests.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfServiceNotInitialized": {
        "type": "object",
        "description": "A boxed array of *ServiceNotInitialized*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceNotInitialized"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SyncInProgress": {
        "type": "object",
        "description": "This exception is thrown if a sync operation is invoked\nwhile another sync invocation is in progress.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProviderSyncFailed"
          }
        ]
      },
      "ArrayOfSyncInProgress": {
        "type": "object",
        "description": "A boxed array of *SyncInProgress*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SyncInProgress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooMany": {
        "type": "object",
        "description": "This exception is thrown if the request exceeds the maximum number of\nelements in batch that the VASA Provider can support for the specific API.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "maxBatchSize": {
            "description": "Maximum number of elements in batch that the VASA Provider can support\nfor the specific API.\n\nIf the value is not specified (zero) or invalid\n(negative), client will assume the default value is 1.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfTooMany": {
        "type": "object",
        "description": "A boxed array of *TooMany*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooMany"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlreadyDone": {
        "type": "object",
        "description": "Thrown if the object is already at the desired state.\n\nThis is always a warning.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsReplicationFault"
          }
        ]
      },
      "ArrayOfAlreadyDone": {
        "type": "object",
        "description": "A boxed array of *AlreadyDone*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlreadyDone"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidFunctionTarget": {
        "type": "object",
        "description": "Thrown if the function is called at the wrong end of the replication (i.e.\n\nthe failing function should be tried at the opposite end of replication).\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsReplicationFault"
          }
        ]
      },
      "ArrayOfInvalidFunctionTarget": {
        "type": "object",
        "description": "A boxed array of *InvalidFunctionTarget*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidFunctionTarget"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidReplicationState": {
        "type": "object",
        "description": "Thrown if the replication group is not in the correct state.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "desiredState": {
            "description": "States where the operation would have been successful.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "currentState": {
            "description": "Current state.\n",
            "type": "string"
          }
        },
        "required": [
          "currentState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsReplicationFault"
          }
        ]
      },
      "ArrayOfInvalidReplicationState": {
        "type": "object",
        "description": "A boxed array of *InvalidReplicationState*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidReplicationState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoReplicationTarget": {
        "type": "object",
        "description": "This exception is set if the replication target is not yet available.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsReplicationFault"
          }
        ]
      },
      "ArrayOfNoReplicationTarget": {
        "type": "object",
        "description": "A boxed array of *NoReplicationTarget*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoReplicationTarget"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoValidReplica": {
        "type": "object",
        "description": "This exception is thrown when there is no valid replica\nto be used in recovery.\n\nThis may happen when a Virtual Volume\nis created on the source domain, but the replica is yet to\nbe copied to the target.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "deviceId": {
            "description": "Identifier of the device which does not have a valid\nreplica.\n\nThis is the identifier on the target site.\nThis may not be set if the ReplicationGroup does not\nhave even a single valid replica.\n",
            "$ref": "#/components/schemas/DeviceId"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsReplicationFault"
          }
        ]
      },
      "ArrayOfNoValidReplica": {
        "type": "object",
        "description": "A boxed array of *NoValidReplica*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoValidReplica"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PeerNotReachable": {
        "type": "object",
        "description": "This exception is set if the replication peer is not reachable.\n\nFor prepareFailover, it is the target that is not reachable.\nFor other functions, it is the source that is not reachable.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsReplicationFault"
          }
        ]
      },
      "ArrayOfPeerNotReachable": {
        "type": "object",
        "description": "A boxed array of *PeerNotReachable*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PeerNotReachable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SmsReplicationFault": {
        "type": "object",
        "description": "Base class for all Replication faults.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfSmsReplicationFault": {
        "type": "object",
        "description": "A boxed array of *SmsReplicationFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmsReplicationFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SyncOngoing": {
        "type": "object",
        "description": "Throw if an synchronization is ongoing.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "task": {
            "description": "Task identifier of the ongoing sync (@see sms.TaskInfo#key).\n\nRefers instance of *SmsTask*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "task"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsReplicationFault"
          }
        ]
      },
      "ArrayOfSyncOngoing": {
        "type": "object",
        "description": "A boxed array of *SyncOngoing*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SyncOngoing"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmFilter": {
        "type": "object",
        "description": "This spec contains information needed for queryActiveAlarm API to filter the result.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "alarmStatus": {
            "description": "The status of the alarm to search for.\n\nShould be one of\n*SmsAlarmStatus_enum*. If not specified, all status values\nshould be considered.\n",
            "type": "string"
          },
          "alarmType": {
            "description": "The status of the alarm to search for.\n\nShould be one of\n*AlarmType_enum*. If not specified, all alarm types\nshould be considered.\n",
            "type": "string"
          },
          "entityType": {
            "description": "The entityType of interest, VASA provider should\nreturn all active alarms of this type when *AlarmFilter.entityId*\nis not set.\n\nSee *SmsEntityType_enum*.\n",
            "type": "string"
          },
          "entityId": {
            "description": "The identifiers of the entities of interest.\n\nIf set, all entities must be\nof the same *SmsEntityType_enum* and it should be set in\n*AlarmFilter.entityType*. VASA provider can skip listing the missing entities.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Any"
            }
          },
          "pageMarker": {
            "description": "The page marker used for query pagination.\n\nThis is an opaque string that\nwill be set based on the value returned by the VASA provider - see\n*AlarmResult.pageMarker*. For initial request this should be set to\nnull, indicating request for the first page.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmFilter": {
        "type": "object",
        "description": "A boxed array of *AlarmFilter*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmFilter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmResult": {
        "type": "object",
        "description": "Contains result for queryActiveAlarm API.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "storageAlarm": {
            "description": "Resulting storage alarms.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageAlarm"
            }
          },
          "pageMarker": {
            "description": "The page marker used for query pagination.\n\nThis is an opaque string that\nwill be set by the VASA provider. The client will set the same value in\n*AlarmFilter.pageMarker* to query the next page. VP should unset\nthis value to indicate the end of page.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmResult": {
        "type": "object",
        "description": "A boxed array of *AlarmResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SmsProviderInfo": {
        "type": "object",
        "description": "Information about Storage Monitoring Service (SMS)\nproviders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "uid": {
            "description": "Unique identifier\n",
            "type": "string"
          },
          "name": {
            "description": "Name\n",
            "type": "string"
          },
          "description": {
            "description": "Description of the provider\n",
            "type": "string"
          },
          "version": {
            "description": "Version of the provider\n",
            "type": "string"
          }
        },
        "required": [
          "uid",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSmsProviderInfo": {
        "type": "object",
        "description": "A boxed array of *SmsProviderInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmsProviderInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SmsProviderSpec": {
        "type": "object",
        "description": "Specification for Storage Monitoring Service (SMS)\nproviders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "name": {
            "description": "Name\nThe maximum length of the name is 275 characters.\n",
            "type": "string"
          },
          "description": {
            "description": "Description of the provider\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSmsProviderSpec": {
        "type": "object",
        "description": "A boxed array of *SmsProviderSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmsProviderSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VasaProviderInfo": {
        "type": "object",
        "description": "Information about VASA (vStorage APIs for Storage Awareness) providers.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "url": {
            "description": "Provider URL\n",
            "type": "string"
          },
          "certificate": {
            "description": "Provider certificate\n",
            "type": "string"
          },
          "status": {
            "description": "The operational state of VASA Provider.\n",
            "type": "string"
          },
          "statusFault": {
            "description": "A fault that describes the cause of the current operational status.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "vasaVersion": {
            "description": "Supported VASA(vStorage APIs for Storage Awareness) version\n",
            "type": "string"
          },
          "namespace": {
            "description": "Namespace to categorize storage capabilities provided by\narrays managed by the provider\n",
            "type": "string"
          },
          "lastSyncTime": {
            "description": "Time stamp to indicate when last sync operation was completed\nsuccessfully.\n",
            "type": "string"
          },
          "supportedVendorModelMapping": {
            "description": "List containing mapping between the supported vendorID and\ncorresponding modelID\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportedVendorModelMapping"
            }
          },
          "supportedProfile": {
            "deprecated": true,
            "description": "Deprecated as of SMS API 3.0, use *StorageArray.supportedProfile*.\n\nList of supported profiles\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supportedProviderProfile": {
            "description": "List of supported profiles at provider level.\n\nMust be one of the string\nvalues from *ProviderProfile_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "relatedStorageArray": {
            "description": "List containing mapping between storage arrays reported by the provider\nand information such as whether the provider is considered active for them.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedStorageArray"
            }
          },
          "providerId": {
            "description": "Provider identifier reported by the provider which is unique within\nthe provider namespace.\n",
            "type": "string"
          },
          "certificateExpiryDate": {
            "description": "Provider certificate expiry date.\n",
            "type": "string"
          },
          "certificateStatus": {
            "description": "Provider certificate status\nThis field holds values from *VasaProviderCertificateStatus_enum*\n",
            "type": "string"
          },
          "serviceLocation": {
            "description": "Service location for the VASA endpoint that SMS is using\nto communicate with the provider.\n",
            "type": "string"
          },
          "needsExplicitActivation": {
            "description": "Indicates the type of deployment supported by the provider.\n\nIf true, it is an active/passive deployment and the provider needs to be\nactivated explicitly using activateProviderEx() VASA API.\nIf false, it is an active/active deployment and provider does not need any\nexplicit activation to respond to VASA calls.\n",
            "type": "boolean"
          },
          "maxBatchSize": {
            "description": "Maximum number of elements in batch APIs that the VASA Provider can support.\n\nThis value is common to all batch APIs supported by the provider. However,\nfor each specific API, the provider may still throw or return *TooMany*\nfault in which a different value of maxBatchSize can be specified.\nIf the value is not specified (zero) or invalid (negative), client will\nassume there's no common limit for the number of elements that can be\nhandled in all batch APIs.\n",
            "type": "integer",
            "format": "int64"
          },
          "retainVasaProviderCertificate": {
            "description": "Indicate whether the provider wants to retain its certificate after bootstrapping.\n\nIf true, SMS will not provision a VMCA signed certificate for the provider\nand all certificate life cycle management workflows are disabled for this provider certificate.\nIf false, SMS will provision a VMCA signed certificate for the provider and\nall certificate life cycle management workflows are enabled for this provider certificate.\n",
            "type": "boolean"
          },
          "arrayIndependentProvider": {
            "description": "Indicates if this provider is independent of arrays.\n\nDefault value for this flag is false, which means this provider supports\narrays. Arrays will be queried for this provider during sync. If this flag\nis set to true, arrays will not be synced for this provider and array\nrelated API will not be invoked on this provider.\n",
            "type": "boolean"
          },
          "type": {
            "description": "Type of this VASA provider.\n\nThis field will be equal to one of the values of *VpType_enum*.\n",
            "type": "string"
          },
          "category": {
            "description": "This field indicates the category of the provider and will be equal to one of the values of\n*VpCategory_enum*.\n",
            "type": "string"
          },
          "priority": {
            "description": "Priority level of the provider within a VASA HA group.\n\nFor a stand-alone\nprovider which does not participate in VASA HA, this field will be ignored.\n\nThe priority value is an integer with valid range from 0 to 255.\n",
            "type": "integer",
            "format": "int32"
          },
          "failoverGroupId": {
            "description": "Unique identifier of a VASA HA group.\n\nProviders should report this\nidentifier to utilize HA feature supported by vSphere. Different providers\nreporting the same <code>failoverGroupId</code> will be treated as an HA\ngroup. Failover/failback will be done within one group.\n",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsProviderInfo"
          }
        ]
      },
      "ArrayOfVasaProviderInfo": {
        "type": "object",
        "description": "A boxed array of *VasaProviderInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VasaProviderInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RelatedStorageArray": {
        "type": "object",
        "description": "Indicates whether the provider has been marked as active for the given array\nfor the session context.\n\nSMS uses *StorageArray.priority* value to mark a provider\nas active among the ones that are registered with SMS and manage this array.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "arrayId": {
            "description": "*StorageArray.uuid* of StorageArray\n",
            "type": "string"
          },
          "active": {
            "description": "This field indicates whether the provider is currently serving data for the StorageArray\n",
            "type": "boolean"
          },
          "manageable": {
            "description": "Manageability status of StorageArray on VASA provider, if true it is manageable.\n",
            "type": "boolean"
          },
          "priority": {
            "deprecated": true,
            "description": "Deprecated as of SMS API 6.0, replaced by *VasaProviderInfo.priority*.\n\n*StorageArray.priority* of StorageArray\nFor VASA 1.0 providers, this field is set to -1.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "arrayId",
          "active",
          "manageable",
          "priority"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfRelatedStorageArray": {
        "type": "object",
        "description": "A boxed array of *RelatedStorageArray*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedStorageArray"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SupportedVendorModelMapping": {
        "type": "object",
        "description": "Mapping between the supported vendorID and corresponding\nmodelID\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "vendorId": {
            "description": "SCSI Vendor ID\n",
            "type": "string"
          },
          "modelId": {
            "description": "SCSI Model ID\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSupportedVendorModelMapping": {
        "type": "object",
        "description": "A boxed array of *SupportedVendorModelMapping*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportedVendorModelMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VasaProviderSpec": {
        "type": "object",
        "description": "VASA(vStorage APIs for Storage Awareness) provider\nspecification\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "username": {
            "description": "Username\nThe maximum length of the username is 255 characters.\n",
            "type": "string"
          },
          "password": {
            "description": "Password\nThe maximum length of the password is 255 characters.\n",
            "type": "string",
            "format": "password"
          },
          "url": {
            "description": "URL\n",
            "type": "string"
          },
          "certificate": {
            "description": "Certificate\n",
            "type": "string"
          }
        },
        "required": [
          "username",
          "password",
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsProviderSpec"
          }
        ]
      },
      "ArrayOfVasaProviderSpec": {
        "type": "object",
        "description": "A boxed array of *VasaProviderSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VasaProviderSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BackingConfig": {
        "type": "object",
        "description": "This data object represents SDRS related data associated with block device or file system.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "thinProvisionBackingIdentifier": {
            "description": "Identifier for the backing pool for thin provisioning\n",
            "type": "string"
          },
          "deduplicationBackingIdentifier": {
            "description": "Identifier for the backing pool for deduplication\n",
            "type": "string"
          },
          "autoTieringEnabled": {
            "description": "Flag to indicate whether auto-tiering optimizations are active\n",
            "type": "boolean"
          },
          "deduplicationEfficiency": {
            "description": "Aggregate indication of space savings efficiency in the shared\ndeduplication pool.\n\nThe value is between 0 and 100, higher values\nindicating better efficiency.\n",
            "type": "integer",
            "format": "int64"
          },
          "performanceOptimizationInterval": {
            "description": "Frequency in seconds at which interval auto-tiering optimizations\nare applied.\n\nA value of 0 indicates continuous optimization.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfBackingConfig": {
        "type": "object",
        "description": "A boxed array of *BackingConfig*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BackingConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BackingStoragePool": {
        "type": "object",
        "description": "This data object represents the backing storage pool information of block device or file system.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "uuid": {
            "description": "Unique identifier\n",
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "capacityInMB": {
            "description": "Upper bound of the available capacity in the backing storage pool.\n",
            "type": "integer",
            "format": "int64"
          },
          "usedSpaceInMB": {
            "description": "Aggregate used space in the backing storage pool.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "uuid",
          "type",
          "capacityInMB",
          "usedSpaceInMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfBackingStoragePool": {
        "type": "object",
        "description": "A boxed array of *BackingStoragePool*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BackingStoragePool"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreBackingPoolMapping": {
        "type": "object",
        "description": "This data object represents the result of queryDatastoreBackingPoolMapping API.\n\nMore than one datastore can map to the same set of BackingStoragePool.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "datastore": {
            "description": "Refers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "backingStoragePool": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BackingStoragePool"
            }
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastoreBackingPoolMapping": {
        "type": "object",
        "description": "A boxed array of *DatastoreBackingPoolMapping*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreBackingPoolMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastorePair": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of SMS API 5.0.\n\nDatastore pair that is returned as a result of queryDrsMigrationCapabilityForPerformanceEx API.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "datastore1": {
            "description": "Refers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastore2": {
            "description": "Refers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore1",
          "datastore2"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastorePair": {
        "type": "object",
        "description": "A boxed array of *DatastorePair*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastorePair"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsMigrationCapabilityResult": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of SMS API 5.0.\n\nThis data object represents the result of queryDrsMigrationCapabilityForPerformanceEx API.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "recommendedDatastorePair": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastorePair"
            }
          },
          "nonRecommendedDatastorePair": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastorePair"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDrsMigrationCapabilityResult": {
        "type": "object",
        "description": "A boxed array of *DrsMigrationCapabilityResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsMigrationCapabilityResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultDomainProviderMapping": {
        "type": "object",
        "description": "This mapping will be set in InactiveProvider fault to notify clients\nthe current active provider for the specified fault domains.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "activeProvider": {
            "description": "Active provider managing the fault domains\n\nRefers instance of *SmsProvider*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "faultDomainId": {
            "description": "Fault domains being managed by the provider\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultDomainId"
            }
          }
        },
        "required": [
          "activeProvider"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultDomainProviderMapping": {
        "type": "object",
        "description": "A boxed array of *FaultDomainProviderMapping*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultDomainProviderMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FcStoragePort": {
        "type": "object",
        "description": "This data object represents the FC storage port.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "portWwn": {
            "description": "World Wide Name for the Port\n",
            "type": "string"
          },
          "nodeWwn": {
            "description": "World Wide Name for the Node\n",
            "type": "string"
          }
        },
        "required": [
          "portWwn",
          "nodeWwn"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/StoragePort"
          }
        ]
      },
      "ArrayOfFcStoragePort": {
        "type": "object",
        "description": "A boxed array of *FcStoragePort*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcStoragePort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FcoeStoragePort": {
        "type": "object",
        "description": "This data object represents the FCoE storage port.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "portWwn": {
            "description": "World Wide Name for the Port\n",
            "type": "string"
          },
          "nodeWwn": {
            "description": "World Wide Name for the Node\n",
            "type": "string"
          }
        },
        "required": [
          "portWwn",
          "nodeWwn"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/StoragePort"
          }
        ]
      },
      "ArrayOfFcoeStoragePort": {
        "type": "object",
        "description": "A boxed array of *FcoeStoragePort*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcoeStoragePort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageFileSystemInfo": {
        "type": "object",
        "description": "This data object represents information about the storage\nfile-system.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "fileServerName": {
            "description": "Server Name\n",
            "type": "string"
          },
          "fileSystemPath": {
            "description": "File Path\n",
            "type": "string"
          },
          "ipAddress": {
            "description": "IP address\n",
            "type": "string"
          }
        },
        "required": [
          "fileServerName",
          "fileSystemPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageFileSystemInfo": {
        "type": "object",
        "description": "A boxed array of *StorageFileSystemInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageFileSystemInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiStoragePort": {
        "type": "object",
        "description": "This data object represents the iSCSI storage port.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "identifier": {
            "description": "IQN or EQI identifier\n",
            "type": "string"
          }
        },
        "required": [
          "identifier"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/StoragePort"
          }
        ]
      },
      "ArrayOfIscsiStoragePort": {
        "type": "object",
        "description": "A boxed array of *IscsiStoragePort*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiStoragePort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LunHbaAssociation": {
        "type": "object",
        "description": "This data object represents the lun, HBA association\nfor synchronous replication.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "canonicalName": {
            "type": "string"
          },
          "hba": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHostBusAdapter"
            }
          }
        },
        "required": [
          "canonicalName",
          "hba"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLunHbaAssociation": {
        "type": "object",
        "description": "A boxed array of *LunHbaAssociation*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LunHbaAssociation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NameValuePair": {
        "type": "object",
        "description": "This data object represents a name value pair.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "parameterName": {
            "description": "Name of the paramter\n",
            "type": "string"
          },
          "parameterValue": {
            "description": "Value of the parameter\n",
            "type": "string"
          }
        },
        "required": [
          "parameterName",
          "parameterValue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNameValuePair": {
        "type": "object",
        "description": "A boxed array of *NameValuePair*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NameValuePair"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageAlarm": {
        "type": "object",
        "description": "This data object represents the storage alarm.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "alarmId": {
            "description": "Monotonically increasing sequence number which\nVP will maintain.\n",
            "type": "integer",
            "format": "int64"
          },
          "alarmType": {
            "description": "The type of Alarm.\n\nMust be one of the string values from\n*AlarmType_enum*\nNote that for VMODL VP implemenation this field must be populated with one\nof the values from `vasa.data.notification.AlarmType`\n",
            "type": "string"
          },
          "containerId": {
            "description": "Container identifier\n",
            "type": "string"
          },
          "objectId": {
            "description": "The unique identifier of the object impacted by the Alarm.\n\nFrom VASA version 3 onwards, a non-null *StorageAlarm.alarmObject*\nwill override this member.\nThis field is made optional from VASA3. Either this or\n*StorageAlarm.alarmObject* must be set.\n",
            "type": "string"
          },
          "objectType": {
            "description": "The type of object impacted by the Alarm.\n\nMust be one of the string values\nfrom *SmsEntityType_enum*\nNote that for VMODL VP implemenation this field must be populated with one\nof the values from `vasa.data.notification.EntityType`\n",
            "type": "string"
          },
          "status": {
            "description": "Current status of the object.\n\nMust be one of the string values from\n*SmsAlarmStatus_enum*\n",
            "type": "string"
          },
          "alarmTimeStamp": {
            "description": "Time-stamp when the alarm occurred in VP context\n",
            "type": "string",
            "format": "date-time"
          },
          "messageId": {
            "description": "Pre-defined message for system-defined event\n",
            "type": "string"
          },
          "parameterList": {
            "description": "List of parameters (name/value) to be passed as input for message\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NameValuePair"
            }
          },
          "alarmObject": {
            "description": "The ID of the object on which the alarm is raised; this is an object,\nsince ID's may not always be strings.\n\nvSphere will first use\n*StorageAlarm.alarmObject* if set, and if not uses *StorageAlarm.objectId*.\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "alarmId",
          "alarmType",
          "objectType",
          "status",
          "alarmTimeStamp",
          "messageId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageAlarm": {
        "type": "object",
        "description": "A boxed array of *StorageAlarm*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageAlarm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageArray": {
        "type": "object",
        "description": "This data object represents the storage array.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "name": {
            "description": "Name\n",
            "type": "string"
          },
          "uuid": {
            "description": "Unique identifier\n",
            "type": "string"
          },
          "vendorId": {
            "description": "Storage array Vendor Id\n",
            "type": "string"
          },
          "modelId": {
            "description": "Model Id\n",
            "type": "string"
          },
          "firmware": {
            "description": "Storage array firmware\n",
            "type": "string"
          },
          "alternateName": {
            "description": "List of alternate storage array names\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supportedBlockInterface": {
            "description": "Supported block-device interfaces\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supportedFileSystemInterface": {
            "description": "Supported file-system interfaces\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supportedProfile": {
            "description": "List of supported profiles\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "priority": {
            "deprecated": true,
            "description": "Deprecated as of SMS API 6.0, replaced by *VasaProviderInfo.priority*.\n\nPriority level of the provider for the given array within the session context.\n\nSMS will use this value to pick a provider among the ones that are registered\nwith SMS and manage this array. Once the provider is chosen, SMS will communicate\nwith it to get the data related to this array.\nValid range: 0 to 255.\n",
            "type": "integer",
            "format": "int32"
          },
          "discoverySvc": {
            "description": "Required for NVMe-oF arrays and optional otherwise.\n\nTransport information to address the array's discovery service.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VASAStorageArrayDiscoverySvcInfo"
            }
          }
        },
        "required": [
          "name",
          "uuid",
          "vendorId",
          "modelId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageArray": {
        "type": "object",
        "description": "A boxed array of *StorageArray*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageArray"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageCapability": {
        "type": "object",
        "description": "This data object represents the storage capability.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "uuid",
          "name",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageCapability": {
        "type": "object",
        "description": "A boxed array of *StorageCapability*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageContainer": {
        "type": "object",
        "description": "This data object represents the storage container.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "uuid": {
            "description": "Unique identifier\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the container\n",
            "type": "string"
          },
          "maxVvolSizeInMB": {
            "description": "Maximum allowed capacity of the Virtual Volume in MBs\n",
            "type": "integer",
            "format": "int64"
          },
          "providerId": {
            "description": "*SmsProviderInfo.uid* for providers that reports the storage container.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "arrayId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vvolContainerType": {
            "description": "Represents type of VVOL container, the supported values are listed in\n*StorageContainerVvolContainerTypeEnum_enum*.\n\nIf the storage array is not capable of supporting mixed PEs for a storage container,\nthe VVOL VASA provider sets this property to the supported endpoint type\n",
            "type": "string"
          },
          "stretched": {
            "description": "Indicates if this storage container is stretched\n",
            "type": "boolean"
          }
        },
        "required": [
          "uuid",
          "name",
          "maxVvolSizeInMB",
          "providerId",
          "arrayId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageContainer": {
        "type": "object",
        "description": "A boxed array of *StorageContainer*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageContainer"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageContainerResult": {
        "type": "object",
        "description": "This data object represents information about storage containers and related providers.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "storageContainer": {
            "description": "*StorageContainer* objects\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageContainer"
            }
          },
          "providerInfo": {
            "description": "*SmsProviderInfo* corresponding to providers that\nreport these storage containers\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmsProviderInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageContainerResult": {
        "type": "object",
        "description": "A boxed array of *StorageContainerResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageContainerResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageContainerSpec": {
        "type": "object",
        "description": "This data object represents the specification to query\nstorage containers retrieved from VASA providers.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "containerId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageContainerSpec": {
        "type": "object",
        "description": "A boxed array of *StorageContainerSpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageContainerSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageFileSystem": {
        "type": "object",
        "description": "This data object represents the storage file-system.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "uuid": {
            "description": "Unique identifier\n",
            "type": "string"
          },
          "info": {
            "description": "Information about the file system\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageFileSystemInfo"
            }
          },
          "nativeSnapshotSupported": {
            "type": "boolean"
          },
          "thinProvisioningStatus": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "backingConfig": {
            "description": "Backing config information\n",
            "$ref": "#/components/schemas/BackingConfig"
          }
        },
        "required": [
          "uuid",
          "info",
          "nativeSnapshotSupported",
          "thinProvisioningStatus",
          "type",
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageFileSystem": {
        "type": "object",
        "description": "A boxed array of *StorageFileSystem*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageFileSystem"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageLun": {
        "type": "object",
        "description": "This data object represents the storage lun.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "uuid": {
            "description": "Unique Indentfier\n",
            "type": "string"
          },
          "vSphereLunIdentifier": {
            "description": "Identifer reported by vSphere(ESX) for this LUN\n",
            "type": "string"
          },
          "vendorDisplayName": {
            "description": "Display Name which appears in storage array management\nconsole\n",
            "type": "string"
          },
          "capacityInMB": {
            "description": "Capacity In MB\n",
            "type": "integer",
            "format": "int64"
          },
          "usedSpaceInMB": {
            "description": "Used space in MB for a thin provisioned LUN\n",
            "type": "integer",
            "format": "int64"
          },
          "lunThinProvisioned": {
            "description": "Indicates whether the LUN is thin provisioned\n",
            "type": "boolean"
          },
          "alternateIdentifier": {
            "description": "Alternate identifiers associated with the LUN\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "drsManagementPermitted": {
            "description": "Indicates whether Storage DRS is permitted to manage\nperformance between this LUN and other LUNs from the same\narray.\n",
            "type": "boolean"
          },
          "thinProvisioningStatus": {
            "type": "string"
          },
          "backingConfig": {
            "description": "Backing config information\n",
            "$ref": "#/components/schemas/BackingConfig"
          }
        },
        "required": [
          "uuid",
          "vSphereLunIdentifier",
          "vendorDisplayName",
          "capacityInMB",
          "usedSpaceInMB",
          "lunThinProvisioned",
          "drsManagementPermitted",
          "thinProvisioningStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageLun": {
        "type": "object",
        "description": "A boxed array of *StorageLun*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageLun"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StoragePort": {
        "type": "object",
        "description": "This data object represents the storage port.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "uuid": {
            "description": "Unique identifier\n",
            "type": "string"
          },
          "type": {
            "description": "Storage Port Type\n",
            "type": "string"
          },
          "alternateName": {
            "description": "Other identifiers which can help identify storage port\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "uuid",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStoragePort": {
        "type": "object",
        "description": "A boxed array of *StoragePort*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoragePort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageProcessor": {
        "type": "object",
        "description": "This data object represents the storage processor.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "uuid": {
            "description": "Unique Identifier\n",
            "type": "string"
          },
          "alternateIdentifer": {
            "description": "List of alternate identifiers\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageProcessor": {
        "type": "object",
        "description": "A boxed array of *StorageProcessor*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageProcessor"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceId": {
        "type": "object",
        "description": "Base class that represents a replicated device.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDeviceId": {
        "type": "object",
        "description": "A boxed array of *DeviceId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FailoverParam": {
        "type": "object",
        "description": "Input to the failover or testFailover methods.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "isPlanned": {
            "description": "Whether the failover is a planned failover or not.\n\nNote that testFailover\ncan also be executed in an unplanned mode. When this flag is\nset to false, the recovery VASA provider must not try to connect\nto the primary VASA provider during the failover.\n",
            "type": "boolean"
          },
          "checkOnly": {
            "description": "Do not execute the (test) failover but check if the configuration\nis correct to execute the (test) failover.\n\nIf set to <code>true</code>, the (test)failover result is an array where\neach element is either *GroupOperationResult* or *GroupErrorResult*.\n\nIf set to <code>false</code>, the (test)failover result is an array where\neach element is either *FailoverSuccessResult* or *GroupErrorResult*.\n",
            "type": "boolean"
          },
          "replicationGroupsToFailover": {
            "description": "The replication groups to failover.\n\nIt is OK for the VASA\nprovider to successfully failover only some groups. The\ngroups that did not complete will be retried.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupData"
            }
          },
          "policyAssociations": {
            "description": "Storage policies for the devices after (test)failover.\n\nFailover should be done even if policies cannot be associated.\nTest failover, however, should fail if policies cannot be associated.\n\nIf policies cannot be associated, VASA provider can notify the client by\ndoing either or both of these:\n1\\. Set the warning in the result for a replication group to indicate\nsuch a failure to set the policy.\n2\\. Raise a compliance alarm after the failover is done.\n\nIf not specified, the default policies are used. Callers may reassign\npolicy later.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PolicyAssociation"
            }
          }
        },
        "required": [
          "isPlanned",
          "checkOnly"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFailoverParam": {
        "type": "object",
        "description": "A boxed array of *FailoverParam*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FailoverParam"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PolicyAssociation": {
        "type": "object",
        "description": "Describes the policy association object.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "id": {
            "description": "The source device id.\n\nThe corresponding recovered device\ngets the specified <code>policyId</code>.\n",
            "$ref": "#/components/schemas/DeviceId"
          },
          "policyId": {
            "description": "Policy id.\n",
            "type": "string"
          },
          "datastore": {
            "description": "Datastore object.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "policyId",
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPolicyAssociation": {
        "type": "object",
        "description": "A boxed array of *PolicyAssociation*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PolicyAssociation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationGroupData": {
        "type": "object",
        "description": "Describes one Replication Group's data.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "Replication group to failover.\n",
            "$ref": "#/components/schemas/ReplicationGroupId"
          },
          "pitId": {
            "description": "The PIT that should be used for (test)Failover.\n\nUse the latest if not specified.\n",
            "$ref": "#/components/schemas/PointInTimeReplicaId"
          }
        },
        "required": [
          "groupId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicationGroupData": {
        "type": "object",
        "description": "A boxed array of *ReplicationGroupData*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupData"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FailoverSuccessResult": {
        "type": "object",
        "description": "Results of a successful failover operation.\n\nThe target fault domain Id, and the device group id are inherited.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "newState": {
            "description": "Some replicators may automatically reverse replication on failover.\n\nSuch\nreplicators must move the replication status to\n*SOURCE*\nIn other cases, it can remain as *FAILEDOVER*.\n",
            "type": "string"
          },
          "pitId": {
            "description": "Id of the Point in Time snapshot used during failover.\n\nIf not present,\nlatest PIT was used.\n",
            "$ref": "#/components/schemas/PointInTimeReplicaId"
          },
          "pitIdBeforeFailover": {
            "description": "Optional id of the Point in Time snapshot that was automatically created before\nfailing over.\n\nThis is recommended so users can revert back to this\nsnapshot to avoid data loss. This can be removed after the reverse\nreplication call succeeds.\n",
            "$ref": "#/components/schemas/PointInTimeReplicaId"
          },
          "recoveredDeviceInfo": {
            "description": "Recovered Devices.\n\nThis is optional because in some corner cases the\nreplication groups on the target site may not have any virtual volumes.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecoveredDevice"
            }
          },
          "timeStamp": {
            "description": "Time stamp of recovery.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "newState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GroupOperationResult"
          }
        ]
      },
      "ArrayOfFailoverSuccessResult": {
        "type": "object",
        "description": "A boxed array of *FailoverSuccessResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FailoverSuccessResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RecoveredDevice": {
        "type": "object",
        "description": "Represents the device after the failover.\n\nEven though many of the fields in this structure are\nmarked optional, it is important for VASA provider to\nmake sure that the recovery of the entire ReplicationGroup succeeds\natomically. The only valid scenario when there is a device specific\nrecovery failure is when there is no valid replica for the Virtual Volume\n(e.g. Virtual Volume was just added to the ReplicationGroup).\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "targetDeviceId": {
            "description": "Identifier of the device which was the target of replication before\nfailover.\n",
            "$ref": "#/components/schemas/ReplicaId"
          },
          "recoveredDeviceId": {
            "description": "Identifier of the target device after test or failover.\n",
            "$ref": "#/components/schemas/DeviceId"
          },
          "sourceDeviceId": {
            "description": "Identifier of the source of the replication data before the failover\nstopped the replication.\n",
            "$ref": "#/components/schemas/DeviceId"
          },
          "info": {
            "description": "Informational messages.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "datastore": {
            "description": "Datastore for the newly surfaced device.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "recoveredDiskInfo": {
            "description": "Only to be filled in if the *RecoveredDevice.recoveredDeviceId* is *VirtualMachineId*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecoveredDiskInfo"
            }
          },
          "error": {
            "description": "Virtual Volume specific recovery error.\n\nThis should be rare.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "warnings": {
            "description": "Warnings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "sourceDeviceId",
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfRecoveredDevice": {
        "type": "object",
        "description": "A boxed array of *RecoveredDevice*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecoveredDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RecoveredDiskInfo": {
        "type": "object",
        "description": "Describes the recovered disks for a given virtual machine.\n\nOnly applicable for VAIO based replicators. Upon recovery,\nall the replicated disks must be attached to the virtual machine,\ni.e. the VMX file must refer to the correct file paths. Device\nkeys must be preserved and non-replicated disks can refer to\nnon-existent file names.\nArray based replicators can ignore this class.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "deviceKey": {
            "description": "Virtual disk key.\n\nNote that disk device\nkeys must not change after recovery - in other words, the device\nkey is the same on both the source and target sites.\n\nFor example, if a VMDK d1 is being replicated to d1', and d1 is attached as device\n2001 to the source VM, the recovered VM should have d1' attached\nas 2001.\n",
            "type": "integer",
            "format": "int32"
          },
          "dsUrl": {
            "description": "URL of the datastore that disk was recovered to.\n",
            "type": "string"
          },
          "diskPath": {
            "description": "Full pathname of the disk.\n",
            "type": "string"
          }
        },
        "required": [
          "deviceKey",
          "dsUrl",
          "diskPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfRecoveredDiskInfo": {
        "type": "object",
        "description": "A boxed array of *RecoveredDiskInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecoveredDiskInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultDomainInfo": {
        "type": "object",
        "description": "Information about a Fault Domain.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "name": {
            "description": "Name of the fault domain, if not specified, the id will be used in place\nof the name.\n\nName need not be unique.\n",
            "type": "string"
          },
          "description": {
            "description": "Description - could be a localized string.\n",
            "type": "string"
          },
          "storageArrayId": {
            "description": "Identifier of the Storage Array that this Fault Domain belongs to.\n\nA Fault\nDomain and all its children should report same *FaultDomainInfo.storageArrayId*. It\ncan be left unspecified. If not specified, vSphere will not support High\nAvailability feature for this Fault Domain. When specified, vSphere will\ntreat the the currently active VASA provider for *StorageArray* as\nthe active VASA provider for this Fault Domain and its children.\nChanging High Availability support choice for a Fault Domain\nintermittently, by sometimes specifying the storageArrayId and sometimes\nnot, will cause unexpected result and might cause VP to be in 'syncError'\nstate in vSphere.\n",
            "type": "string"
          },
          "children": {
            "description": "List of children, the entries in the array should always be\n*FaultDomainId* and not *FaultDomainInfo*.\n\nThe 2016 vSphere release will not support nested Fault Domains. The field\nFaultDomainInfo#children is ignored by vSphere 2016 release.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultDomainId"
            }
          },
          "provider": {
            "description": "VASA provider that is actively managing this fault domain\n\nRefers instance of *SmsProvider*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/FaultDomainId"
          }
        ]
      },
      "ArrayOfFaultDomainInfo": {
        "type": "object",
        "description": "A boxed array of *FaultDomainInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultDomainInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GroupErrorResult": {
        "type": "object",
        "description": "Error result.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "error": {
            "description": "Error array, must contain at least one entry.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "error"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GroupOperationResult"
          }
        ]
      },
      "ArrayOfGroupErrorResult": {
        "type": "object",
        "description": "A boxed array of *GroupErrorResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupErrorResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GroupInfo": {
        "type": "object",
        "description": "Replication group information.\n\nMay be either a *SourceGroupInfo* or\n*TargetGroupInfo*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "Identifier of the group + fault domain id.\n",
            "$ref": "#/components/schemas/ReplicationGroupId"
          }
        },
        "required": [
          "groupId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGroupInfo": {
        "type": "object",
        "description": "A boxed array of *GroupInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GroupOperationResult": {
        "type": "object",
        "description": "The base class for any operation on a replication group.\n\nUsually, there is an\noperation specific &lt;Operation&gt;SuccessResult\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "groupId": {
            "description": "Replication group Id.\n",
            "$ref": "#/components/schemas/ReplicationGroupId"
          },
          "warning": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "groupId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGroupOperationResult": {
        "type": "object",
        "description": "A boxed array of *GroupOperationResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupOperationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PointInTimeReplicaId": {
        "type": "object",
        "description": "Identity of the Point in Time Replica object.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "id": {
            "description": "ID of the Point In Time replica.\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPointInTimeReplicaId": {
        "type": "object",
        "description": "A boxed array of *PointInTimeReplicaId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PointInTimeReplicaId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PromoteParam": {
        "type": "object",
        "description": "Input to the promoteReplicationGroup method.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "isPlanned": {
            "description": "Specifies whether the promote operation is a planned one.\n\nWhen this flag is set to false, the recovery VASA provider must not\ntry to connect to the primary VASA provider during promote.\n",
            "type": "boolean"
          },
          "replicationGroupsToPromote": {
            "description": "The replication groups to promote.\n\nIt is legal for the VASA\nprovider to successfully promote only some groups. The\ngroups that did not succeed will be retried.\n\nThe identifiers of the Virtual Volumes do not change after the\npromote operation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          }
        },
        "required": [
          "isPlanned"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPromoteParam": {
        "type": "object",
        "description": "A boxed array of *PromoteParam*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PromoteParam"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QueryPointInTimeReplicaParam": {
        "type": "object",
        "description": "Describes the search criteria for the PiT query.\n\nIf none of the fields\nis set, or if the number of PiT replicas is too large, VASA provider can\nreturn *QueryPointInTimeReplicaSummaryResult*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "replicaTimeQueryParam": {
            "description": "Specifies the replica time span that vSphere is interested in.\n",
            "$ref": "#/components/schemas/ReplicaQueryIntervalParam"
          },
          "pitName": {
            "description": "Only the replicas that match the given name are requested.\n\nA regexp according to http://www.w3.org/TR/xmlschema-2/#regexs.\n",
            "type": "string"
          },
          "tags": {
            "description": "Only the replicas with tags that match the given tag(s) are requested.\n\nEach entry may be a regexp according to http://www.w3.org/TR/xmlschema-2/#regexs.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "preferDetails": {
            "description": "This field is hint for the preferred type of return results.\n\nIt can be either true for *QueryPointInTimeReplicaSuccessResult* or\nfalse for *QueryPointInTimeReplicaSummaryResult*.\nIf not set, VP may choose the appropriate type, as described in\n<code>ReplicaQueryIntervalParam</code>.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfQueryPointInTimeReplicaParam": {
        "type": "object",
        "description": "A boxed array of *QueryPointInTimeReplicaParam*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueryPointInTimeReplicaParam"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicaQueryIntervalParam": {
        "type": "object",
        "description": "Defines the parameters for a Point In Time replica (PiT) query.\n\nvSphere will not set all the three fields.\n\nIn other words, the following combinations of fields are allowed:\n- All the three fields are omitted.\n- *ReplicaQueryIntervalParam.fromDate* and *ReplicaQueryIntervalParam.toDate* are set.\n- *ReplicaQueryIntervalParam.fromDate* and *ReplicaQueryIntervalParam.number* are set.\n- *ReplicaQueryIntervalParam.toDate* and *ReplicaQueryIntervalParam.number* are set.\n  \nWhen all the fields are omitted, VASA provider should return\n*QueryPointInTimeReplicaSummaryResult*.\nBut, returned result can be either *QueryPointInTimeReplicaSuccessResult*\nor *QueryPointInTimeReplicaSummaryResult* based on value i.e true or false\nrespectively for field *QueryPointInTimeReplicaParam.preferDetails*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "fromDate": {
            "description": "Return all PiTs including and later than <code>fromDate</code>.\n",
            "type": "string",
            "format": "date-time"
          },
          "toDate": {
            "description": "Return all PiTs earlier than <code>toDate</code>.\n",
            "type": "string",
            "format": "date-time"
          },
          "number": {
            "description": "Return information for only <code>number</code> entries.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicaQueryIntervalParam": {
        "type": "object",
        "description": "A boxed array of *ReplicaQueryIntervalParam*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicaQueryIntervalParam"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QueryPointInTimeReplicaSuccessResult": {
        "type": "object",
        "description": "Return type for successful\n*VasaProvider.QueryPointInTimeReplica*\noperation.\n\nIf the VASA provider decides that there are too many to return,\nit could set the result of some of the groups to *TooMany*\nfault or *QueryPointInTimeReplicaSummaryResult*.\n\nvSphere will then query for these groups separately.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "replicaInfo": {
            "description": "Information about the available replicas.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PointInTimeReplicaInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/GroupOperationResult"
          }
        ]
      },
      "ArrayOfQueryPointInTimeReplicaSuccessResult": {
        "type": "object",
        "description": "A boxed array of *QueryPointInTimeReplicaSuccessResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueryPointInTimeReplicaSuccessResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PointInTimeReplicaInfo": {
        "type": "object",
        "description": "This structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "id": {
            "description": "Id of the PIT replica.\n\nNote that this id is always used\nin combination with the *ReplicationGroupId*, hence must be\nunique to the *ReplicationGroupId*.\n",
            "$ref": "#/components/schemas/PointInTimeReplicaId"
          },
          "pitName": {
            "description": "Name of the PIT replica.\n\nThis may be a localized string\nin a language as chosen by the VASA provider.\n",
            "type": "string"
          },
          "timeStamp": {
            "description": "Time when the snapshot was taken.\n\nTime stamps are maintained by\nthe Replication provider, note that this carries time zone information\nas well.\n",
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "description": "VASA provider managed tags associated with the replica.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "pitName",
          "timeStamp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPointInTimeReplicaInfo": {
        "type": "object",
        "description": "A boxed array of *PointInTimeReplicaInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PointInTimeReplicaInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QueryPointInTimeReplicaSummaryResult": {
        "type": "object",
        "description": "Summary of the available replicas.\n\nMostly useful for CDP type replicators.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "intervalResults": {
            "description": "A series of query results.\n\nNo special ordering is assumed by vSphere.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicaIntervalQueryResult"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/GroupOperationResult"
          }
        ]
      },
      "ArrayOfQueryPointInTimeReplicaSummaryResult": {
        "type": "object",
        "description": "A boxed array of *QueryPointInTimeReplicaSummaryResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueryPointInTimeReplicaSummaryResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicaIntervalQueryResult": {
        "type": "object",
        "description": "Summarizes the collection of replicas in one time interval.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "fromDate": {
            "description": "Beginning of interval (inclusive).\n",
            "type": "string",
            "format": "date-time"
          },
          "toDate": {
            "description": "End of interval (exclusive).\n",
            "type": "string",
            "format": "date-time"
          },
          "number": {
            "description": "Number of Point in Time replicas available for recovery.\n\nTODO: Do we want to have also ask for number of 'special'\nPiTs e.g. those that are consistent?\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "fromDate",
          "toDate",
          "number"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicaIntervalQueryResult": {
        "type": "object",
        "description": "A boxed array of *ReplicaIntervalQueryResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicaIntervalQueryResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QueryReplicationGroupSuccessResult": {
        "type": "object",
        "description": "Information about the replication groups.\n\nInformation about both the source\ngroups and the target groups is returned.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "rgInfo": {
            "description": "Information about the replication group.\n\nMay be either\n*SourceGroupInfo* or *TargetGroupInfo*.\n",
            "$ref": "#/components/schemas/GroupInfo"
          }
        },
        "required": [
          "rgInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GroupOperationResult"
          }
        ]
      },
      "ArrayOfQueryReplicationGroupSuccessResult": {
        "type": "object",
        "description": "A boxed array of *QueryReplicationGroupSuccessResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueryReplicationGroupSuccessResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QueryReplicationPeerResult": {
        "type": "object",
        "description": "Information about the replication peers of a VASA provider.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "sourceDomain": {
            "description": "Source fault domain id, must correspond to an id from the input.\n",
            "$ref": "#/components/schemas/FaultDomainId"
          },
          "targetDomain": {
            "description": "Target fault domains for the given source, fault domain ID's are globally\nunique.\n\nThere can be one or more target domains for a given source.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultDomainId"
            }
          },
          "error": {
            "description": "Error must be set when targetDomain field is not set.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "warning": {
            "description": "Optional warning messages.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "sourceDomain"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfQueryReplicationPeerResult": {
        "type": "object",
        "description": "A boxed array of *QueryReplicationPeerResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueryReplicationPeerResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RecoveredTargetGroupMemberInfo": {
        "type": "object",
        "description": "Information about member virtual volumes in a ReplicationGroup\non the target after failover or testFailoverStart.\n\nThis must include information about all the vSphere managed snapshots in\nthe ReplicationGroup.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "recoveredDeviceId": {
            "description": "Identifier of the target device after test or failover.\n",
            "$ref": "#/components/schemas/DeviceId"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/TargetGroupMemberInfo"
          }
        ]
      },
      "ArrayOfRecoveredTargetGroupMemberInfo": {
        "type": "object",
        "description": "A boxed array of *RecoveredTargetGroupMemberInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecoveredTargetGroupMemberInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicaId": {
        "type": "object",
        "description": "Identifier of the replication target device.\n\nFor Virtual Volumes, this could be the same as a Virtual Volume\nId, for VMDK's this could be an FCD uuid, or some other ID\nmade up by the replicator. This identifier is opaque to vSphere and\nhence does not have any distinguishing type. This can be used\nto identify the replica without the accompanying source device id\n(though there are no such uses in the current API).\n\nSince this an opaque type, the recovered device id at\n*RecoveredTargetGroupMemberInfo.recoveredDeviceId*\nshould be filled in even if the values are the same.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicaId": {
        "type": "object",
        "description": "A boxed array of *ReplicaId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicaId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReverseReplicationSuccessResult": {
        "type": "object",
        "description": "Represents the result of a successful reverse replication action.\n\nThe newly\nestablished replication relation might have a different source group ID and\ndifferent set of target group IDs. This means that the replication topology\nwill need to be discovered again by the DR orchestration programs (SRM/CAM).\nHowever, we assume that after the reverse replication, the new source fault\ndomain id remains the same as the old (i.e. before failover) fault domain id.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "newGroupId": {
            "description": "The replication group ID of the newly created source group.\n\nFaultDomainId\nmust remain the same.\n",
            "$ref": "#/components/schemas/DeviceGroupId"
          }
        },
        "required": [
          "newGroupId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GroupOperationResult"
          }
        ]
      },
      "ArrayOfReverseReplicationSuccessResult": {
        "type": "object",
        "description": "A boxed array of *ReverseReplicationSuccessResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReverseReplicationSuccessResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SourceGroupInfo": {
        "type": "object",
        "description": "Replication group details on the source.\n\nWe do not assume the same\nReplication Group id on all the sites. This is returned as answer to\nqueryReplicationGroup.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "name": {
            "description": "Name of the replication group, may be edited after creating the\nReplication Group, not unique.\n\nMay be a localized string. Some vendors may\nchoose to use name as the group id, to support this, vSphere will not\nallow the name to be modified - even if vSphere creates/manages the\nReplication Group.\n",
            "type": "string"
          },
          "description": {
            "description": "Description the Replication Group, may be edited after creating the\nReplication Group.\n\nMay be a localized string.\n",
            "type": "string"
          },
          "state": {
            "description": "State of the replication group on the source.\n",
            "type": "string"
          },
          "replica": {
            "description": "Information about the target Replication Groups.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationTargetInfo"
            }
          },
          "memberInfo": {
            "description": "Information about the member virtual volumes and their replicas.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SourceGroupMemberInfo"
            }
          }
        },
        "required": [
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GroupInfo"
          }
        ]
      },
      "ArrayOfSourceGroupInfo": {
        "type": "object",
        "description": "A boxed array of *SourceGroupInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SourceGroupInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationTargetInfo": {
        "type": "object",
        "description": "Information about each replication target.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "targetGroupId": {
            "description": "Id of the target replication group (including the fault domain ID).\n",
            "$ref": "#/components/schemas/ReplicationGroupId"
          },
          "replicationAgreementDescription": {
            "description": "Description of the replication agreement.\n\nThis could be used to describe the characteristics of the replication\nrelationship between the source and the target (e.g. RPO, Replication\nMode, and other such properties). It is expected that VASA provider\nwill localize the string before sending to vSphere.\n",
            "type": "string"
          }
        },
        "required": [
          "targetGroupId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicationTargetInfo": {
        "type": "object",
        "description": "A boxed array of *ReplicationTargetInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationTargetInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SourceGroupMemberInfo": {
        "type": "object",
        "description": "Represents a member virtual volume of a replication group on the source end\nof the replication arrow.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "deviceId": {
            "description": "Identifier of the source device.\n\nMay be a Virtual Volume, a Virtual Disk or a Virtual Machine\n",
            "$ref": "#/components/schemas/DeviceId"
          },
          "targetId": {
            "description": "Target devices, key'ed by the fault domain id.\n\nTODO: It is not clear if we\nreally need this information, since the target side query can return the\ntarget -&gt; source relation information.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TargetDeviceId"
            }
          }
        },
        "required": [
          "deviceId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSourceGroupMemberInfo": {
        "type": "object",
        "description": "A boxed array of *SourceGroupMemberInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SourceGroupMemberInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TargetDeviceId": {
        "type": "object",
        "description": "Represents a replication target device, since the replication group id can\nbe the same in all the domains, this is keyed by the fault domain id.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "domainId": {
            "description": "ID of the fault domain.\n",
            "$ref": "#/components/schemas/FaultDomainId"
          },
          "deviceId": {
            "description": "ID of the target device.\n",
            "$ref": "#/components/schemas/ReplicaId"
          }
        },
        "required": [
          "domainId",
          "deviceId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTargetDeviceId": {
        "type": "object",
        "description": "A boxed array of *TargetDeviceId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TargetDeviceId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SyncReplicationGroupSuccessResult": {
        "type": "object",
        "description": "Result object for a replication group that was successfully synchronized.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "timeStamp": {
            "description": "Creation time of the PIT\n",
            "type": "string",
            "format": "date-time"
          },
          "pitId": {
            "description": "PIT id.\n\nIf the VASA provider does not support PIT, this can be\nleft unset.\n\nA PIT created as a result of the <code>syncReplicationGroup</code>\nmay or may not have the same retention policy as other PITs. A VASA provider\ncan choose to delete such a PIT after a successful <code>testFailoverStop</code>\n",
            "$ref": "#/components/schemas/PointInTimeReplicaId"
          },
          "pitName": {
            "type": "string"
          }
        },
        "required": [
          "timeStamp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GroupOperationResult"
          }
        ]
      },
      "ArrayOfSyncReplicationGroupSuccessResult": {
        "type": "object",
        "description": "A boxed array of *SyncReplicationGroupSuccessResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SyncReplicationGroupSuccessResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TargetGroupInfo": {
        "type": "object",
        "description": "Information about the replication target group.\n\nThis is returned as answer\nto queryReplicationGroup before failover or testFailoverStart.\n\nThis does not have to include the\nsnapshot objects in the ReplicationGroup, however, see also\n*RecoveredTargetGroupMemberInfo*.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "sourceInfo": {
            "description": "Replication source information.\n",
            "$ref": "#/components/schemas/TargetToSourceInfo"
          },
          "state": {
            "description": "Replication state of the group on the replication target.\n",
            "type": "string"
          },
          "devices": {
            "description": "Member device information.\n\nWhen the ReplicationGroup is either in *FAILEDOVER*\nor *INTEST*, this\nshould be *RecoveredTargetGroupMemberInfo*.\nOtherwise, this should be *TargetGroupMemberInfo*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TargetGroupMemberInfo"
            }
          },
          "isPromoteCapable": {
            "description": "Whether the VASA provider is capable of executing\n*VasaProvider.PromoteReplicationGroup_Task* for this\nReplicationGroup.\n\nFalse if not set. Note that this setting is per\nReplicationGroup per Target domain.\n",
            "type": "boolean"
          },
          "name": {
            "description": "Name of Replication Group.\n",
            "type": "string"
          }
        },
        "required": [
          "sourceInfo",
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GroupInfo"
          }
        ]
      },
      "ArrayOfTargetGroupInfo": {
        "type": "object",
        "description": "A boxed array of *TargetGroupInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TargetGroupInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TargetToSourceInfo": {
        "type": "object",
        "description": "Information about each replication target.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "sourceGroupId": {
            "description": "Id of the source CG id (including the fault domain ID).\n",
            "$ref": "#/components/schemas/ReplicationGroupId"
          },
          "replicationAgreementDescription": {
            "description": "Description of the replication agreement.\n\nThis could be used to describe the characteristics of the replication\nrelationship between the source and the target (e.g. RPO, Replication\nMode, and other such properties). It is expected that VASA provider\nwill localize the string before sending to vSphere.\n",
            "type": "string"
          }
        },
        "required": [
          "sourceGroupId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTargetToSourceInfo": {
        "type": "object",
        "description": "A boxed array of *TargetToSourceInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TargetToSourceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TargetGroupMemberInfo": {
        "type": "object",
        "description": "Information about member virtual volumes in a ReplicationGroup\non the target when the state is *TARGET*.\n\nThis need not include information about all the snapshots in\nthe ReplicationGroup.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "replicaId": {
            "description": "Identifier of the replica device.\n",
            "$ref": "#/components/schemas/ReplicaId"
          },
          "sourceId": {
            "description": "Source device, since the device id can be the same in all the domains,\nthis needs to supplemented with the domain id to identify the device.\n",
            "$ref": "#/components/schemas/DeviceId"
          },
          "targetDatastore": {
            "description": "Datastore of the target device.\n\nThis may be used by CAM/SRM\nto notify the administrators to setup access paths for the hosts\nto access the recovered devices.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "replicaId",
          "sourceId",
          "targetDatastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTargetGroupMemberInfo": {
        "type": "object",
        "description": "A boxed array of *TargetGroupMemberInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TargetGroupMemberInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TestFailoverParam": {
        "type": "object",
        "description": "Input to testFailover method.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FailoverParam"
          }
        ]
      },
      "ArrayOfTestFailoverParam": {
        "type": "object",
        "description": "A boxed array of *TestFailoverParam*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TestFailoverParam"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VVolId": {
        "type": "object",
        "description": "Identity of a virtual volume for policy API purposes.\n\nFor the sake of\nbrevity, let us use VVolId. This works because the class is defined as a part\nof the policy package.\n\nWSDL names do not have this feature, but WSDL names are usually prefixed with\nthe package name any way.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceId"
          }
        ]
      },
      "ArrayOfVVolId": {
        "type": "object",
        "description": "A boxed array of *VVolId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VVolId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VasaVirtualDiskId": {
        "type": "object",
        "description": "Represents a virtual disk with a UUID (aka FCD).\n\nVirtual Volume VASA providers can ignore this class.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "diskId": {
            "description": "See VIM documentation for more details on first class storage - which is\nnew in 2016.\n",
            "type": "string"
          }
        },
        "required": [
          "diskId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceId"
          }
        ]
      },
      "ArrayOfVasaVirtualDiskId": {
        "type": "object",
        "description": "A boxed array of *VasaVirtualDiskId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VasaVirtualDiskId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskKey": {
        "type": "object",
        "description": "Represents a virtual disk.\n\nIdeally a UUID, since we do not yet have an FCD,\nlet us use VM's UUID + diskKey.\nVirtual Volume VASA providers can ignore this class.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "vmInstanceUUID": {
            "description": "The vmInstanceUUID is unique to a VM.\n\nSee\nhttp://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.vm.ConfigInfo.html\n",
            "type": "string"
          },
          "deviceKey": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vmInstanceUUID",
          "deviceKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceId"
          }
        ]
      },
      "ArrayOfVirtualDiskKey": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskKey*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskKey"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskMoId": {
        "type": "object",
        "description": "Identifies a VirtualDisk uniquely using the disk key, vCenter managed object id of the VM it\nbelongs to and the corresponding vCenter UUID.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "vcUuid": {
            "description": "The vCenter UUID - this is informational only, and may not always be set.\n",
            "type": "string"
          },
          "vmMoid": {
            "description": "The managed object id that corresponds to vCenter's ManagedObjectReference#key for this VM.\n",
            "type": "string"
          },
          "diskKey": {
            "description": "The disk key that corresponds to the VirtualDevice#key in vCenter.\n",
            "type": "string"
          }
        },
        "required": [
          "vmMoid",
          "diskKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceId"
          }
        ]
      },
      "ArrayOfVirtualDiskMoId": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskMoId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskMoId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFilePath": {
        "type": "object",
        "description": "Identifies a virtual machine by its VMX file path.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "vcUuid": {
            "description": "The vCenter UUID - this is informational only,\nand may not always be set.\n",
            "type": "string"
          },
          "dsUrl": {
            "description": "Datastore URL, which is globally unique (name is not).\n",
            "type": "string"
          },
          "vmxPath": {
            "description": "Full path name from the URL onwards.\n\nWhen the vmxPath is returned after failover, the VMX file\nshould be fixed up to contain correct target filenames for all replicated\ndisks. For non-replicated disks, the target filenames can contain\nany arbitrary path. For better security, it is recommended to\nset these disks pointed to a random string (e.g. UUID).\n",
            "type": "string"
          }
        },
        "required": [
          "dsUrl",
          "vmxPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineId"
          }
        ]
      },
      "ArrayOfVirtualMachineFilePath": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFilePath*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFilePath"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineId": {
        "type": "object",
        "description": "Abstracts the identity of a virtual machine.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceId"
          }
        ]
      },
      "ArrayOfVirtualMachineId": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMoId": {
        "type": "object",
        "description": "Identifies a VirtualMachine uniquely using its vCenter managed object id and the corresponding\nvCenter UUID\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "vcUuid": {
            "description": "The vCenter UUID - this is informational only, and may not always be set.\n",
            "type": "string"
          },
          "vmMoid": {
            "description": "The managed object id that corresponds to vCenter's ManagedObjectReference#key for this VM.\n",
            "type": "string"
          }
        },
        "required": [
          "vmMoid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineId"
          }
        ]
      },
      "ArrayOfVirtualMachineMoId": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMoId*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMoId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineUUID": {
        "type": "object",
        "description": "Identifies a virtual machine by its vmInstanceUUID\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "vmInstanceUUID": {
            "description": "The vmInstanceUUID is unique to a VM.\n\nSee\nhttp://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.vm.ConfigInfo.html\n",
            "type": "string"
          }
        },
        "required": [
          "vmInstanceUUID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineId"
          }
        ]
      },
      "ArrayOfVirtualMachineUUID": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineUUID*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineUUID"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AboutInfo": {
        "type": "object",
        "description": "This data object type describes system information\nincluding the name, type, version, and build number.\n",
        "properties": {
          "name": {
            "description": "Short form of the product name.\n",
            "type": "string"
          },
          "fullName": {
            "description": "The complete product name, including the version information.\n",
            "type": "string"
          },
          "vendor": {
            "description": "Name of the vendor of this product.\n",
            "type": "string"
          },
          "version": {
            "description": "Dot-separated version string.\n\nFor example, \"1.2\".\n",
            "type": "string"
          },
          "patchLevel": {
            "description": "Patch level for the server.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          },
          "build": {
            "description": "Build string for the server on which this call is made.\n\nFor example, x.y.z-num.\nThis string does not apply to the API.\n",
            "type": "string"
          },
          "localeVersion": {
            "description": "Version of the message catalog for the current session's locale.\n",
            "type": "string"
          },
          "localeBuild": {
            "description": "Build number for the current session's locale.\n\nTypically, this is a small number reflecting a\nlocalization change from the normal product build.\n",
            "type": "string"
          },
          "osType": {
            "description": "Operating system type and architecture.\n\nExamples of values are:\n- \"win32-x86\" - For x86-based Windows systems.\n- \"linux-x86\" - For x86-based Linux systems.\n- \"vmnix-x86\" - For the x86 ESX Server microkernel.\n- \"vmnix-arm64\" - For the arm64 ESX Server microkernel.\n",
            "type": "string"
          },
          "productLineId": {
            "description": "The product ID is a unique identifier for a product line.\n\nExamples of values are:\n- \"gsx\" - For the VMware Server product.\n- \"esx\" - For the ESX product.\n- \"embeddedEsx\" - For the ESXi product.\n- \"esxio\" - For the ESXio product.\n- \"vpx\" - For the VirtualCenter product.\n",
            "type": "string"
          },
          "apiType": {
            "description": "Indicates whether or not the service instance represents a\nstandalone host.\n\nIf the service instance represents a standalone host, then the physical\ninventory for that service instance is fixed to that single host.\nVirtualCenter server provides additional features over single hosts.\nFor example, VirtualCenter offers multi-host management.\n\nExamples of values are:\n- \"VirtualCenter\" - For a VirtualCenter instance.\n- \"HostAgent\" - For host agent on an ESX Server or VMware Server host.\n",
            "type": "string"
          },
          "apiVersion": {
            "description": "The version of the API as a dot-separated string.\n\nFor example, \"1.0.0\".\n",
            "type": "string"
          },
          "instanceUuid": {
            "description": "A globally unique identifier associated with this service instance.\n",
            "type": "string"
          },
          "licenseProductName": {
            "description": "The license product name\n",
            "type": "string"
          },
          "licenseProductVersion": {
            "description": "The license product version\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "fullName",
          "vendor",
          "version",
          "build",
          "osType",
          "productLineId",
          "apiType",
          "apiVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAboutInfo": {
        "type": "object",
        "description": "A boxed array of *AboutInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AboutInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AuthorizationDescription": {
        "type": "object",
        "description": "Static strings for authorization.\n",
        "properties": {
          "privilege": {
            "description": "Description of the privilege.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "privilegeGroup": {
            "description": "Description of a category of similar privileges, grouped\ntogether for convenience.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          }
        },
        "required": [
          "privilege",
          "privilegeGroup"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAuthorizationDescription": {
        "type": "object",
        "description": "A boxed array of *AuthorizationDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EntityPrivilege": {
        "type": "object",
        "description": "This class defines whether a set of privileges are granted for a managed entity.\n",
        "properties": {
          "entity": {
            "description": "The entity on which the privileges are checked.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "privAvailability": {
            "description": "whether a set of privileges are granted for the managed entity.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivilegeAvailability"
            }
          }
        },
        "required": [
          "entity",
          "privAvailability"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEntityPrivilege": {
        "type": "object",
        "description": "A boxed array of *EntityPrivilege*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityPrivilege"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Permission": {
        "type": "object",
        "description": "This data object type provides assignment of some role access to\na principal on a specific entity.\n\nA ManagedEntity is limited to\none permission per principal.\n",
        "properties": {
          "entity": {
            "description": "Managed entity the permission is defined on.\n\nLeft unset\nwhen calling setPermissions or resetPermissions, but present\nfor the results of permission queries.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "principal": {
            "description": "User or group receiving access in the form of\n\"login\" for local or \"DOMAIN\\\\login\" for users in a Windows domain.\n",
            "type": "string"
          },
          "group": {
            "description": "Whether principal refers to a user or a group.\n\nTrue for\na group and false for a user.\n",
            "type": "boolean"
          },
          "roleId": {
            "description": "Reference to the role providing the access.\n",
            "type": "integer",
            "format": "int32"
          },
          "propagate": {
            "description": "Whether or not this permission propagates down the hierarchy\nto sub-entities.\n",
            "type": "boolean"
          }
        },
        "required": [
          "principal",
          "group",
          "roleId",
          "propagate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPermission": {
        "type": "object",
        "description": "A boxed array of *Permission*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Permission"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AuthorizationPrivilege": {
        "type": "object",
        "description": "This data object type provides access to some aspect of the system.\n\nPrivileges are generally independent. This means a user with a privilege\nusually can perform an associated set of actions without needing any\nadditional supporting privileges.\n\nWithin each product version, privileges do not change.\nSee *AuthorizationDescription* for\ndetailed information on the privileges defined by the system.\n",
        "properties": {
          "privId": {
            "description": "Unique identifier.\n",
            "type": "string"
          },
          "onParent": {
            "description": "Determines whether or not the privilege is applied on the parent entity.\n",
            "type": "boolean"
          },
          "name": {
            "description": "Privilege name.\n",
            "type": "string"
          },
          "privGroupName": {
            "description": "Group name.\n",
            "type": "string"
          }
        },
        "required": [
          "privId",
          "onParent",
          "name",
          "privGroupName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAuthorizationPrivilege": {
        "type": "object",
        "description": "A boxed array of *AuthorizationPrivilege*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationPrivilege"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrivilegeAvailability": {
        "type": "object",
        "description": "This class defines whether a specific privilege is granted.\n",
        "properties": {
          "privId": {
            "description": "The privilege ID.\n",
            "type": "string"
          },
          "isGranted": {
            "description": "True if the privilege is granted.\n",
            "type": "boolean"
          }
        },
        "required": [
          "privId",
          "isGranted"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPrivilegeAvailability": {
        "type": "object",
        "description": "A boxed array of *PrivilegeAvailability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivilegeAvailability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AuthorizationRole": {
        "type": "object",
        "description": "This data object type specifies a collection of privileges used\nto grant access to users on managed entities.\n",
        "properties": {
          "roleId": {
            "description": "Unique role identifier.\n",
            "type": "integer",
            "format": "int32"
          },
          "system": {
            "description": "Whether or not the role is system-defined.\n\nSystem-defined roles cannot be\nchanged.\n",
            "type": "boolean"
          },
          "name": {
            "description": "System-defined or user-defined role name.\n",
            "type": "string"
          },
          "info": {
            "description": "Displayable role information.\n",
            "$ref": "#/components/schemas/Description"
          },
          "privilege": {
            "description": "Privileges provided by this role, by privilege identifier.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "roleId",
          "system",
          "name",
          "info"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAuthorizationRole": {
        "type": "object",
        "description": "A boxed array of *AuthorizationRole*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationRole"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserPrivilegeResult": {
        "type": "object",
        "description": "This class is used to provide the list of effective privileges\nset on a given managed entity for a user.\n",
        "properties": {
          "entity": {
            "description": "The entity on which privileges are retrieved.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "privileges": {
            "description": "A list of privileges set on the entity.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfUserPrivilegeResult": {
        "type": "object",
        "description": "A boxed array of *UserPrivilegeResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserPrivilegeResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BatchResult": {
        "type": "object",
        "description": "Results of Batch APIs.\n",
        "properties": {
          "result": {
            "description": "Enum value for @link BatchResult.Result\n",
            "type": "string"
          },
          "hostKey": {
            "description": "Host for which the result applies.\n",
            "type": "string"
          },
          "ds": {
            "description": "The datastore that is created.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "fault": {
            "description": "'fault' would be set if the operation was not successful\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "result",
          "hostKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfBatchResult": {
        "type": "object",
        "description": "A boxed array of *BatchResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BoolPolicy": {
        "type": "object",
        "description": "The boolean type of setting or configuration that may get an\ninherited value.\n",
        "properties": {
          "value": {
            "description": "The boolean value that is either set or inherited.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfBoolPolicy": {
        "type": "object",
        "description": "A boxed array of *BoolPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BoolPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Capability": {
        "type": "object",
        "description": "A particular product may or may not support certain features.\n\nThis data object\nindicates whether or not a service instance implements these features. This data\nobject type indicates the circumstances under which an operation throws a\n*NotSupported* fault.\n\nSupport for some features is indicated by the presence or absence of\nthe manager object from the service instance. For example, the AlarmManager manager\nobject indicates collecting alarms is supported.\nOther features indicate whether or not a given operation on an\nobject throws a *NotSupported* fault.\n\nSome capabilities depend on the host or virtual machine\nversion. These are specified by using the vim.host.Capability and\nvim.vm.Capability objects.\n",
        "properties": {
          "provisioningSupported": {
            "description": "Indicates whether or not the service instance supports provisioning.\n\nFor example, the *CloneVM* operation.\n",
            "type": "boolean"
          },
          "multiHostSupported": {
            "description": "Indicates whether or not the service instance supports multiple hosts.\n",
            "type": "boolean"
          },
          "userShellAccessSupported": {
            "description": "Flag indicating whether host user accounts should have the option to\nbe granted shell access\n",
            "type": "boolean"
          },
          "supportedEVCMode": {
            "description": "All supported Enhanced VMotion Compatibility modes.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCMode"
            }
          },
          "supportedEVCGraphicsMode": {
            "description": "All supported Enhanced VMotion Compatibility Graphics modes.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeatureEVCMode"
            }
          },
          "networkBackupAndRestoreSupported": {
            "description": "Indicates whether network backup and restore feature is supported.\n",
            "type": "boolean"
          },
          "ftDrsWithoutEvcSupported": {
            "description": "Is DRS supported for Fault Tolerance VMs without enabling EVC.\n",
            "type": "boolean"
          },
          "hciWorkflowSupported": {
            "description": "Specifies if the workflow for setting up a HCI cluster is supported.\n",
            "type": "boolean"
          },
          "computePolicyVersion": {
            "description": "Specifies the supported compute policy version.\n",
            "type": "integer",
            "format": "int32"
          },
          "clusterPlacementSupported": {
            "type": "boolean"
          },
          "lifecycleManagementSupported": {
            "description": "Specifies if lifecycle management of a Cluster is supported.\n",
            "type": "boolean"
          },
          "hostSeedingSupported": {
            "description": "Specifies if host seeding for a cluster is supported.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "scalableSharesSupported": {
            "description": "Specifies if scalable shares for resource pools is supported.\n",
            "type": "boolean"
          },
          "hadcsSupported": {
            "description": "Specifies if highly available distributed clustering service is supported.\n\n***Since:*** vSphere API Release 7.0.1.1\n",
            "type": "boolean"
          },
          "configMgmtSupported": {
            "description": "Specifies if desired configuration management platform is supported\non the cluster.\n\n***Since:*** vSphere API Release 7.0.3.1\n",
            "type": "boolean"
          }
        },
        "required": [
          "provisioningSupported",
          "multiHostSupported",
          "userShellAccessSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCapability": {
        "type": "object",
        "description": "A boxed array of *Capability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Capability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceClusterConfigResult": {
        "type": "object",
        "description": "ClusterConfigResult is the result returned for the *ClusterComputeResource.ConfigureHCI_Task*\nmethod.\n",
        "properties": {
          "failedHosts": {
            "description": "List of failed hosts.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderFailedHostResult"
            }
          },
          "configuredHosts": {
            "description": "List of successfully configured hosts.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceClusterConfigResult": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceClusterConfigResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceClusterConfigResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceCryptoModePolicy": {
        "type": "object",
        "description": "The encryption mode policy for a cluster.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "keyId": {
            "description": "The host key identifier.\n\nWhen set, all hosts in the cluster will use this key when enabling\nthe crypto safe mode. Only one of *ClusterComputeResourceCryptoModePolicy.keyId* and\n*ClusterComputeResourceCryptoModePolicy.providerId* may be set.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "providerId": {
            "description": "The host key provider identifier.\n\nWhen set, all hosts in the cluster will use a key from the specified\nkey provider when enabling the crypto safe mode. Only one of\n*ClusterComputeResourceCryptoModePolicy.keyId* and *ClusterComputeResourceCryptoModePolicy.providerId* may be set.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceCryptoModePolicy": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceCryptoModePolicy*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceCryptoModePolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceDVSConfigurationValidation": {
        "type": "object",
        "description": "Describes the validations applicable to the network settings.\n\nThese\nare based off the information recorded in\n*dvsSetting*.\n",
        "properties": {
          "isDvsValid": {
            "description": "Check if the DVS is alive.\n",
            "type": "boolean"
          },
          "isDvpgValid": {
            "description": "Check if the portgroups are valid.\n",
            "type": "boolean"
          }
        },
        "required": [
          "isDvsValid",
          "isDvpgValid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterComputeResourceValidationResultBase"
          }
        ]
      },
      "ArrayOfClusterComputeResourceDVSConfigurationValidation": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceDVSConfigurationValidation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceDVSConfigurationValidation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceDVSSetting": {
        "type": "object",
        "description": "Contains reference to the DVS, list of physical nics attached to it,\nand list of dvportgroups created on it while initially configuring a\ncluster by calling the *ClusterComputeResource.ConfigureHCI_Task* method.\n",
        "properties": {
          "dvSwitch": {
            "description": "Managed object reference to the DVS.\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pnicDevices": {
            "description": "List of physical nics attached to the DVS.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dvPortgroupSetting": {
            "description": "Describes dvportgroups on the DVS and services residing on each one.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"
            }
          }
        },
        "required": [
          "dvSwitch"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceDVSSetting": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceDVSSetting*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceDVSSetting"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping": {
        "type": "object",
        "properties": {
          "dvPortgroup": {
            "description": "Managed object reference to the dvportgroup.\n\nRefers instance of *DistributedVirtualPortgroup*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "service": {
            "description": "Service to be configured on the virtual nics attached to this\ndvportgroup.\n\nSee *HostVirtualNicManagerNicType_enum* for\nsupported values.\n",
            "type": "string"
          }
        },
        "required": [
          "dvPortgroup",
          "service"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceDvsProfile": {
        "type": "object",
        "description": "Describes DVS related information to be configured by calling\n*ClusterComputeResource.ConfigureHCI_Task* method.\n\nConsists of name of the DVS, the physical adapters to be attached to it\nand the list of dvportgroups to be created on this DVS.\n",
        "properties": {
          "dvsName": {
            "description": "Name of the new *DistributedVirtualSwitch*.\n",
            "type": "string"
          },
          "dvSwitch": {
            "description": "Managed object reference to an existing *DistributedVirtualSwitch*.\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pnicDevices": {
            "description": "List of physical Nics to be attached to the DVS.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dvPortgroupMapping": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceDvsProfile": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceDvsProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceDvsProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping": {
        "type": "object",
        "properties": {
          "dvPortgroupSpec": {
            "description": "Specification for a new *DistributedVirtualPortgroup*.\n",
            "$ref": "#/components/schemas/DVPortgroupConfigSpec"
          },
          "dvPortgroup": {
            "description": "Managed object reference to an existing *DistributedVirtualPortgroup*.\n\nRefers instance of *DistributedVirtualPortgroup*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "service": {
            "description": "Service to be configured on the virtual nics attached to this\ndvportgroup.\n\nSee *HostVirtualNicManagerNicType_enum* for\nsupported values.\n",
            "type": "string"
          }
        },
        "required": [
          "service"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceHCIConfigInfo": {
        "type": "object",
        "description": "This data object captures a subset of initial configuration of the cluster,\nwhich was configured by calling the *ClusterComputeResource.ConfigureHCI_Task* method.\n",
        "properties": {
          "workflowState": {
            "description": "Configuration pertinent to state of the HCI workflow.\n\nValid\nvalues are enumerated by the *HCIWorkflowState*\ntype.\n",
            "type": "string"
          },
          "dvsSetting": {
            "description": "Contains DVS related information captured while configuring\nthe cluster.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceDVSSetting"
            }
          },
          "configuredHosts": {
            "description": "Contains a list of hosts that are currently configured using\n*ClusterComputeResource.ConfigureHCI_Task* and *ClusterComputeResource.ExtendHCI_Task*\nmethod.\n\nA failed host will not be part of this list.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "hostConfigProfile": {
            "description": "Configuration of host services and host settings.\n",
            "$ref": "#/components/schemas/ClusterComputeResourceHostConfigurationProfile"
          }
        },
        "required": [
          "workflowState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceHCIConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceHCIConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHCIConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceHCIConfigSpec": {
        "type": "object",
        "description": "Specification to configure the cluster.\n",
        "properties": {
          "dvsProf": {
            "description": "Information related to network configuration.\n\nFor each DvsProfile\nobject, specify either *ClusterComputeResourceDvsProfile.dvsName* or\n*ClusterComputeResourceDvsProfile.dvSwitch*. Across all DvsProfile objects, specify\nexactly one\n*ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroup* or\n*ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroupSpec* per\n*ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.service*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceDvsProfile"
            }
          },
          "hostConfigProfile": {
            "description": "Configuration of host services and host settings.\n",
            "$ref": "#/components/schemas/ClusterComputeResourceHostConfigurationProfile"
          },
          "vSanConfigSpec": {
            "description": "vSan configuration specification.\n\nThis is vim.vsan.ReconfigSpec object\nrepresented via the VIM object.\n",
            "$ref": "#/components/schemas/SDDCBase"
          },
          "vcProf": {
            "description": "Describes cluster and EVC configuration.\n",
            "$ref": "#/components/schemas/ClusterComputeResourceVCProfile"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceHCIConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceHCIConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHCIConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceHostConfigurationInput": {
        "type": "object",
        "description": "Host configuration input to configure hosts in a cluster.\n",
        "properties": {
          "host": {
            "description": "Refers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostVmkNics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHostVmkNicInfo"
            }
          },
          "allowedInNonMaintenanceMode": {
            "description": "To apply configuration on the host, the host is expected to be in\nmaintenance mode.\n\nThis constraint can be relaxed by setting this\nflag to true.\n",
            "type": "boolean"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceHostConfigurationInput": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceHostConfigurationInput*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHostConfigurationInput"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceHostConfigurationProfile": {
        "type": "object",
        "description": "HostConfigurationProfile describes the configuration of services\nand settings which gets applied on every host in the HCI cluster.\n",
        "properties": {
          "dateTimeConfig": {
            "description": "Date and time settings\n",
            "$ref": "#/components/schemas/HostDateTimeConfig"
          },
          "lockdownMode": {
            "description": "Desired lockdown mode\n",
            "$ref": "#/components/schemas/HostLockdownMode_enum"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceHostConfigurationProfile": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceHostConfigurationProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHostConfigurationProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceHostConfigurationValidation": {
        "type": "object",
        "description": "Describes the validations applicable to the settings on the host.\n",
        "properties": {
          "host": {
            "description": "Host being validated.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "isDvsSettingValid": {
            "description": "Check if the host is attached to the DVS on right adapters.\n",
            "type": "boolean"
          },
          "isVmknicSettingValid": {
            "description": "Check if the adapters for services are present and on the right\nportgroups.\n",
            "type": "boolean"
          },
          "isNtpSettingValid": {
            "description": "Check if NTP is configured per specification.\n",
            "type": "boolean"
          },
          "isLockdownModeValid": {
            "description": "Check if lockdown mode is set per specification\n",
            "type": "boolean"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterComputeResourceValidationResultBase"
          }
        ]
      },
      "ArrayOfClusterComputeResourceHostConfigurationValidation": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceHostConfigurationValidation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHostConfigurationValidation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceHostEvacuationInfo": {
        "type": "object",
        "description": "This data object describes what evacuation actions should be made for a given host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "host": {
            "description": "Candidate host to be put into maintenance mode.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "action": {
            "description": "Specifies the list of required actions.\n\nDepending on the specified option values passed, additional\nactions such as ones related to evacuation of specific objects,\nadditional memory reservation or allowing/disallowing certain groups\nof operations may be taken when entering the desired flavor of\nmaintenance mode. The list of supported options and values may vary\nbased on the version of the ESXi host and Virtual Center.\n\nIf unset, a default list of actions will be assumed based on the\nselected flavor of maintenance mode as specified by the\n*ClusterComputeResourceMaintenanceInfo.partialMMId* field. See *HostPartialMaintenanceModeId_enum*\nfor further information about individual flavors.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceHostEvacuationInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceHostEvacuationInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHostEvacuationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceHostVmkNicInfo": {
        "type": "object",
        "description": "This data object describes how a vmknic on a host must be configured.\n",
        "properties": {
          "nicSpec": {
            "description": "NIC specification\n",
            "$ref": "#/components/schemas/HostVirtualNicSpec"
          },
          "service": {
            "description": "Service type for this adapter.\n\nSee\n*HostVirtualNicManagerNicType_enum* for supported values.\n",
            "type": "string"
          }
        },
        "required": [
          "nicSpec",
          "service"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceHostVmkNicInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceHostVmkNicInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHostVmkNicInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceMaintenanceInfo": {
        "type": "object",
        "description": "This data object describes how a given array of hosts will be put into maintenance mode.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "partialMMId": {
            "description": "Indicates the flavor of maintenance mode requested.\n\nIf set, specifies the desired flavor of partial\nmaintenance mode. Otherwise, full maintenance mode is assumed.\nSee *HostPartialMaintenanceModeId_enum* for supported values.\n",
            "type": "string"
          },
          "hostEvacInfo": {
            "description": "Evaucation information for each host\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceHostEvacuationInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceMaintenanceInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceMaintenanceInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceMaintenanceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceSummary": {
        "type": "object",
        "description": "The *ClusterComputeResourceSummary* data object\nencapsulates runtime properties of a *ClusterComputeResource*.\n",
        "properties": {
          "currentFailoverLevel": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0, use\n*ClusterFailoverLevelAdmissionControlInfo.currentFailoverLevel*.\n\nCurrent failover level.\n\nThis is the number of physical host failures that can\nbe tolerated without impacting the ability to satisfy the minimums for all\nrunning virtual machines. This represents the current value, as opposed to\ndesired value configured by the user.\n",
            "type": "integer",
            "format": "int32"
          },
          "admissionControlInfo": {
            "description": "Information about the current amount of resources available for a vSphere HA\ncluster.\n\nThe actual type of admissionControlInfo will depend on what kind of\n*ClusterDasAdmissionControlPolicy* was used to configure the cluster.\n",
            "$ref": "#/components/schemas/ClusterDasAdmissionControlInfo"
          },
          "numVmotions": {
            "description": "Total number of migrations with VMotion that have been done internal to this\ncluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "targetBalance": {
            "description": "The target balance, in terms of standard deviation, for a DRS cluster.\n\nUnits are thousandths. For example, 12 represents 0.012.\n",
            "type": "integer",
            "format": "int32"
          },
          "currentBalance": {
            "description": "The current balance, in terms of standard deviation, for a DRS cluster.\n\nUnits are thousandths. For example, 12 represents 0.012.\n",
            "type": "integer",
            "format": "int32"
          },
          "drsScore": {
            "description": "The DRS score of this cluster, in percentage.\n",
            "type": "integer",
            "format": "int32"
          },
          "numVmsPerDrsScoreBucket": {
            "description": "The number of VMs in this cluster corresponding to each DRS score\nbucket.\n\nThe buckets are defined as follows:\n- 0% - 20%\n- 21% - 40%\n- 41% - 60%\n- 61% - 80%\n- 81% - 100%\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "usageSummary": {
            "description": "The current usage summary for a DRS cluster.\n",
            "$ref": "#/components/schemas/ClusterUsageSummary"
          },
          "currentEVCModeKey": {
            "description": "The Enhanced VMotion Compatibility mode that is currently in effect\nfor all hosts in this cluster; unset if no EVC mode is active.\n\nSee also *Capability.supportedEVCMode*.\n",
            "type": "string"
          },
          "currentEVCGraphicsModeKey": {
            "description": "The Enhanced VMotion Compatibility Graphics mode that is currently in\neffect for all hosts in this cluster; unset if no EVC mode is active.\n\nSee also *Capability.supportedEVCGraphicsMode*.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "string"
          },
          "dasData": {
            "description": "Data pertaining to DAS.\n",
            "$ref": "#/components/schemas/ClusterDasData"
          },
          "clusterMaintenanceModeStatus": {
            "description": "Configuration pertinent to state of the cluster maintenance mode.\n\nValid values are enumerated by the *ClusterMaintenanceModeStatus*\ntype.\n\n***Since:*** vSphere API Release 7.0.0.2\n",
            "type": "string"
          },
          "vcsHealthStatus": {
            "description": "The health status of the vSphere Cluster Services in the cluster.\n\nSupported values are enumerated by the *VcsHealthStatus*\ntype.\n\n***Since:*** vSphere API Release 7.0.1.1\n",
            "type": "string"
          },
          "vcsSlots": {
            "description": "An array of hosts and number of resource slots on the host for\nvSphere Cluster Services in the cluster.\n\nThe number of resource slots on the host includes both following types:\n1\\. Number of vCS VMs running on the host (resource reserved and occupied).\n2\\. Number of reserved and unoccupied slots (reserved for new vCS VMs).\n\n***Since:*** vSphere API Release 7.0.1.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceVcsSlots"
            }
          }
        },
        "required": [
          "currentFailoverLevel",
          "numVmotions"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ComputeResourceSummary"
          }
        ]
      },
      "ArrayOfClusterComputeResourceSummary": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceVCProfile": {
        "type": "object",
        "description": "Describes cluster configuration for various vCenter services.\n",
        "properties": {
          "clusterSpec": {
            "description": "Cluster configurarion.\n",
            "$ref": "#/components/schemas/ClusterConfigSpecEx"
          },
          "evcModeKey": {
            "description": "EVC mode key.\n",
            "type": "string"
          },
          "evcGraphicsModeKey": {
            "description": "EVC Graphics mode key\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceVCProfile": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceVCProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceVCProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceValidationResultBase": {
        "type": "object",
        "description": "Describes the validation results.\n",
        "properties": {
          "info": {
            "description": "Describes the messages relevant to the validation result\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceValidationResultBase": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceValidationResultBase*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceValidationResultBase"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComputeResourceVcsSlots": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 7.0.1.1\n",
        "properties": {
          "systemId": {
            "description": "Identifier of the system for which the slots are applicable.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "string"
          },
          "host": {
            "description": "The host that has vSphere Cluster Services slots.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastore": {
            "description": "Datastores on the host which are recommended for vCLS VM deployment.\n\n***Since:*** vSphere API Release 7.0.3.0\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "totalSlots": {
            "description": "The number of total vSphere Cluster Services slots on the host.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "host",
          "totalSlots"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterComputeResourceVcsSlots": {
        "type": "object",
        "description": "A boxed array of *ClusterComputeResourceVcsSlots*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.1.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComputeResourceVcsSlots"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComputeResourceConfigInfo": {
        "type": "object",
        "description": "Configuration of the compute resource; applies to both standalone hosts\nand clusters.\n",
        "properties": {
          "vmSwapPlacement": {
            "description": "Swapfile placement policy for virtual machines within this compute\nresource.\n\nAny policy except for \"inherit\" is a valid value for this\nproperty; the default is \"vmDirectory\". This setting will be honored\nfor each virtual machine within the compute resource for which the\nfollowing is true:\n- The virtual machine is executing on a host that has the\n  *perVmSwapFiles* capability.\n- The virtual machine configuration's\n  *swapPlacement* property is set\n  to \"inherit\".\n  \nSee also *VirtualMachineConfigInfoSwapPlacementType_enum*.\n",
            "type": "string"
          },
          "spbmEnabled": {
            "description": "Flag indicating whether or not the SPBM(Storage Policy Based Management)\nfeature is enabled on this compute resource\n",
            "type": "boolean"
          },
          "defaultHardwareVersionKey": {
            "description": "Key for Default Hardware Version used on this compute resource\nin the format of *VirtualMachineConfigOptionDescriptor.key*.\n\nThis field affects\n*VirtualMachineConfigOptionDescriptor.defaultConfigOption* returned\nby *ComputeResource.environmentBrowser* of this object and all its children\nwith this field unset.\n",
            "type": "string"
          },
          "maximumHardwareVersionKey": {
            "description": "Key for Maximum Hardware Version used on this compute resource\nin the format of *VirtualMachineConfigOptionDescriptor.key*.\n\nThis field affects\n*VirtualMachineConfigOptionDescriptor.defaultConfigOption* returned\nby *ComputeResource.environmentBrowser* of this object and all its children\nwith this field unset.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "required": [
          "vmSwapPlacement"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComputeResourceConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ComputeResourceConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComputeResourceConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComputeResourceConfigSpec": {
        "type": "object",
        "description": "Changes to apply to the compute resource configuration.\n",
        "properties": {
          "vmSwapPlacement": {
            "description": "New setting for the swapfile placement policy.\n\nAny change to this\npolicy will affect virtual machines that subsequently power on or\nresume from a suspended state in this compute resource, or that\nmigrate to a host in this compute resource while powered on; virtual\nmachines that are currently powered on in this compute resource will\nnot yet be affected.\n\nSee also *VirtualMachineConfigInfoSwapPlacementType_enum*.\n",
            "type": "string"
          },
          "spbmEnabled": {
            "description": "Flag indicating whether or not the SPBM(Storage Policy Based Management)\nfeature is enabled on this compute resource\n",
            "type": "boolean"
          },
          "defaultHardwareVersionKey": {
            "description": "Key for Default Hardware Version to be used on this compute resource\nin the format of *VirtualMachineConfigOptionDescriptor.key*.\n\nSetting this field affects\n*VirtualMachineConfigOptionDescriptor.defaultConfigOption* returned\nby *ComputeResource.environmentBrowser* of this object and all its children\nwith this field unset.\n",
            "type": "string"
          },
          "desiredSoftwareSpec": {
            "description": "Desired software spec for the set of physical compute resources.\n\nThis\nparameter is only supported in vim.Folder#createClusterEx operation.\n",
            "$ref": "#/components/schemas/DesiredSoftwareSpec"
          },
          "maximumHardwareVersionKey": {
            "description": "Key for Maximum Hardware Version to be used on this compute resource\nin the format of *VirtualMachineConfigOptionDescriptor.key*.\n\nSetting this field affects\n*VirtualMachineConfigOptionDescriptor.defaultConfigOption* returned\nby *ComputeResource.environmentBrowser* of this object and all its children\nwith this field unset.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          },
          "enableConfigManager": {
            "description": "Flag indicating whether or not the vLCM (vSphere Lifecycle Manager)\nConfig Manager feature is enabled on this compute resource.\n\nIf the\nflag is not set, the Config Manager feature will be disabled by\ndefault. This parameter is only supported in *Folder.CreateClusterEx*\noperation.\n\n***Since:*** vSphere API Release 7.0.3.1\n",
            "type": "boolean"
          },
          "hostSeedSpec": {
            "description": "Specification for the host seeding operation.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/ComputeResourceHostSeedSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComputeResourceConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ComputeResourceConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComputeResourceConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComputeResourceHostSPBMLicenseInfo": {
        "type": "object",
        "description": "The *ComputeResourceHostSPBMLicenseInfo* data object\nencapsulates the SPBM(Storage Policy Based Management) license\ninformation for a host.\n",
        "properties": {
          "host": {
            "description": "Refers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "licenseState": {
            "$ref": "#/components/schemas/ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState_enum"
          }
        },
        "required": [
          "host",
          "licenseState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComputeResourceHostSPBMLicenseInfo": {
        "type": "object",
        "description": "A boxed array of *ComputeResourceHostSPBMLicenseInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComputeResourceHostSPBMLicenseInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComputeResourceHostSeedSpec": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "singleHostSpec": {
            "description": "Specification for the seed host.\n",
            "$ref": "#/components/schemas/ComputeResourceHostSeedSpecSingleHostSpec"
          }
        },
        "required": [
          "singleHostSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComputeResourceHostSeedSpec": {
        "type": "object",
        "description": "A boxed array of *ComputeResourceHostSeedSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComputeResourceHostSeedSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComputeResourceHostSeedSpecSingleHostSpec": {
        "type": "object",
        "description": "This data object contains a specification for a single candidate host\nfor the host seeding operation.\n\nIf the candidate host is:\n\\- A new host not managed by vCenter Server: A *HostConnectSpec*\nneeds to be provided.\n\\- A host managed by vCenter Server: A *HostSystem*\nneeds to be provided.\n",
        "properties": {
          "newHostCnxSpec": {
            "description": "Connection Spec for a new host.\n",
            "$ref": "#/components/schemas/HostConnectSpec"
          },
          "existingHost": {
            "description": "Reference to an existing host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComputeResourceHostSeedSpecSingleHostSpec": {
        "type": "object",
        "description": "A boxed array of *ComputeResourceHostSeedSpecSingleHostSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComputeResourceHostSeedSpecSingleHostSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComputeResourceSummary": {
        "type": "object",
        "description": "This data object type encapsulates a typical set of ComputeResource information\nthat is useful for list views and summary pages.\n",
        "properties": {
          "totalCpu": {
            "description": "Aggregated CPU resources of all hosts, in MHz.\n",
            "type": "integer",
            "format": "int32"
          },
          "totalMemory": {
            "description": "Aggregated memory resources of all hosts, in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "numCpuCores": {
            "description": "Number of physical CPU cores.\n\nPhysical CPU cores are the processors contained\nby a CPU package.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "numCpuThreads": {
            "description": "Aggregated number of CPU threads.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "effectiveCpu": {
            "description": "Effective CPU resources (in MHz) available to run virtual machines.\n\nThis is the\naggregated effective resource level from all running hosts. Hosts that are in\nmaintenance mode or are unresponsive are not counted. Resources used by the\nVMware Service Console are not included in the aggregate. This value represents\nthe amount of resources available for the root resource pool for running\nvirtual machines.\n",
            "type": "integer",
            "format": "int32"
          },
          "effectiveMemory": {
            "description": "Effective memory resources (in MB) available to run virtual machines.\n\nThis is the aggregated effective resource level from all running hosts. Hosts\nthat are in maintenance mode or are unresponsive are not counted.\nResources used by the VMware Service Console are not included in the aggregate.\nThis value represents the amount of resources available for the root\nresource pool for running virtual machines.\n",
            "type": "integer",
            "format": "int64"
          },
          "numHosts": {
            "description": "Total number of hosts.\n",
            "type": "integer",
            "format": "int32"
          },
          "numEffectiveHosts": {
            "description": "Total number of effective hosts.\n",
            "type": "integer",
            "format": "int32"
          },
          "overallStatus": {
            "description": "Overall alarm status.\n\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          }
        },
        "required": [
          "totalCpu",
          "totalMemory",
          "numCpuCores",
          "numCpuThreads",
          "effectiveCpu",
          "effectiveMemory",
          "numHosts",
          "numEffectiveHosts",
          "overallStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComputeResourceSummary": {
        "type": "object",
        "description": "A boxed array of *ComputeResourceSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComputeResourceSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomFieldDef": {
        "type": "object",
        "description": "Describes a custom field.\n",
        "properties": {
          "key": {
            "description": "A unique ID used to reference this custom field in assignments.\n\nThis\nID is unique for the lifetime of the field (even across\nrename operations).\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "Name of the field.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of the field.\n",
            "type": "string"
          },
          "managedObjectType": {
            "description": "Type of object for which the field is valid.\n\nIf not specified,\nthe field is valid for all managed objects.\n",
            "type": "string"
          },
          "fieldDefPrivileges": {
            "description": "The set of privileges to apply on this field definition\n",
            "$ref": "#/components/schemas/PrivilegePolicyDef"
          },
          "fieldInstancePrivileges": {
            "description": "The set of privileges to apply on instances of this field\n",
            "$ref": "#/components/schemas/PrivilegePolicyDef"
          }
        },
        "required": [
          "key",
          "name",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomFieldDef": {
        "type": "object",
        "description": "A boxed array of *CustomFieldDef*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldDef"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomFieldStringValue": {
        "type": "object",
        "description": "Subtype for string values (currently the only supported type).\n",
        "properties": {
          "value": {
            "description": "Value assigned to the custom field.\n",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldValue"
          }
        ]
      },
      "ArrayOfCustomFieldStringValue": {
        "type": "object",
        "description": "A boxed array of *CustomFieldStringValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldStringValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomFieldValue": {
        "type": "object",
        "description": "Base type for storing values.\n",
        "properties": {
          "key": {
            "description": "The ID of the field to which this value belongs.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomFieldValue": {
        "type": "object",
        "description": "A boxed array of *CustomFieldValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationSpecInfo": {
        "type": "object",
        "description": "Information about a specification.\n",
        "properties": {
          "name": {
            "description": "Unique name of the specification.\n",
            "type": "string"
          },
          "description": {
            "description": "Description of the specification.\n",
            "type": "string"
          },
          "type": {
            "description": "Guest operating system for this specification (Linux or Windows).\n",
            "type": "string"
          },
          "changeVersion": {
            "description": "The changeVersion is a unique identifier for a given version\nof the configuration.\n\nEach change to the configuration will\nupdate this value. This is typically implemented as an ever\nincreasing count or a time-stamp. However, a client should\nalways treat this as an opaque string.\n\nIf specified when updating a specification, the changes will only be\napplied if the current changeVersion matches the specified changeVersion. This\nfield can be used to guard against updates that has happened\nbetween the configInfo was read and until it is applied.\n",
            "type": "string"
          },
          "lastUpdateTime": {
            "description": "Time when the specification was last modified.\n\nThis time is ignored when\nthe CustomizationSpecItem containing this is used as an input to\nCustomizationSpecManager.create.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "description",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationSpecInfo": {
        "type": "object",
        "description": "A boxed array of *CustomizationSpecInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationSpecInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationSpecItem": {
        "type": "object",
        "description": "Specification information and the Specification object.\n",
        "properties": {
          "info": {
            "description": "Information about the specification - name, description, and so on.\n",
            "$ref": "#/components/schemas/CustomizationSpecInfo"
          },
          "spec": {
            "description": "The customization specification.\n",
            "$ref": "#/components/schemas/CustomizationSpec"
          }
        },
        "required": [
          "info",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationSpecItem": {
        "type": "object",
        "description": "A boxed array of *CustomizationSpecItem*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationSpecItem"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatacenterBasicConnectInfo": {
        "type": "object",
        "description": "BasicConnectInfo consists of essential information about the host.\n\nThis\nis a subset of *HostConnectInfo* and contains the information\nwhich is relevant when it comes to dealing with a set of hosts.\n",
        "properties": {
          "hostname": {
            "description": "Target host.\n",
            "type": "string"
          },
          "error": {
            "description": "Error encountered while querying the host.\n\nSee\n*Datacenter.QueryConnectionInfo* for the list of exceptions which can\nbe represented here.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "serverIp": {
            "description": "IP address of the VirtualCenter already managing this host, if any.\n",
            "type": "string"
          },
          "numVm": {
            "description": "Specifies the number of VMs on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "numPoweredOnVm": {
            "description": "Specifies the number of powered-on VMs on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "hostProductInfo": {
            "description": "Information about the software running on the host.\n",
            "$ref": "#/components/schemas/AboutInfo"
          },
          "hardwareVendor": {
            "description": "Hardware vendor identification.\n",
            "type": "string"
          },
          "hardwareModel": {
            "description": "System model identification.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatacenterBasicConnectInfo": {
        "type": "object",
        "description": "A boxed array of *DatacenterBasicConnectInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterBasicConnectInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatacenterConfigInfo": {
        "type": "object",
        "description": "Configuration of the datacenter.\n",
        "properties": {
          "defaultHardwareVersionKey": {
            "description": "Key for Default Hardware Version used on this datacenter\nin the format of *VirtualMachineConfigOptionDescriptor.key*.\n\nThis field affects\n*VirtualMachineConfigOptionDescriptor.defaultConfigOption* returned\nby *ComputeResource.environmentBrowser* of all its children\nwith this field unset.\n",
            "type": "string"
          },
          "maximumHardwareVersionKey": {
            "description": "Key for Maximum Hardware Version used on this datacenter\nin the format of *VirtualMachineConfigOptionDescriptor.key*.\n\nThis field affects\n*VirtualMachineConfigOptionDescriptor.defaultConfigOption* returned\nby *ComputeResource.environmentBrowser* of all its children\nwith this field unset.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatacenterConfigInfo": {
        "type": "object",
        "description": "A boxed array of *DatacenterConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatacenterConfigSpec": {
        "type": "object",
        "description": "Changes to apply to the datacenter configuration.\n",
        "properties": {
          "defaultHardwareVersionKey": {
            "description": "Key for Default Hardware Version to be used on this datacenter\nin the format of *VirtualMachineConfigOptionDescriptor.key*.\n\nSetting this field affects\n*VirtualMachineConfigOptionDescriptor.defaultConfigOption* returned\nby *ComputeResource.environmentBrowser* of all its children\nwith this field unset.\n",
            "type": "string"
          },
          "maximumHardwareVersionKey": {
            "description": "Key for Maximum Hardware Version to be used on this datacenter\nin the format of *VirtualMachineConfigOptionDescriptor.key*.\n\nSetting this field affects\n*VirtualMachineConfigOptionDescriptor.defaultConfigOption* returned\nby *ComputeResource.environmentBrowser* of all its children\nwith this field unset.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatacenterConfigSpec": {
        "type": "object",
        "description": "A boxed array of *DatacenterConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreCapability": {
        "type": "object",
        "description": "Information about the capabilities of this datastore.\n",
        "properties": {
          "directoryHierarchySupported": {
            "description": "Indicates whether or not directories can be created on this datastore.\n",
            "type": "boolean"
          },
          "rawDiskMappingsSupported": {
            "description": "Indicates whether or not raw disk mappings can be created on this datastore.\n",
            "type": "boolean"
          },
          "perFileThinProvisioningSupported": {
            "description": "Indicates whether or not the datastore supports thin provisioning on a per file\nbasis.\n\nWhen thin provisioning is used, backing storage is lazily allocated.\n\nThis is supported by VMFS3. VMFS2 always allocates storage eagerly. Thus, this\nvalue is false for VMFS2. Most NAS systems always use thin provisioning.\nThey do not support configuring this on a per file basis, so for NAS systems\nthis value is also false.\n",
            "type": "boolean"
          },
          "storageIORMSupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nIndicates whether the datastore supports Storage I/O Resource Management.\n",
            "type": "boolean"
          },
          "nativeSnapshotSupported": {
            "description": "Indicates whether the datastore supports native snapshot feature which is\nbased on Copy-On-Write.\n",
            "type": "boolean"
          },
          "topLevelDirectoryCreateSupported": {
            "description": "Indicates whether the datastore supports traditional top-level\ndirectory creation.\n\nSee also *DatastoreNamespaceManager*.\n",
            "type": "boolean"
          },
          "seSparseSupported": {
            "description": "Indicates whether the datastore supports the Flex-SE(SeSparse) feature.\n",
            "type": "boolean"
          },
          "vmfsSparseSupported": {
            "description": "Indicates whether the datastore supports the vmfsSparse feature.\n\nTrue for VMFS3/VMFS5/NFS/NFS41, False for VMFS6.\nIf value is undefined, then it should be read as supported.\n",
            "type": "boolean"
          },
          "vsanSparseSupported": {
            "description": "Indicates whether the datastore supports the vsanSparse feature.\n",
            "type": "boolean"
          },
          "upitSupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0, and there is no replacement for it.\n\nIndicates whether the datastore supports the upit feature.\n",
            "type": "boolean"
          },
          "vmdkExpandSupported": {
            "description": "On certain datastores (e.g.\n\n2016 PMEM datastore) VMDK expand is not supported.\nThis field tells user if VMDK on this datastore can be expanded or not.\nIf value is undefined, then it should be read as supported.\n",
            "type": "boolean"
          },
          "clusteredVmdkSupported": {
            "description": "Indicates whether the datastore supports clustered VMDK feature.\n",
            "type": "boolean"
          }
        },
        "required": [
          "directoryHierarchySupported",
          "rawDiskMappingsSupported",
          "perFileThinProvisioningSupported",
          "storageIORMSupported",
          "nativeSnapshotSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastoreCapability": {
        "type": "object",
        "description": "A boxed array of *DatastoreCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreHostMount": {
        "type": "object",
        "description": "Host-specific datastore information.\n",
        "properties": {
          "key": {
            "description": "The host associated with this datastore.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "mountInfo": {
            "description": "Host-specific information about the mount.\n",
            "$ref": "#/components/schemas/HostMountInfo"
          }
        },
        "required": [
          "key",
          "mountInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastoreHostMount": {
        "type": "object",
        "description": "A boxed array of *DatastoreHostMount*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreHostMount"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreInfo": {
        "type": "object",
        "description": "Detailed information about a datastore.\n\nThis is a base type for derived types\nthat have more specific details about a datastore.\n\nSee also *HostVmfsVolume*, *HostNasVolume*, *HostLocalFileSystemVolume*.\n",
        "properties": {
          "name": {
            "description": "The name of the datastore.\n",
            "type": "string"
          },
          "url": {
            "description": "The unique locator for the datastore.\n",
            "type": "string"
          },
          "freeSpace": {
            "description": "Free space of this datastore, in bytes.\n\nThe server periodically updates this\nvalue. It can be explicitly refreshed with the Refresh operation.\n",
            "type": "integer",
            "format": "int64"
          },
          "maxFileSize": {
            "description": "The maximum size of a file that can reside on this file system volume.\n",
            "type": "integer",
            "format": "int64"
          },
          "maxVirtualDiskCapacity": {
            "description": "The maximum capacity of a virtual disk which can be created on this volume.\n",
            "type": "integer",
            "format": "int64"
          },
          "maxMemoryFileSize": {
            "description": "The maximum size of a snapshot or a swap file that can reside on this file system volume.\n",
            "type": "integer",
            "format": "int64"
          },
          "timestamp": {
            "description": "Time when the free-space and capacity values in *DatastoreInfo* and\n*DatastoreSummary* were updated.\n",
            "type": "string",
            "format": "date-time"
          },
          "containerId": {
            "description": "The unique container ID of the datastore, if applicable.\n",
            "type": "string"
          },
          "aliasOf": {
            "description": "vSAN datastore container that this datastore is alias of.\n\nIf this\nfield is unset then this datastore is not alias of any other vSAN\ndatastore.\nSee *DatastoreInfo.containerId*.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "url",
          "freeSpace",
          "maxFileSize",
          "maxMemoryFileSize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastoreInfo": {
        "type": "object",
        "description": "A boxed array of *DatastoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreMountPathDatastorePair": {
        "type": "object",
        "description": "Contains a mapping of an old mount path and its corresponding\nresignatured or remounted datastore\n",
        "properties": {
          "oldMountPath": {
            "description": "Old file path where file system volume is mounted, which\nshould be *path* value in\n*HostMountInfo*\n",
            "type": "string"
          },
          "datastore": {
            "description": "The resignatured or remounted datastore corresponding to the oldMountPath\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "oldMountPath",
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastoreMountPathDatastorePair": {
        "type": "object",
        "description": "A boxed array of *DatastoreMountPathDatastorePair*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreMountPathDatastorePair"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreSummary": {
        "type": "object",
        "description": "Summary information about the datastore.\n\nThe status fields and managed object\nreference is not set when an object of this type is created. These fields and\nreferences are typically set later when these objects are associated with a host.\n",
        "properties": {
          "datastore": {
            "description": "The reference to the managed object.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "The name of the datastore.\n",
            "type": "string"
          },
          "url": {
            "description": "The unique locator for the datastore.\n\nThis property is guaranteed to be valid\nonly if *DatastoreSummary.accessible* is true.\n",
            "type": "string"
          },
          "capacity": {
            "description": "Maximum capacity of this datastore, in bytes.\n\nThis value is updated\nperiodically by the server. It can be explicitly refreshed with the Refresh\noperation. This property is guaranteed to be valid only if *DatastoreSummary.accessible*\nis true.\n",
            "type": "integer",
            "format": "int64"
          },
          "freeSpace": {
            "description": "Available space of this datastore, in bytes.\n\nThe server periodically\nupdates this value. It can be explicitly refreshed with the Refresh operation.\nThis property is guaranteed to be valid only if *DatastoreSummary.accessible* is true.\n",
            "type": "integer",
            "format": "int64"
          },
          "uncommitted": {
            "description": "Total additional storage space, in bytes, potentially used by all\nvirtual machines on this datastore.\n\nThe server periodically updates this\nvalue.\nIt can be explicitly refreshed with the *Datastore.RefreshDatastoreStorageInfo* operation.\nThis property is valid only if *DatastoreSummary.accessible* is true.\n",
            "type": "integer",
            "format": "int64"
          },
          "accessible": {
            "description": "The connectivity status of this datastore.\n\nIf this is set to false, meaning the\ndatastore is not accessible, this datastore's capacity and freespace properties\ncannot be validated. Furthermore, if this property is set to false, some of the\nproperties in this summary and in *DatastoreInfo* should not be\nused. Refer to the documentation for the property of your interest.\nFor datastores accessed from multiple hosts, vCenter Server reports\n*DatastoreSummary.accessible* as an aggregated value of the\nproperties reported in *HostMountInfo*. For instance,\nif a datastore is accessible through a subset of hosts, then the value of\n*DatastoreSummary.accessible* will be reported as true by\nvCenter Server. And the reason for a daastore being inaccessible from a host\nwill be reported in *HostMountInfo.inaccessibleReason*\n",
            "type": "boolean"
          },
          "multipleHostAccess": {
            "description": "More than one host in the datacenter has been configured with access to the\ndatastore.\n\nThis is only provided by VirtualCenter.\n",
            "type": "boolean"
          },
          "type": {
            "description": "Type of file system volume, such as VMFS or NFS.\n\nSee also *HostFileSystemVolume.type*.\n",
            "type": "string"
          },
          "maintenanceMode": {
            "description": "The current maintenance mode state of the datastore.\n\nThe set of\npossible values is described in *DatastoreSummaryMaintenanceModeState_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "url",
          "capacity",
          "freeSpace",
          "accessible",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastoreSummary": {
        "type": "object",
        "description": "A boxed array of *DatastoreSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreVVolContainerFailoverPair": {
        "type": "object",
        "description": "A pair of source and target VVol containers and mapping of VVol\nIDs from source to target.\n",
        "properties": {
          "srcContainer": {
            "description": "Storage container on the source side.\n",
            "type": "string"
          },
          "tgtContainer": {
            "description": "Storage container on the target side.\n",
            "type": "string"
          },
          "vvolMapping": {
            "description": "Mapping of VVol IDs from source to target corresponding to the\ngiven set of containers.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "tgtContainer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastoreVVolContainerFailoverPair": {
        "type": "object",
        "description": "A boxed array of *DatastoreVVolContainerFailoverPair*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreVVolContainerFailoverPair"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreNamespaceManagerDirectoryInfo": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "capacity": {
            "description": "Size in MB of underlying object.\n",
            "type": "integer",
            "format": "int64"
          },
          "used": {
            "description": "Used size in MB in the VMFS volume.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "capacity",
          "used"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastoreNamespaceManagerDirectoryInfo": {
        "type": "object",
        "description": "A boxed array of *DatastoreNamespaceManagerDirectoryInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreNamespaceManagerDirectoryInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Description": {
        "type": "object",
        "description": "Static strings used for describing an object or property.\n",
        "properties": {
          "label": {
            "description": "Display label.\n",
            "type": "string"
          },
          "summary": {
            "description": "Summary description.\n",
            "type": "string"
          }
        },
        "required": [
          "label",
          "summary"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDescription": {
        "type": "object",
        "description": "A boxed array of *Description*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Description"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DesiredSoftwareSpec": {
        "type": "object",
        "description": "Desired Software Spec is defined as combination of base-image and add-on\ncomponent which user wants to install on ESX host or cluster.\n",
        "properties": {
          "baseImageSpec": {
            "description": "Describes a specific base-image spec for the ESX host.\n",
            "$ref": "#/components/schemas/DesiredSoftwareSpecBaseImageSpec"
          },
          "vendorAddOnSpec": {
            "description": "Vendor add-on info for desired software spec.\n",
            "$ref": "#/components/schemas/DesiredSoftwareSpecVendorAddOnSpec"
          },
          "components": {
            "description": "Additional components which should be part of the desired software\nspec.\n\nThese components would override the components present in\n*DesiredSoftwareSpec.vendorAddOnSpec* and *DesiredSoftwareSpec.baseImageSpec*.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DesiredSoftwareSpecComponentSpec"
            }
          },
          "removedComponents": {
            "description": "Components which should not be part of the desired software\nspec.\n\nThese components are not applied on the host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "baseImageSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDesiredSoftwareSpec": {
        "type": "object",
        "description": "A boxed array of *DesiredSoftwareSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DesiredSoftwareSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DesiredSoftwareSpecBaseImageSpec": {
        "type": "object",
        "description": "Describes base-image spec for the ESX host.\n",
        "properties": {
          "version": {
            "description": "Version of the base-image.\n",
            "type": "string"
          }
        },
        "required": [
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDesiredSoftwareSpecBaseImageSpec": {
        "type": "object",
        "description": "A boxed array of *DesiredSoftwareSpecBaseImageSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DesiredSoftwareSpecBaseImageSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DesiredSoftwareSpecComponentSpec": {
        "type": "object",
        "description": "Component information for the ESX host.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "name": {
            "description": "Name of the component.\n",
            "type": "string"
          },
          "version": {
            "description": "Version of the component.\n\nThis field is required in the\ncurrent release.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDesiredSoftwareSpecComponentSpec": {
        "type": "object",
        "description": "A boxed array of *DesiredSoftwareSpecComponentSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DesiredSoftwareSpecComponentSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DesiredSoftwareSpecVendorAddOnSpec": {
        "type": "object",
        "description": "Vendor specific add-on info for ESX host.\n",
        "properties": {
          "name": {
            "description": "Vendor add-on name.\n",
            "type": "string"
          },
          "version": {
            "description": "Vendor add-on version.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDesiredSoftwareSpecVendorAddOnSpec": {
        "type": "object",
        "description": "A boxed array of *DesiredSoftwareSpecVendorAddOnSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DesiredSoftwareSpecVendorAddOnSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiagnosticManagerAuditRecordResult": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "records": {
            "description": "Zero or more audit records returned.\n\nEach audit record is a UTF-8 string in RFC 5424 format. See RFC 5424,\npage 8, for the ABNF grammar.\n\nThe HOSTNAME and MSGID fields are set to \"-\", the structured data\ncontains the audit record parameters, no unstructured data will be\npresent, and each record is terminated with an ASCII LF (newline).\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "nextToken": {
            "description": "The token to be used for subsequent read operations.\n\nThe string is \"opaque\"; the format of this data changes over time.\n",
            "type": "string"
          }
        },
        "required": [
          "nextToken"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDiagnosticManagerAuditRecordResult": {
        "type": "object",
        "description": "A boxed array of *DiagnosticManagerAuditRecordResult*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiagnosticManagerAuditRecordResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiagnosticManagerBundleInfo": {
        "type": "object",
        "description": "Describes a location of a diagnostic bundle and the server to which\nit belongs.\n\nThis is a return type for the generateLogBundles operation.\n",
        "properties": {
          "system": {
            "description": "The host to which this diagnostic bundle belongs.\n\nIf this is for the default server, then it is not set.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "url": {
            "description": "The location from which the diagnostic bundle can be downloaded.\n\nThe host part of the URL is returned as '\\*' if the hostname to be used\nis the name of the server to which the call was made. For example, if\nthe call is made to vcsrv1.domain1.com, and the bundle is available\nfor download from http://vcsrv1.domain1.com/diagnostics/bundle.zip,\nthe URL returned may be http:// \\* /diagnostics/bundle.zip. The client\nreplaces the asterisk with the server name on which it invoked the\ncall.\n",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDiagnosticManagerBundleInfo": {
        "type": "object",
        "description": "A boxed array of *DiagnosticManagerBundleInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiagnosticManagerBundleInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiagnosticManagerLogDescriptor": {
        "type": "object",
        "description": "Describes a log file that is available on a server.\n",
        "properties": {
          "key": {
            "description": "A key to identify the log file for browsing and download operations.\n",
            "type": "string"
          },
          "fileName": {
            "description": "The filename of the log.\n",
            "type": "string"
          },
          "creator": {
            "description": "The application that generated the log file.\n\nFor more information on currently supported creators, see\n*DiagnosticManagerLogCreator_enum*.\n",
            "type": "string"
          },
          "format": {
            "description": "Describes the format of the log file.\n\nFor more information on currently supported formats, see\n*DiagnosticManagerLogFormat_enum*.\n",
            "type": "string"
          },
          "mimeType": {
            "description": "Describes the mime-type of the returned file.\n\nTypical\nmime-types include:\n- text/plain - for a plain log file\n",
            "type": "string"
          },
          "info": {
            "description": "Localized description of log file.\n",
            "$ref": "#/components/schemas/Description"
          }
        },
        "required": [
          "key",
          "fileName",
          "creator",
          "format",
          "mimeType",
          "info"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDiagnosticManagerLogDescriptor": {
        "type": "object",
        "description": "A boxed array of *DiagnosticManagerLogDescriptor*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiagnosticManagerLogDescriptor"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiagnosticManagerLogHeader": {
        "type": "object",
        "description": "A header that is returned with a set of log entries.\n\nThis header describes where entries are located in the log file. Log\nfiles typically grow dynamically, so indexes based on line numbers may\nbecome inaccurate.\n",
        "properties": {
          "lineStart": {
            "description": "The first line of this log segment.\n",
            "type": "integer",
            "format": "int32"
          },
          "lineEnd": {
            "description": "The last line of this log segment.\n",
            "type": "integer",
            "format": "int32"
          },
          "lineText": {
            "description": "Log entries, listed by line, for this log segment.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "lineStart",
          "lineEnd"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDiagnosticManagerLogHeader": {
        "type": "object",
        "description": "A boxed array of *DiagnosticManagerLogHeader*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiagnosticManagerLogHeader"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSBackupRestoreCapability": {
        "type": "object",
        "description": "The *DVSBackupRestoreCapability* data object\ndescribes backup, restore, and rollback capabilities for distributed virtual\nswitches and distributed virtual portgroups.\n\nBackup and restore capabilities are indicated for *DistributedVirtualSwitch*.\nRollback capability is indicated for *DistributedVirtualSwitch*\nand *DistributedVirtualPortgroup*.\n",
        "properties": {
          "backupRestoreSupported": {
            "description": "Indicates whether backup, restore, and rollback are supported.\n",
            "type": "boolean"
          }
        },
        "required": [
          "backupRestoreSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSBackupRestoreCapability": {
        "type": "object",
        "description": "A boxed array of *DVSBackupRestoreCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSBackupRestoreCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSCapability": {
        "type": "object",
        "description": "The *DVSCapability* data object\ndescribes the distributed virtual switch features and indicates\nthe level of configuration that is allowed.\n",
        "properties": {
          "dvsOperationSupported": {
            "description": "Indicates whether this switch allows vCenter users to modify\nthe switch configuration at the switch level,\nexcept for host member, policy, and scope operations.\n",
            "type": "boolean"
          },
          "dvPortGroupOperationSupported": {
            "description": "Indicates whether this switch allows vCenter users to modify\nthe switch configuration at the portgroup level,\nexcept for host member, policy, and scope operations.\n",
            "type": "boolean"
          },
          "dvPortOperationSupported": {
            "description": "Indicates whether this switch allows vCenter users to modify\nthe switch configuration at the port level,\nexcept for host member, policy, and scope operations.\n",
            "type": "boolean"
          },
          "compatibleHostComponentProductInfo": {
            "description": "List of host component product information that is compatible\nwith the current switch implementation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostProductSpec"
            }
          },
          "featuresSupported": {
            "description": "Indicators for which version-specific distributed virtual switch\nfeatures are available on this switch.\n\nThis information is read-only, with the following exception.\nFor a third-party distributed switch implementation, you can\nset the property\n*DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported*\nduring switch creation or when you call the\n*DistributedVirtualSwitch.UpdateDvsCapability* method.\n",
            "$ref": "#/components/schemas/DVSFeatureCapability"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSCapability": {
        "type": "object",
        "description": "A boxed array of *DVSCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSConfigInfo": {
        "type": "object",
        "description": "Configuration of a *DistributedVirtualSwitch*.\n",
        "properties": {
          "uuid": {
            "description": "Generated UUID of the switch.\n\nUnique across vCenter Server\ninventory and instances.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the switch.\n",
            "type": "string"
          },
          "numStandalonePorts": {
            "description": "Number of standalone ports in the switch.\n\nStandalone ports are\nports that do not belong to any portgroup.\n",
            "type": "integer",
            "format": "int32"
          },
          "numPorts": {
            "description": "Current number of ports, not including conflict ports.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxPorts": {
            "description": "Maximum number of ports allowed in the switch,\nnot including conflict ports.\n",
            "type": "integer",
            "format": "int32"
          },
          "uplinkPortPolicy": {
            "description": "Uplink port policy.\n",
            "$ref": "#/components/schemas/DVSUplinkPortPolicy"
          },
          "uplinkPortgroup": {
            "description": "List of uplink portgroups.\n\nWhen adding host members, the server\nuses the *DVSConfigInfo.uplinkPortPolicy* to create a number of\nuplink ports for the host. If portgroups are shown here,\nthose uplink ports will be added to the portgroups, with uplink ports\nevenly spread among the portgroups.\n\nRefers instances of *DistributedVirtualPortgroup*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "defaultPortConfig": {
            "description": "Default configuration for the ports in the switch, if the port\ndoes not inherit configuration from the parent portgroup or has\nits own configuration.\n",
            "$ref": "#/components/schemas/DVPortSetting"
          },
          "host": {
            "description": "Hosts that join the switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMember"
            }
          },
          "productInfo": {
            "description": "Vendor, product, and version information for the implementation\nmodule of the switch.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          },
          "targetInfo": {
            "description": "Intended vendor, product, and version information for the\nimplementation module of the switch.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          },
          "extensionKey": {
            "description": "Key of the extension registered by the remote server that\ncontrols the switch.\n",
            "type": "string"
          },
          "vendorSpecificConfig": {
            "description": "Opaque binary blob that stores vendor specific configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchKeyedOpaqueBlob"
            }
          },
          "policy": {
            "description": "Usage policy of the switch.\n",
            "$ref": "#/components/schemas/DVSPolicy"
          },
          "description": {
            "description": "Description string for the switch.\n",
            "type": "string"
          },
          "configVersion": {
            "description": "Version string of the configuration.\n",
            "type": "string"
          },
          "contact": {
            "description": "Human operator contact information.\n",
            "$ref": "#/components/schemas/DVSContactInfo"
          },
          "switchIpAddress": {
            "description": "IP address for the switch, specified using IPv4 dot notation.\n\nThe\nutility of this address is defined by other switch features.\n",
            "type": "string"
          },
          "createTime": {
            "description": "Create time of the switch.\n",
            "type": "string",
            "format": "date-time"
          },
          "networkResourceManagementEnabled": {
            "description": "Boolean to indicate if network I/O control is enabled on the\nswitch.\n",
            "type": "boolean"
          },
          "defaultProxySwitchMaxNumPorts": {
            "description": "Default host proxy switch maximum port number\n",
            "type": "integer",
            "format": "int32"
          },
          "healthCheckConfig": {
            "description": "VDS health check configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSHealthCheckConfig"
            }
          },
          "infrastructureTrafficResourceConfig": {
            "description": "Host infrastructure traffic class resource configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostInfrastructureTrafficResource"
            }
          },
          "netResourcePoolTrafficResourceConfig": {
            "description": "Dynamic Host infrastructure traffic class resource configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostInfrastructureTrafficResource"
            }
          },
          "networkResourceControlVersion": {
            "description": "Network resource control version of the switch.\n\nPossible value can be of\n*DistributedVirtualSwitchNetworkResourceControlVersion_enum*.\n",
            "type": "string"
          },
          "vmVnicNetworkResourcePool": {
            "description": "The Virtual NIC network resource pool information for the switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSVmVnicNetworkResourcePool"
            }
          },
          "pnicCapacityRatioForReservation": {
            "description": "The percentage of physical nic link speed\n*PhysicalNicLinkInfo.speedMb*\navailable for infrastructure traffic reservation.\n\nIf this value is 75, then for a 1Gbps physical nic, only\n750Mbps is allowed for all infrastructure traffic reservations.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "uuid",
          "name",
          "numStandalonePorts",
          "numPorts",
          "maxPorts",
          "uplinkPortPolicy",
          "defaultPortConfig",
          "productInfo",
          "configVersion",
          "contact",
          "createTime",
          "networkResourceManagementEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSConfigInfo": {
        "type": "object",
        "description": "A boxed array of *DVSConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSConfigSpec": {
        "type": "object",
        "description": "The *DVSConfigSpec*\ndata object contains configuration data for a\n*DistributedVirtualSwitch*.\n\nUse the *DistributedVirtualSwitch.ReconfigureDvs_Task*\nmethod to apply the configuration to the\nswitch.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "configVersion": {
            "description": "The version string of the configuration that this spec is trying to\nchange.\n\nThis property is required in reconfiguring a switch\nand should be set to the same value as\n*DVSConfigInfo.configVersion*.\nThis property is ignored during switch creation.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the switch.\n\nMust be unique in the parent folder.\n",
            "type": "string"
          },
          "numStandalonePorts": {
            "description": "The number of standalone ports in the switch.\n\nStandalone ports are\nports that do not belong to any portgroup. If set to a number larger\nthan number of existing standalone ports in the switch, new ports get\ncreated to meet the number. If set to a number smaller than the number\nof existing standalone ports, free ports (uplink ports excluded) are\ndeleted to meet the number. If the set number cannot be met by\ndeleting free standalone ports, a fault is raised.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxPorts": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0\nThe default value of this propoerty is maxint and there is no reason\nfor users to change it to a lower value.\n\nThe maximum number of DistributedVirtualPorts allowed in the switch.\n\nIf specified in a reconfigure operation, this number cannot be smaller\nthan the number of existing DistributedVirtualPorts.\n",
            "type": "integer",
            "format": "int32"
          },
          "uplinkPortPolicy": {
            "description": "The uplink port policy.\n",
            "$ref": "#/components/schemas/DVSUplinkPortPolicy"
          },
          "uplinkPortgroup": {
            "description": "The uplink portgroups.\n\nRefers instances of *DistributedVirtualPortgroup*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "defaultPortConfig": {
            "description": "The default configuration for ports.\n",
            "$ref": "#/components/schemas/DVPortSetting"
          },
          "host": {
            "description": "The host member specification.\n\nA particular host should have only one entry\nin this array. Duplicate entries for the same host will raise a fault.\nThe host version should be compatible with the version of\n*DistributedVirtualSwitch*. Use\n*DistributedVirtualSwitchManager.QueryDvsCheckCompatibility*\nto check for compatibility.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberConfigSpec"
            }
          },
          "extensionKey": {
            "description": "The key of the extension registered by a remote server that\ncontrols the switch.\n",
            "type": "string"
          },
          "description": {
            "description": "Set the description string of the switch.\n",
            "type": "string"
          },
          "policy": {
            "description": "The usage policy of the switch.\n",
            "$ref": "#/components/schemas/DVSPolicy"
          },
          "vendorSpecificConfig": {
            "description": "Set the opaque blob that stores vendor specific configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchKeyedOpaqueBlob"
            }
          },
          "contact": {
            "description": "Set the human operator contact information.\n",
            "$ref": "#/components/schemas/DVSContactInfo"
          },
          "switchIpAddress": {
            "description": "IP address for the switch, specified using IPv4 dot notation.\n\nIPv6 address is not supported for this property.\nThe utility of this address is defined by other switch features.\nswitchIpAddress would be ignored when IPFIX collector uses IPv6.\n",
            "type": "string"
          },
          "defaultProxySwitchMaxNumPorts": {
            "description": "The default host proxy switch maximum port number\n",
            "type": "integer",
            "format": "int32"
          },
          "infrastructureTrafficResourceConfig": {
            "description": "The host infrastructure traffic resource allocation specification.\n\nOnly the traffic class resource allocations identified in the list\nwill be updated. The other traffic class resource allocations that are not\nspecified will not change.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostInfrastructureTrafficResource"
            }
          },
          "netResourcePoolTrafficResourceConfig": {
            "description": "The dynamic host infrastructure traffic resource allocation\nspecification.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostInfrastructureTrafficResource"
            }
          },
          "networkResourceControlVersion": {
            "description": "Indicates the Network Resource Control APIs that are supported on the switch.\n\nPossible value can be of\n*DistributedVirtualSwitchNetworkResourceControlVersion_enum*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSConfigSpec": {
        "type": "object",
        "description": "A boxed array of *DVSConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSContactInfo": {
        "type": "object",
        "description": "Contact information of a human operator.\n",
        "properties": {
          "name": {
            "description": "The name of the person who is responsible for the switch.\n",
            "type": "string"
          },
          "contact": {
            "description": "The contact information for the person.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSContactInfo": {
        "type": "object",
        "description": "A boxed array of *DVSContactInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSContactInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSCreateSpec": {
        "type": "object",
        "description": "Specification to create a *DistributedVirtualSwitch*.\n",
        "properties": {
          "configSpec": {
            "description": "Configuration data.\n",
            "$ref": "#/components/schemas/DVSConfigSpec"
          },
          "productInfo": {
            "description": "Product information for this switch implementation.\n\nIf you\ndo not specify this property, the Server will use the latest\nversion to create the *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          },
          "capability": {
            "description": "Capability of the switch.\n",
            "$ref": "#/components/schemas/DVSCapability"
          }
        },
        "required": [
          "configSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSCreateSpec": {
        "type": "object",
        "description": "A boxed array of *DVSCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFeatureCapability": {
        "type": "object",
        "description": "The *DVSFeatureCapability* data object\nrepresents the capabilities supported by a\n*DistributedVirtualSwitch*.\n\nThese properties are read-only with\nthe exception of\n*DVSFeatureCapability.vmDirectPathGen2Supported*.\n",
        "properties": {
          "networkResourceManagementSupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0, use\n<code>networkResourceManagementCapability</code>.*DVSNetworkResourceManagementCapability.networkResourceManagementSupported*.\n\nIndicates whether network I/O control is\nsupported on the vSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "vmDirectPathGen2Supported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nIndicates whether VMDirectPath Gen 2 is supported on the\ndistributed virtual switch.\n\nSee\n*HostCapability*.*HostCapability.vmDirectPathGen2Supported*\nand *PhysicalNic*.*PhysicalNic.vmDirectPathGen2Supported*.\n\nFor a third-party distributed switch implementation, you can\nspecify this property during switch creation or when you call the\n*DistributedVirtualSwitch.UpdateDvsCapability* method.\n\nVMDirectPath Gen 2 is supported in\nvSphere Distributed Switch Version 4.1 or later.\n",
            "type": "boolean"
          },
          "nicTeamingPolicy": {
            "description": "The available teaming modes for the vSphere Distributed Switch.\n\nThe\nvalue can be one or more of\n*DistributedVirtualSwitchNicTeamingPolicyMode_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "networkResourcePoolHighShareValue": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0, use\n<code>networkResourceManagementCapability</code>.*DVSNetworkResourceManagementCapability.networkResourcePoolHighShareValue*.\n\nThis is the value for *high*\nin *DVSNetworkResourcePoolAllocationInfo.shares*.\n\nThis\nimplicitly defines the legal range of share values to be between 1 and this.\nThis also defines values for other level types, such as\n*normal* being one half of this value and\n*low* being one fourth of this value.\n",
            "type": "integer",
            "format": "int32"
          },
          "networkResourceManagementCapability": {
            "description": "Network resource management capabilities supported by a\ndistributed virtual switch.\n",
            "$ref": "#/components/schemas/DVSNetworkResourceManagementCapability"
          },
          "healthCheckCapability": {
            "description": "Health check capabilities supported by a *VmwareDistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/DVSHealthCheckCapability"
          },
          "rollbackCapability": {
            "description": "Host rollback capability.\n\nIf <code>rollbackCapability</code>.*DVSRollbackCapability.rollbackSupported*\nis true, network operations that disconnect the the host are rolled back.\n",
            "$ref": "#/components/schemas/DVSRollbackCapability"
          },
          "backupRestoreCapability": {
            "description": "Backup, restore, and rollback capabilities.\n\nBackup and restore\nare supported only for *VmwareDistributedVirtualSwitch*.\nRollback is supported for *VmwareDistributedVirtualSwitch*\nand *DistributedVirtualPortgroup*.\nFor information about backup and restore, see the\n*DistributedVirtualSwitchManager* methods\n*DistributedVirtualSwitchManager.DVSManagerExportEntity_Task* and\n*DistributedVirtualSwitchManager.DVSManagerImportEntity_Task*.\nFor information about rollback, see the\n*DistributedVirtualSwitch*.*DistributedVirtualSwitch.DVSRollback_Task*\nand *DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.DVPortgroupRollback_Task*\nmethods.\n",
            "$ref": "#/components/schemas/DVSBackupRestoreCapability"
          },
          "networkFilterSupported": {
            "description": "Indicates whether Network Filter feature is\nsupported in vSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "macLearningSupported": {
            "description": "Indicates whether MAC learning feature is\nsupported in vSphere Distributed Switch.\n",
            "type": "boolean"
          }
        },
        "required": [
          "networkResourceManagementSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSFeatureCapability": {
        "type": "object",
        "description": "A boxed array of *DVSFeatureCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFeatureCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSHealthCheckConfig": {
        "type": "object",
        "description": "The *DVSHealthCheckConfig* data object\ndefines vSphere Distributed Switch health check configuration.\n",
        "properties": {
          "enable": {
            "description": "True if enable health check.\n",
            "type": "boolean"
          },
          "interval": {
            "description": "Interval of health check, in minutes.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSHealthCheckConfig": {
        "type": "object",
        "description": "A boxed array of *DVSHealthCheckConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSHealthCheckConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSHealthCheckCapability": {
        "type": "object",
        "description": "Health check capabilities of health check supported by the\nvSphere Distributed Switch\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSHealthCheckCapability": {
        "type": "object",
        "description": "A boxed array of *DVSHealthCheckCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSHealthCheckCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsHostInfrastructureTrafficResource": {
        "type": "object",
        "description": "This class defines the resource allocation for a host infrastructure\ntraffic class on a physical NIC\n",
        "properties": {
          "key": {
            "description": "The key of the host infrastructure resource.\n\nPossible value can be of\n*DistributedVirtualSwitchHostInfrastructureTrafficClass_enum*.\n",
            "type": "string"
          },
          "description": {
            "description": "The description of the host infrastructure resource.\n\nThis property is ignored for update operation.\n",
            "type": "string"
          },
          "allocationInfo": {
            "description": "The allocation settings of the host infrastructure resource.\n",
            "$ref": "#/components/schemas/DvsHostInfrastructureTrafficResourceAllocation"
          }
        },
        "required": [
          "key",
          "allocationInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsHostInfrastructureTrafficResource": {
        "type": "object",
        "description": "A boxed array of *DvsHostInfrastructureTrafficResource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostInfrastructureTrafficResource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsHostInfrastructureTrafficResourceAllocation": {
        "type": "object",
        "description": "Resource allocation information for a\nhost infrastructure traffic class.\n",
        "properties": {
          "limit": {
            "description": "The maximum allowed usage for a traffic class belonging to\nthis resource pool per host physical NIC.\n\nThe utilization of a traffic class will not exceed the specified limit\neven if there are available network resources. If this value is unset\nor set to -1 in an update operation, then there is no limit on the network\nresource usage (only bounded by available resource and shares).\nUnits are in Mbits/sec.\n",
            "type": "integer",
            "format": "int64"
          },
          "shares": {
            "description": "Network share.\n\nThe value is used as a relative weight in competing for\nshared bandwidth, in case of resource contention.\n",
            "$ref": "#/components/schemas/SharesInfo"
          },
          "reservation": {
            "description": "Amount of bandwidth resource that is guaranteed available\nto the host infrastructure traffic class.\n\nIf the utilization is less than the reservation, the extra bandwidth\nis used for other host infrastructure traffic class types. Reservation is not\nallowed to exceed the value of\n*DvsHostInfrastructureTrafficResourceAllocation.limit*, if\n*DvsHostInfrastructureTrafficResourceAllocation.limit* is set.\nUnit is Mbits/sec.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsHostInfrastructureTrafficResourceAllocation": {
        "type": "object",
        "description": "A boxed array of *DvsHostInfrastructureTrafficResourceAllocation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostInfrastructureTrafficResourceAllocation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSNameArrayUplinkPortPolicy": {
        "type": "object",
        "description": "The uplink port policy specifies an array of uniform names\nfor the uplink ports across the hosts.\n\nThe size of the array indicates\nthe number of uplink ports that will be created for each host in the\nswitch.\n\nWhen the names in this array change, the uplink ports on all the\nhosts are automatically renamed accordingly. Increasing the number\nof names in the array automatically creates additional uplink ports\nbearing the added name on each host. Decreasing the number of name\nautomatically deletes the unused uplink ports on each host. Decreasing\nbeyond the number of unused uplink port raises a fault.\n\nThis policy overrides the portgroup port naming format\n(*DVPortgroupConfigSpec*.*DVPortgroupConfigSpec.portNameFormat*),\nif both are defined and the uplink ports are created in a uplink portgroup.\n",
        "properties": {
          "uplinkPortName": {
            "description": "The uniform name of uplink ports on each host.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "uplinkPortName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSUplinkPortPolicy"
          }
        ]
      },
      "ArrayOfDVSNameArrayUplinkPortPolicy": {
        "type": "object",
        "description": "A boxed array of *DVSNameArrayUplinkPortPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSNameArrayUplinkPortPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSNetworkResourceManagementCapability": {
        "type": "object",
        "description": "Dataobject representing the feature capabilities of network resource management\nsupported by the vSphere Distributed Switch.\n",
        "properties": {
          "networkResourceManagementSupported": {
            "description": "Indicates whether network I/O control is\nsupported on the vSphere Distributed Switch.\n\nNetwork I/O control\nis supported in vSphere Distributed Switch Version 4.1 or later.\n",
            "type": "boolean"
          },
          "networkResourcePoolHighShareValue": {
            "description": "High share level (*SharesLevel_enum*.*high*)\nfor *DVSNetworkResourcePoolAllocationInfo*.*DVSNetworkResourcePoolAllocationInfo.shares*.\n\nThe <code>networkResourcePoolHighshareValue</code> property implicitly defines\nthe legal range of share values to be between 1 and this value.\nThis property also defines values for other level types, such as\n*normal* being one half of this value and\n*low* being one fourth of this value.\nThis feature is supported in vSphere Distributed\nSwitch Version 4.1 or later.\n",
            "type": "integer",
            "format": "int32"
          },
          "qosSupported": {
            "description": "Indicates whether Qos Tag(802.1p priority tag)is supported on the\nvSphere Distributed Switch.\n\nQos Tag is supported in vSphere\nDistributed Switch Version 5.0 or later.\n",
            "type": "boolean"
          },
          "userDefinedNetworkResourcePoolsSupported": {
            "description": "Indicates whether the switch supports creating user defined resource\npools.\n\nThis feature is supported in vSphere Distributed\nSwitch Version 5.0 or later.\n",
            "type": "boolean"
          },
          "networkResourceControlVersion3Supported": {
            "description": "Flag to indicate whether Network Resource Control version 3 is supported.\n\nThe API supported by Network Resouce Control version 3 include:\n1. VM virtual NIC network resource specification\n   *VirtualEthernetCardResourceAllocation*\n2. VM virtual NIC network resource pool specification\n   *DVSVmVnicNetworkResourcePool*\n3. Host infrastructure traffic network resource specification\n   *DvsHostInfrastructureTrafficResource*\n   \nNetwork Resource Control version 3 is supported for Switch Version 6.0 or later.\n",
            "type": "boolean"
          },
          "userDefinedInfraTrafficPoolSupported": {
            "description": "Indicates whether user defined infrastructure traffic pool\nsupported in vSphere Distributed Switch.\n",
            "type": "boolean"
          }
        },
        "required": [
          "networkResourceManagementSupported",
          "networkResourcePoolHighShareValue",
          "qosSupported",
          "userDefinedNetworkResourcePoolsSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSNetworkResourceManagementCapability": {
        "type": "object",
        "description": "A boxed array of *DVSNetworkResourceManagementCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSNetworkResourceManagementCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsResourceRuntimeInfo": {
        "type": "object",
        "description": "This class defines the bandwidth reservation information for the\nvSphere Distributed Switch.\n",
        "properties": {
          "capacity": {
            "description": "Capacity: Total Reservation allocated for Virtual Machine\nTraffic for this switch.\n\nUnits in Mbits/s.\n",
            "type": "integer",
            "format": "int32"
          },
          "usage": {
            "description": "usage: Current total usage.\n\nThis is the sum of all reservations\nallocated to *DVSVmVnicNetworkResourcePool* on this switch and the\nsum of reservation taken by *VirtualEthernetCard* whose\nbacking is not associdated with any *DVSVmVnicNetworkResourcePool*.\nUnits in Mbits/s.\n",
            "type": "integer",
            "format": "int32"
          },
          "available": {
            "description": "Available: Current available resource for reservation (capacity - usage).\n\nUnits in Mbits/s.\n",
            "type": "integer",
            "format": "int32"
          },
          "allocatedResource": {
            "description": "The reservation taken by *VirtualEthernetCard* of which the\nbacking is not associdated with any *DVSVmVnicNetworkResourcePool*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsVnicAllocatedResource"
            }
          },
          "vmVnicNetworkResourcePoolRuntime": {
            "description": "The runtime information of *DVSVmVnicNetworkResourcePool*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsVmVnicNetworkResourcePoolRuntimeInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsResourceRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *DvsResourceRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsResourceRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSRollbackCapability": {
        "type": "object",
        "description": "The *DVSRollbackCapability* data object\ndescribes the rollback capabilities for a *DistributedVirtualSwitch*.\n",
        "properties": {
          "rollbackSupported": {
            "description": "Indicates whether rollback is supported on the distributed switch.\n",
            "type": "boolean"
          }
        },
        "required": [
          "rollbackSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSRollbackCapability": {
        "type": "object",
        "description": "A boxed array of *DVSRollbackCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSRollbackCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSRuntimeInfo": {
        "type": "object",
        "description": "The *DVSRuntimeInfo* data object defines\nruntime information for a vSphere Distributed Switch.\n",
        "properties": {
          "hostMemberRuntime": {
            "description": "Runtime information of the hosts that joined the switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMemberRuntimeInfo"
            }
          },
          "resourceRuntimeInfo": {
            "description": "The bandwidth reservation information for the switch.\n",
            "$ref": "#/components/schemas/DvsResourceRuntimeInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *DVSRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSSummary": {
        "type": "object",
        "description": "Summary of the distributed switch configuration.\n",
        "properties": {
          "name": {
            "description": "The name of the switch.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The generated UUID of the switch.\n",
            "type": "string"
          },
          "numPorts": {
            "description": "Current number of ports, not including conflict ports.\n",
            "type": "integer",
            "format": "int32"
          },
          "productInfo": {
            "description": "The product information for the implementation of the switch.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          },
          "hostMember": {
            "description": "The names of the hosts that join the switch.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "vm": {
            "description": "The Virtual Machines with Virtual NICs that connect to the switch.\n\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "host": {
            "description": "The hosts with Virtual NICs that connect to the switch.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "portgroupName": {
            "description": "The names of the portgroups that are defined on the switch.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "description": "A description string of the switch.\n",
            "type": "string"
          },
          "contact": {
            "description": "The human operator contact information.\n",
            "$ref": "#/components/schemas/DVSContactInfo"
          },
          "numHosts": {
            "description": "The number of hosts in the switch.\n\nThe value of this property\nis not affected by the privileges granted to the current user.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "name",
          "uuid",
          "numPorts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSSummary": {
        "type": "object",
        "description": "A boxed array of *DVSSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSPolicy": {
        "type": "object",
        "description": "The switch usage policy types\n",
        "properties": {
          "autoPreInstallAllowed": {
            "description": "Whether downloading a new proxy VirtualSwitch module to the host is\nallowed to be automatically executed by the switch.\n",
            "type": "boolean"
          },
          "autoUpgradeAllowed": {
            "description": "Whether upgrading of the switch is allowed to be automatically\nexecuted by the switch.\n",
            "type": "boolean"
          },
          "partialUpgradeAllowed": {
            "description": "Whether to allow upgrading a switch when some of the hosts failed to\ninstall the needed module.\n\nThe vCenter Server will reattempt the\npre-install operation of the host module on those failed hosts,\nwhenever they reconnect to vCenter.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSPolicy": {
        "type": "object",
        "description": "A boxed array of *DVSPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSUplinkPortPolicy": {
        "type": "object",
        "description": "The base class for uplink port policy.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSUplinkPortPolicy": {
        "type": "object",
        "description": "A boxed array of *DVSUplinkPortPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSUplinkPortPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCMode": {
        "type": "object",
        "description": "The *EVCMode* data object describes an Enhanced vMotion Compatibility mode.\n\nAn EVC mode is associated with a set of CPU features. A vCenter Server defines\nthe available EVC modes. You use them to establish a common set of features\nfor compatibility between hosts in a cluster. An EVC-enabled cluster supports\nsafe vMotion of virtual machines across a range of CPU generations.\nYou must use the vSphere Client to configure EVC.\n\nWhen you add a host to an EVC-enabled cluster, the vCenter Server determines\nthe CPU compatibility to preserve vMotion compatibility within the cluster.\nIf the host CPU is compatible with those already in the cluster, the Server\nadds the host to the cluster and configures it for compatible operation.\nHosts that are not compatible are not allowed to join the cluster.\n\nThe inherited *ElementDescription.key* property is a string value\nthat uniquely identifies an EVC mode. The vCenter Server assigns\nthe key value; the vSphere API uses the key to identify modes\nin summary and information objects:\n- *ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCModeKey*\n- *HostListSummary*.*HostListSummary.currentEVCModeKey*\n- *HostListSummary*.*HostListSummary.maxEVCModeKey*\n- *VirtualMachineRuntimeInfo*.*VirtualMachineRuntimeInfo.minRequiredEVCModeKey*\n  \nThe inherited *Description.label* and *Description.summary*\nproperties are human-readable strings.\n\nYou can use the *EVCMode.track* and *EVCMode.vendorTier* properties to determine\nfeature-superset relationships between modes without examining the\nindividual feature bits in *EVCMode.guaranteedCPUFeatures*.\nThe CPU feature baseline of mode A is a superset of mode B's baseline\nif and only if:\n- modeA.track is the same as or a superset of modeB.track\n- modeA.vendorTier is equal to or greater than modeB.vendorTier\n  \nUse the *EVCMode.track* and *EVCMode.vendorTier* properties only for the\npurpose of feature-superset calculations as described above. Do not use\nthem to infer the presence or absence of specific features. The\nproperty values for a given mode may change across releases\nas the set of available EVC modes changes, to better represent mode\nrelationships.\n",
        "properties": {
          "guaranteedCPUFeatures": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5 use *EVCMode.featureCapability*.\n\nDescribes the CPU feature baseline associated with the EVC mode.\n\nOn the cluster where a particular EVC mode is configured,\nthose CPU features are guaranteed, either because the host\nhardware naturally matches those features or because CPU feature override\nis used to mask out differences and enforce a match.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuIdInfo"
            }
          },
          "featureCapability": {
            "description": "Describes the feature capability baseline associated with the EVC mode.\n\nOn the cluster where a particular EVC mode is configured,\nthese features capabilities are guaranteed, either because the host\nhardware naturally matches those features or because feature masks\nare used to mask out differences and enforce a match.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureCapability"
            }
          },
          "featureMask": {
            "description": "The masks (modifications to a host's feature capabilities) that limit a\nhost's capabilities to that of the EVC mode baseline.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureMask"
            }
          },
          "featureRequirement": {
            "description": "The conditions that must be true of a host's feature capabilities in order\nfor the host to meet the minimum requirements of the EVC mode baseline.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFeatureRequirement"
            }
          },
          "vendor": {
            "description": "CPU hardware vendor required for this mode.\n",
            "type": "string"
          },
          "track": {
            "description": "Identifiers for feature groups that are at least partially present in\nthe *EVCMode.guaranteedCPUFeatures* array for this mode.\n\nUse this property to compare track values from two modes.\nDo not use this property to determine the presence or absence of\nspecific features.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vendorTier": {
            "description": "Index for ordering the set of modes that apply to a given CPU vendor.\n\nUse this property to compare vendor tier values from two modes.\nDo not use this property to determine the presence or absence\nof specific features.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vendor",
          "track",
          "vendorTier"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ElementDescription"
          }
        ]
      },
      "ArrayOfEVCMode": {
        "type": "object",
        "description": "A boxed array of *EVCMode*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ElementDescription": {
        "type": "object",
        "description": "Static strings used for describing an object model string or enumeration.\n",
        "properties": {
          "key": {
            "description": "Enumeration or literal ID being described.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Description"
          }
        ]
      },
      "ArrayOfElementDescription": {
        "type": "object",
        "description": "A boxed array of *ElementDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EnumDescription": {
        "type": "object",
        "description": "Static strings used for describing an enumerated type.\n",
        "properties": {
          "key": {
            "description": "Type of enumeration being described.\n",
            "type": "string"
          },
          "tags": {
            "description": "Element descriptions of all the tags for that enumerated type.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          }
        },
        "required": [
          "key",
          "tags"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEnumDescription": {
        "type": "object",
        "description": "A boxed array of *EnumDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnumDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EnvironmentBrowserConfigOptionQuerySpec": {
        "type": "object",
        "description": "Represent search criteria and filters on a *VirtualMachineConfigOption*\nobject.\n",
        "properties": {
          "key": {
            "description": "The key found in the VirtualMachineConfigOptionDescriptor,\nobtained by invoking the\n*EnvironmentBrowser.QueryConfigOptionDescriptor* operation.\n",
            "type": "string"
          },
          "host": {
            "description": "The host whose ConfigOption is requested.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "guestId": {
            "description": "The Guest OS IDs whose *VirtualMachineConfigOption* is requested\n*GuestOsIdentifier*\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEnvironmentBrowserConfigOptionQuerySpec": {
        "type": "object",
        "description": "A boxed array of *EnvironmentBrowserConfigOptionQuerySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnvironmentBrowserConfigOptionQuerySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtendedDescription": {
        "type": "object",
        "properties": {
          "messageCatalogKeyPrefix": {
            "description": "Key to the localized message string in the catalog.\n\nIf the localized string contains parameters, values to the\nparameters will be provided in #messageArg.\nE.g: If the message in the catalog is\n\"IP address is {address}\", value for \"address\"\nwill be provided by #messageArg.\nBoth summary and label in Description will have a corresponding\nentry in the message catalog with the keys\n&lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label\nrespectively.\nDescription.summary and Description.label will contain\nthe strings in server locale.\n",
            "type": "string"
          },
          "messageArg": {
            "description": "Provides named arguments that can be used to localize the\nmessage in the catalog.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "messageCatalogKeyPrefix"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Description"
          }
        ]
      },
      "ArrayOfExtendedDescription": {
        "type": "object",
        "description": "A boxed array of *ExtendedDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtendedElementDescription": {
        "type": "object",
        "properties": {
          "messageCatalogKeyPrefix": {
            "description": "Key to the localized message string in the catalog.\n\nIf the localized string contains parameters, values to the\nparameters will be provided in #messageArg.\nE.g: If the message in the catalog is\n\"IP address is {address}\", value for \"address\"\nwill be provided by #messageArg.\nBoth summary and label in ElementDescription will have a corresponding\nentry in the message catalog with the keys\n&lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label\nrespectively.\nElementDescription.summary and ElementDescription.label will contain\nthe strings in server locale.\n",
            "type": "string"
          },
          "messageArg": {
            "description": "Provides named arguments that can be used to localize the\nmessage in the catalog.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "messageCatalogKeyPrefix"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ElementDescription"
          }
        ]
      },
      "ArrayOfExtendedElementDescription": {
        "type": "object",
        "description": "A boxed array of *ExtendedElementDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedElementDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Extension": {
        "type": "object",
        "description": "This data object type contains all information about an extension.\n\nAn extension may contain zero or more server interfaces and zero\nor more clients.\n",
        "properties": {
          "description": {
            "description": "Description of extension.\n",
            "$ref": "#/components/schemas/Description"
          },
          "key": {
            "description": "Extension key.\n\nShould follow java package naming conventions\nfor uniqueness (e.g. \"com.example.management\").\n\nExtension names can only contain characters belonging to the\nlower ASCII character set (UTF-7) with the exception of the\nfollowing characters:\n1. All whitespace characters (\"space\" - ascii character 0x20 is allowed)\n2. Control characters\n3. Comma (ascii 0x2c), Forward slash (ascii 0x2f), Backward slash (ascii 0x5c),\n   Hash/Pound (ascii 0x23), Plus (ascii 0x2b), Greater (ascii 0x3e), Lesser (ascii 0x3c),\n   Equals (ascii 0x3d), Semi-colon (ascii 0x3b) and Double quote (ascii 0x22).\n",
            "type": "string"
          },
          "company": {
            "description": "Company information.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of extension (example may include CP-DVS, NUOVA-DVS, etc.).\n",
            "type": "string"
          },
          "version": {
            "description": "Extension version number as a dot-separated string.\n\nFor example, \"1.0.0\"\n",
            "type": "string"
          },
          "subjectName": {
            "description": "Subject name from client certificate.\n",
            "type": "string"
          },
          "server": {
            "description": "Servers for this extension.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionServerInfo"
            }
          },
          "client": {
            "description": "Clients for this extension.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionClientInfo"
            }
          },
          "taskList": {
            "description": "Definitions of tasks defined by this extension.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionTaskTypeInfo"
            }
          },
          "eventList": {
            "description": "Definitions of events defined by this extension.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionEventTypeInfo"
            }
          },
          "faultList": {
            "description": "Definitions of faults defined by this extension.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionFaultTypeInfo"
            }
          },
          "privilegeList": {
            "description": "Definitions privileges defined by this extension.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionPrivilegeInfo"
            }
          },
          "resourceList": {
            "description": "Resource data for all locales\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionResourceInfo"
            }
          },
          "lastHeartbeatTime": {
            "description": "Last extension heartbeat time.\n",
            "type": "string",
            "format": "date-time"
          },
          "healthInfo": {
            "description": "Health specification provided by this extension.\n",
            "$ref": "#/components/schemas/ExtensionHealthInfo"
          },
          "ovfConsumerInfo": {
            "description": "OVF consumer specification provided by this extension.\n",
            "$ref": "#/components/schemas/ExtensionOvfConsumerInfo"
          },
          "extendedProductInfo": {
            "description": "Extended product information, such as URLs to vendor, product, etc.\n",
            "$ref": "#/components/schemas/ExtExtendedProductInfo"
          },
          "managedEntityInfo": {
            "description": "Information about entities managed by this extension.\n\nAn extension can\nregister virtual machines as managed by itself, by setting the\n*managedBy* property of the virtual\nmachine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtManagedEntityInfo"
            }
          },
          "shownInSolutionManager": {
            "description": "Opt-in to the Solution Manager.\n\nIf set to true, this extension will be\nshown in the Solution Manager. If not set, or set to false, this extension\nis not shown in the Solution Manager.\n",
            "type": "boolean"
          },
          "solutionManagerInfo": {
            "description": "Solution Manager configuration for this extension.\n",
            "$ref": "#/components/schemas/ExtSolutionManagerInfo"
          }
        },
        "required": [
          "description",
          "key",
          "version",
          "lastHeartbeatTime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtension": {
        "type": "object",
        "description": "A boxed array of *Extension*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Extension"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionClientInfo": {
        "type": "object",
        "description": "This data object type describes a client of the extension.\n",
        "properties": {
          "version": {
            "description": "Client version number as a dot-separated string.\n\nFor example, \"1.0.0\"\n",
            "type": "string"
          },
          "description": {
            "description": "Description of client.\n",
            "$ref": "#/components/schemas/Description"
          },
          "company": {
            "description": "Company information.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of client (examples may include win32, .net, linux, etc.).\n",
            "type": "string"
          },
          "url": {
            "description": "Plugin url.\n",
            "type": "string"
          }
        },
        "required": [
          "version",
          "description",
          "company",
          "type",
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionClientInfo": {
        "type": "object",
        "description": "A boxed array of *ExtensionClientInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionClientInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionEventTypeInfo": {
        "type": "object",
        "description": "This data object type describes event types defined by the extension.\n",
        "properties": {
          "eventID": {
            "description": "The ID of the event type.\n\nShould follow java package\nnaming conventions for uniqueness.\n",
            "type": "string"
          },
          "eventTypeSchema": {
            "description": "Optional XML descriptor for the EventType.\n\nThe structure of this descriptor is:\n\n     <EventType>\n       <eventTypeID>eventID</eventTypeID>\n       <description>Optional description for event eventID</description>\n       <-- Optional arguments: -->\n       <arguments>\n          <-- Zero or more of: -->\n          <argument>\n            <name>argName</name>\n            <type>argtype</name>\n          </argument>\n       </arguments>\n     </EventType>\nwhere _argtype_ can be one of the following:\n- This is an example list and should be considered as incomplete.\n<!-- -->\n- Primitive types:\n  - _string_\n  - _bool_\n  - _int_\n  - _long_\n  - _float_\n  - _moid_\n- Entity reference types:\n  - _vm_\n  - _host_\n  - _resourcepool_\n  - _computeresource_\n  - _datacenter_\n  - _datastore_\n  - _network_\n  - _dvs_\n",
            "type": "string"
          }
        },
        "required": [
          "eventID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionEventTypeInfo": {
        "type": "object",
        "description": "A boxed array of *ExtensionEventTypeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionEventTypeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionFaultTypeInfo": {
        "type": "object",
        "description": "This data object type describes fault types defined by the extension.\n",
        "properties": {
          "faultID": {
            "description": "The ID of the fault type.\n\nShould follow java package\nnaming conventions for uniqueness.\n",
            "type": "string"
          }
        },
        "required": [
          "faultID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionFaultTypeInfo": {
        "type": "object",
        "description": "A boxed array of *ExtensionFaultTypeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionFaultTypeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionHealthInfo": {
        "type": "object",
        "description": "This data object encapsulates the health specification for the\nextension.\n",
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionHealthInfo": {
        "type": "object",
        "description": "A boxed array of *ExtensionHealthInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionHealthInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionOvfConsumerInfo": {
        "type": "object",
        "description": "This data object contains configuration for extensions that also extend the OVF\nfunctionality of vCenter server.\n\n**Note:** This feature is for internal use only.\n",
        "properties": {
          "callbackUrl": {
            "description": "Callback url for the OVF consumer.\n\nThis URL must point to a SOAP API\nimplementing the OVF consumer interface.\n\nExample: https://extension-host:8081/\n\nThis callback is for internal use only.\n",
            "type": "string"
          },
          "sectionType": {
            "description": "A list of fully qualified OVF section types that this consumer handles.\n\nFully qualified means that each section type must be prefixed with its namespace\nenclosed in curly braces. See the examples below.\n\nAn InvalidArgument error is thrown if there is overlap between OVF consumers,\nmeaning that the same section type appears in the sectionType list of more than\none OVF consumer.\n\nExample: \\[ \"{http://www.vmware.com/schema/vServiceManager}vServiceDependency\",\n\"{http://www.vmware.com/schema/vServiceManager}vServiceBinding\" \\]\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "callbackUrl",
          "sectionType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionOvfConsumerInfo": {
        "type": "object",
        "description": "A boxed array of *ExtensionOvfConsumerInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionOvfConsumerInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionPrivilegeInfo": {
        "type": "object",
        "description": "This data object type describes privileges defined by the extension.\n",
        "properties": {
          "privID": {
            "description": "The ID of the privilege.\n\nThe format should be\n&quot;&lt;group name&gt;.&lt;privilege name&gt;&quot;.\nThe group name should be the same as the privGroupName\nproperty.\n\nThe privilege name should follow java package naming\nconventions for uniqueness. The set of characters allowed\nfollow the same rules as *Extension.key*.\n",
            "type": "string"
          },
          "privGroupName": {
            "description": "Hierarchical group name.\n\nEach level of the grouping hierarchy is\nseparated by a \".\" so group names may not include a \".\".\n*AuthorizationPrivilege.privGroupName*.\n",
            "type": "string"
          }
        },
        "required": [
          "privID",
          "privGroupName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionPrivilegeInfo": {
        "type": "object",
        "description": "A boxed array of *ExtensionPrivilegeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionPrivilegeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionResourceInfo": {
        "type": "object",
        "description": "This data object encapsulates the message resources for all locales.\n",
        "properties": {
          "locale": {
            "type": "string"
          },
          "module": {
            "description": "Module for a resource type and other message or fault resources.\n\nExamples: \"task\" for task, \"event\" for event and \"auth\" for \"privilege\".\n",
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "locale",
          "module",
          "data"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionResourceInfo": {
        "type": "object",
        "description": "A boxed array of *ExtensionResourceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionResourceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionServerInfo": {
        "type": "object",
        "description": "This data object type describes a server for the extension.\n",
        "properties": {
          "url": {
            "description": "Server url.\n",
            "type": "string"
          },
          "description": {
            "description": "Server description.\n",
            "$ref": "#/components/schemas/Description"
          },
          "company": {
            "description": "Company information.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of server (examples may include SOAP, REST, HTTP, etc.).\n",
            "type": "string"
          },
          "adminEmail": {
            "description": "Extension administrator email addresses.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "serverThumbprint": {
            "description": "Thumbprint of the extension server certificate presented to clients\n",
            "type": "string"
          },
          "serverCertificate": {
            "description": "X.509 certificate of the extension server presented to clients in PEM\nformat according to RFC 7468\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "string"
          }
        },
        "required": [
          "url",
          "description",
          "company",
          "type",
          "adminEmail"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionServerInfo": {
        "type": "object",
        "description": "A boxed array of *ExtensionServerInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionServerInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionTaskTypeInfo": {
        "type": "object",
        "description": "This data object type describes task types defined by the extension.\n",
        "properties": {
          "taskID": {
            "description": "The ID of the task type.\n\nShould follow java package\nnaming conventions for uniqueness.\n",
            "type": "string"
          }
        },
        "required": [
          "taskID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionTaskTypeInfo": {
        "type": "object",
        "description": "A boxed array of *ExtensionTaskTypeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionTaskTypeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtensionManagerIpAllocationUsage": {
        "type": "object",
        "description": "This data object type contains usage information about an\nextension's IP allocation usage.\n",
        "properties": {
          "extensionKey": {
            "description": "Key of the extension whose usage is being\nreported.\n",
            "type": "string"
          },
          "numAddresses": {
            "description": "Number of IP addresses allocated from IP pools.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "extensionKey",
          "numAddresses"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtensionManagerIpAllocationUsage": {
        "type": "object",
        "description": "A boxed array of *ExtensionManagerIpAllocationUsage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionManagerIpAllocationUsage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultsByHost": {
        "type": "object",
        "description": "Group of faults associated with Host.\n\nThis Class is used in e.g.\n*HostEnterMaintenanceResult*.\n",
        "properties": {
          "host": {
            "description": "The Host in the cluster for which faults were generated.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "faults": {
            "description": "The array of faults related to the given Host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultsByHost": {
        "type": "object",
        "description": "A boxed array of *FaultsByHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultsByHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultsByVM": {
        "type": "object",
        "description": "VM specific faults.\n\nThis Class is used in e.g.\n*HostEnterMaintenanceResult*.\n",
        "properties": {
          "vm": {
            "description": "The VM for which faults were generated.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "faults": {
            "description": "The array of faults related to the given VM.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultsByVM": {
        "type": "object",
        "description": "A boxed array of *FaultsByVM*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultsByVM"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FeatureEVCMode": {
        "type": "object",
        "description": "The *FeatureEVCMode* data object describes an Enhanced vMotion\nCompatibility mode for VMFeature.\n\nAn Feature EVC mode is associated with a set of features. This object\nis modeled after EVCMode, which is more CPU-centric. Members that\nare specific to CPU are removed in favor of VMFeature EVC properties.\nFor more information about EVC interaction, see *EVCMode*.\n\nThe inherited *ElementDescription.key* property is a string value\nthat uniquely identifies an EVC mode. The vCenter Server assigns\nthe key value; the vSphere API uses the key to identify modes\nin summary and information objects, for example:\n- *ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCGraphicsModeKey*\n- *HostListSummary*.*HostListSummary.currentEVCGraphicsModeKey*\n  \nThe inherited *Description.label* and *Description.summary*\nproperties are human-readable strings.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "mask": {
            "description": "The masks (modifications to a host's feature capabilities) that limit a\nhost's capabilities to that of the EVC mode baseline.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureMask"
            }
          },
          "capability": {
            "description": "Describes the feature capability baseline associated with the EVC mode.\n\nOn the cluster where a particular EVC mode is configured,\nthese features capabilities are guaranteed, either because the host\nhardware naturally matches those features or because feature masks\nare used to mask out differences and enforce a match.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureCapability"
            }
          },
          "requirement": {
            "description": "The conditions that must be true of a host's feature capabilities in order\nfor the host to meet the minimum requirements of the EVC mode baseline.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFeatureRequirement"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ElementDescription"
          }
        ]
      },
      "ArrayOfFeatureEVCMode": {
        "type": "object",
        "description": "A boxed array of *FeatureEVCMode*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeatureEVCMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileLockInfo": {
        "type": "object",
        "description": "The File information available on a particular file on the host that\ncan be fetched.\n\nAttempt is made to query and fetch as much information\nas possible depending on the file system the file is residing on.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "filePath": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "mac": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "worldName": {
            "type": "string"
          },
          "ownerId": {
            "type": "string"
          },
          "lockMode": {
            "type": "string"
          },
          "acquired": {
            "description": "Optional future - will be fetched if available.\n",
            "type": "string",
            "format": "date-time"
          },
          "heartbeat": {
            "type": "string",
            "format": "date-time"
          },
          "refCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "filePath",
          "host",
          "mac",
          "id",
          "worldName",
          "lockMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFileLockInfo": {
        "type": "object",
        "description": "A boxed array of *FileLockInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileLockInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileLockInfoResult": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "lockInfo": {
            "description": "FileLockInfo entries populated based on results fetched from host.\n\nIf a single path is provided result should contain a single entry.\nFor a generic VM name potentially multiple entries could be fetched\nand populated. Refer to *FileManager.QueryFileLockInfo* for\nmore details.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileLockInfo"
            }
          },
          "fault": {
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFileLockInfoResult": {
        "type": "object",
        "description": "A boxed array of *FileLockInfoResult*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileLockInfoResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FolderBatchAddHostsToClusterResult": {
        "type": "object",
        "properties": {
          "hostsAddedToCluster": {
            "description": "List of hosts that were successfully added to the cluster\nin the desired state.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "hostsFailedInventoryAdd": {
            "description": "Contains a fault for each host that failed addition to the inventory.\n\nA failed host will not be part of hostsAddedToCluster list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderFailedHostResult"
            }
          },
          "hostsFailedMoveToCluster": {
            "description": "List of hosts that are part of inventory but failed to move to the\ncluster in the desired state.\n\nA failed host will not be part of hostsAddedToCluster list however,\na failed host will be part of inventory as it might have been added\nas a standalone host but failed to move to cluster in the desired\nstate.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderFailedHostResult"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFolderBatchAddHostsToClusterResult": {
        "type": "object",
        "description": "A boxed array of *FolderBatchAddHostsToClusterResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderBatchAddHostsToClusterResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FolderBatchAddStandaloneHostsResult": {
        "type": "object",
        "properties": {
          "addedHosts": {
            "description": "List of hosts that were successfully added as standalone hosts\nto the inventory.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "hostsFailedInventoryAdd": {
            "description": "Contains a fault for each host that failed to add.\n\nA failed host\nwill not be part of addedHosts list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderFailedHostResult"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFolderBatchAddStandaloneHostsResult": {
        "type": "object",
        "description": "A boxed array of *FolderBatchAddStandaloneHostsResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderBatchAddStandaloneHostsResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FolderFailedHostResult": {
        "type": "object",
        "properties": {
          "hostName": {
            "description": "Host name for which fault belongs to.\n",
            "type": "string"
          },
          "host": {
            "description": "Host for which fault belongs to.\n\nOnly set when the HostSystem\nreference is avaibale as a result of Host being part of inventory.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "context": {
            "description": "Message describing context where the failure happened.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          },
          "fault": {
            "description": "Exception encountered while operating on this host.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "context",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFolderFailedHostResult": {
        "type": "object",
        "description": "A boxed array of *FolderFailedHostResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderFailedHostResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FolderNewHostSpec": {
        "type": "object",
        "properties": {
          "hostCnxSpec": {
            "description": "Connection Spec for new host that needs to be added to the inventory.\n",
            "$ref": "#/components/schemas/HostConnectSpec"
          },
          "esxLicense": {
            "description": "LicenseKey.\n\nSee *LicenseManager*. If supplied, new\nhost will be updated with the license.\n",
            "type": "string"
          }
        },
        "required": [
          "hostCnxSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFolderNewHostSpec": {
        "type": "object",
        "description": "A boxed array of *FolderNewHostSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderNewHostSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HbrManagerReplicationVmInfo": {
        "type": "object",
        "description": "This data object represents the essential information about the\nstate of a given replicated *VirtualMachine*.\n",
        "properties": {
          "state": {
            "description": "A string representing the current *ReplicationVmState_enum* of the virtual machine.\n",
            "type": "string"
          },
          "progressInfo": {
            "description": "Progress stats for the current operation.\n\nNever present if the state is\nnot \"syncing\" or \"active\". If not present while in one of these states,\nthe host is still gathering initial operation statistics (progress can\nbe assumed to be 0).\n",
            "$ref": "#/components/schemas/ReplicationVmProgressInfo"
          },
          "imageId": {
            "description": "An optional imageId that identifies the instance being created,\nthis is the imagId string that is passed to\n*HbrManager.HbrCreateInstance_Task* or\n*HbrManager.HbrStartOfflineInstance_Task*\n",
            "type": "string"
          },
          "lastError": {
            "description": "A MethodFault representing the last replication specific error\nthat the *VirtualMachine* encountered during a create\ninstance operation.\n\nThe successful creation of an instance\nwill clear any error.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHbrManagerReplicationVmInfo": {
        "type": "object",
        "description": "A boxed array of *HbrManagerReplicationVmInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HbrManagerReplicationVmInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationVmProgressInfo": {
        "type": "object",
        "description": "A set of statistics related to the progress of the current\noperation (full sync or lwd).\n",
        "properties": {
          "progress": {
            "description": "An estimation of the operation progress as a percentage completed,\nfrom 0 to 100.\n",
            "type": "integer",
            "format": "int32"
          },
          "bytesTransferred": {
            "description": "Number of bytes transferred so far.\n\nFor sync operations, this value includes (i.e. counts multiple\ntimes) areas that were transferred multiple times (due to stopping\nand continuing the operation, or for some errors).\n",
            "type": "integer",
            "format": "int64"
          },
          "bytesToTransfer": {
            "description": "The total number of bytes to be transferred.\n\nFor lwd operations, this is the total size of the disk images that\nare transferring. This is known from the start and will not change\nduring a lwd operation.\n\nFor sync operations, this is the total size of the blocks that have\nbeen found not to match between the primary and secondary (by\ncomparing checksums). It starts from 0 and grows as the checksum\noperations advance. The value includes (i.e. counts multiple times)\nareas that will end up being transferred more than once (due to\nstopping and continuing the operation, or for some errors).\n",
            "type": "integer",
            "format": "int64"
          },
          "checksumTotalBytes": {
            "description": "The total number of bytes to be checksummed, only present for sync\ntasks.\n\nThis is the total size of all disks.\n",
            "type": "integer",
            "format": "int64"
          },
          "checksumComparedBytes": {
            "description": "The total number of bytes that were checksummed, only present for\nsync tasks.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "progress",
          "bytesTransferred",
          "bytesToTransfer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicationVmProgressInfo": {
        "type": "object",
        "description": "A boxed array of *ReplicationVmProgressInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationVmProgressInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HbrManagerVmReplicationCapability": {
        "type": "object",
        "description": "This data object represents the capabilities of a given\n*VirtualMachine*.\n",
        "properties": {
          "vm": {
            "description": "Refers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "supportedQuiesceMode": {
            "description": "A string representing the current *QuiesceMode_enum* of the virtual machine.\n",
            "type": "string"
          },
          "compressionSupported": {
            "description": "Flag indicating compression support on the host on which this virtual\nmachine is running.\n",
            "type": "boolean"
          },
          "maxSupportedSourceDiskCapacity": {
            "description": "Maximum disk size supported (in bytes) on the host on which this virtual\nmachine is running.\n",
            "type": "integer",
            "format": "int64"
          },
          "minRpo": {
            "description": "Minimum rpo supported (in minutes) on the host on which this virtual\nmachine is running.\n",
            "type": "integer",
            "format": "int64"
          },
          "fault": {
            "description": "If we are unable to find the VM, we would set this to NotFound fault.\n\nAnd, if we are unable to find the host for a given VM, then we would\nset this to HostNotReachable fault.\nUnset if we are able to fetch the capabilities for the VM.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "vm",
          "supportedQuiesceMode",
          "compressionSupported",
          "maxSupportedSourceDiskCapacity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHbrManagerVmReplicationCapability": {
        "type": "object",
        "description": "A boxed array of *HbrManagerVmReplicationCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HbrManagerVmReplicationCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HealthUpdate": {
        "type": "object",
        "properties": {
          "entity": {
            "description": "The entity on which the health update occurred.\n\nOnly host is supported.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "healthUpdateInfoId": {
            "description": "The ID of the corresponding HealthUpdateInfo.\n",
            "type": "string"
          },
          "id": {
            "description": "The ID of this particular HealthUpdate instance, for cross-reference\nwith HealthUpdateProvider logs.\n",
            "type": "string"
          },
          "status": {
            "description": "The current health status.\n\nValues are of type\n*Status*.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "remediation": {
            "description": "A description of the physical remediation required to resolve this\nhealth update.\n\nFor example, \"Replace Fan #3\".\n",
            "type": "string"
          }
        },
        "required": [
          "entity",
          "healthUpdateInfoId",
          "id",
          "status",
          "remediation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHealthUpdate": {
        "type": "object",
        "description": "A boxed array of *HealthUpdate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HealthUpdate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HealthUpdateInfo": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The identifier provided by the HealthUpdateProvider.\n\nIdentifiers are\nrequired to be unique per HealthUpdateProvider.\n",
            "type": "string"
          },
          "componentType": {
            "description": "The component type.\n\nFor supported values, see *HealthUpdateInfoComponentType_enum*\n",
            "type": "string"
          },
          "description": {
            "description": "A description of the change in health.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "componentType",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHealthUpdateInfo": {
        "type": "object",
        "description": "A boxed array of *HealthUpdateInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HealthUpdateInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfInterval": {
        "type": "object",
        "description": "This data object type contains metadata about a performance interval.\n- For VirtualCenter Server systems, instances of this data object are\n  referred to as &#147;historical intervals&#148; because they control\n  how data collected from the ESX systems will be aggregated and stored\n  in the database.\n- For ESX system, this data object is typically referred to simply as the\n  &#147;interval&#148; or &#147;performance interval&#148; because ESX\n  does not aggregate statistical data. \n  \nFor ESX systems, a single instance of this data object exists. It cannot\nbe modified. It has these properties:\n<table border=\"1\"width=\"100%\">\n<tr>\n<th>key</th>\n<th>samplingPeriod</th>\n<th>length</th>\n<th>name</th>\n<th>level</th>\n<th>enabled</th>\n</tr>\n<tr>\n<td>1</td>\n<td>300</td>\n<td>129600</td>\n<td>PastDay</td>\n<td>null</td>\n<td>true</td>\n</tr>\n</table>\n\nVirtualCenter Server system provides four instances of this data object\nby default, that apply globally to all system entities.\n\n**Example Collection Levels**  \nVirtualCenter Server\nuses the specifications configured in its historical intervals to collect metrics\nfrom the ESX systems that it manages. The quantity of data collected depends on\nthe level settings for the server, and the level associated with a specific counter.\nBoth factors may change from one version of the products to the next. In general,\nthe lower the number, the smaller the amount of data collected. For VirtualCenter\nServer 2.5, for example, the levels 1 through 4 collected data as follows:\n1. Basic counters defined with \"average\" *rollup type* for CPU, Memory,\n   Disk, and Network; plus counters for System Uptime, System Heartbeat,\n   and DRS (Distributed Resource Scheduler, tracked in the\n   \"clusterServices\" group). Does not include counters for devices.\n2. Counters defined with \"average,\" \"summation,\" and \"latest\" *rollup types* for CPU,\n   Memory, Disk, and Network; plus counters for System Uptime, System\n   Heartbeat, and DRS (clusterServices). Does not include counters for\n   devices.\n3. Counters defined with \"average,\" \"summmation,\" and \"latest\" *rollup types* for CPU,\n   Memory, Disk, Network, and all devices; plus counters for System\n   Uptime, System Heartbeat, and DRS (clusterServices).\n4. All counters defined for all entities and devices, for every *rollup type*, including\n   &#147;minimum&#148; and &#147;maximum&#46;&#148; \n   \nDefault properties for the four built-in historical intervals\ninclude:\n<table border=\"1\"width=\"100%\">\n<tr>\n<th>key</th>\n<th>samplingPeriod</th>\n<th>length</th>\n<th>name</th>\n<th>level</th>\n<th>enabled</th>\n</tr>\n<tr>\n<td>1</td>\n<td>300</td>\n<td>86400</td>\n<td>Past&nbsp;day</td>\n<td>1</td>\n<td>true</td>\n</tr>\n<tr>\n<td>2</td>\n<td>1800</td>\n<td>604800</td>\n<td>Past&nbsp;week</td>\n<td>1</td>\n<td>true</td>\n</tr>\n<tr>\n<td>3</td>\n<td>7200</td>\n<td>2592000</td>\n<td>Past&nbsp;month</td>\n<td>1</td>\n<td>true</td>\n</tr>\n<tr>\n<td>4</td>\n<td>86400</td>\n<td>31536000</td>\n<td>Past&nbsp;year</td>\n<td>1</td>\n<td>true</td>\n</tr>\n</table>\n\nAll values are in seconds. The default setting for vCenter Server is\nlevel 1, which retains sampled statistical data as follows:\n- 5-minute samples for the past day\n- 30-minute samples for the past week\n- 2-hour samples for the past month\n- 1-day samples for the past year \n  \nData older than a year is purged from the vCenter Server database.\n\nPrior to version 2&#46;5 of the API, this data object could be used in\nconjunction with the *PerformanceManager.CreatePerfInterval*\noperation, to define new, custom historical intervals. That operation has\nbeen deprecated: Adding and deleting objects of this type is no longer\nsupported. However, the default historical intervals can be enabled or\ndisabled, and can be modified within certain limits (with the *PerformanceManager.UpdatePerfInterval* operation)&#46;\n",
        "properties": {
          "key": {
            "description": "A unique identifier for the interval.\n",
            "type": "integer",
            "format": "int32"
          },
          "samplingPeriod": {
            "description": "Number of seconds that data is sampled for this interval.\n\nThe real-time\nsamplingPeriod is 20 seconds.\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "The name of the historical interval.\n\nA localized string that provides a\nname for the interval. Names include:\n- \"Past Day\"\n- \"Past Week\"\n- \"Past Month\"\n- \"Past Year\"\n  \nThe name is not meaningful in terms of system behavior. That is, the\ninterval named &#147;Past Week&#148; works as it does because of its\nlength, level, and so on, not because of the value of this string.\n",
            "type": "string"
          },
          "length": {
            "description": "Number of seconds that the statistics corresponding to this interval are\nkept on the system.\n",
            "type": "integer",
            "format": "int32"
          },
          "level": {
            "description": "Statistics collection level for this historical interval.\n\nvCenter Server\nwill aggregate only those statistics that match the value of this\nproperty for this historical interval. For ESX, the value of this\nproperty is null. For vCenter Server, the value will be a number from 1\nto 4.\n",
            "type": "integer",
            "format": "int32"
          },
          "enabled": {
            "description": "Indicates whether the interval is enabled (true) or disabled (false).\n\nDisabling a historical interval prevents vCenter Server from collecting\nmetrics for that interval and all higher (longer) intervals.\n\nFor example, disabling the \"Past Month\" interval disables both \"Past\nMonth\" and \"Past Year\" intervals. The system will aggregate and retain\nperformance data using the \"Past Day\" and \"Past Week\" intervals only.\n",
            "type": "boolean"
          }
        },
        "required": [
          "key",
          "samplingPeriod",
          "name",
          "length",
          "enabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerfInterval": {
        "type": "object",
        "description": "A boxed array of *PerfInterval*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfInterval"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostServiceTicket": {
        "type": "object",
        "description": "Return value for ticketable host services.\n\nThe server has the option to\nprovide a hostname and port for a future ticket-authenticated connection to\na service on a host. If the service provider does not return a host the\nclient must connect to the same host it used to request the ticket. In case\nthe service provider does not return a port, except in the case of connecting\nto CIM interfaces, the client must connect using the same port it used to\nrequest the ticket. In the case of connecting to a CIM interface the\nstandard well known port number for the particular service will be used for\nthe connection.\n\nFor example, when a client requests a ticket from an ESX Server, the returned ticket\nmay omit the optional host and port. In such a case, the client establishes an\nout-of-band ticketed connection to the same server host and on the same port on\nwhich it made the connection to request the ticket. If this request is\nmade to the VirtualCenter server, but the server does not provide the required\nservice directly, then the server provides a hostname and port for a server that\naccepts the ticketed connection and provides the service.\n",
        "properties": {
          "host": {
            "description": "The name of the host providing the service for which the ticket applies.\n\nIf\nomitted, then the client uses the host name for the server that issued the ticket.\n",
            "type": "string"
          },
          "port": {
            "description": "Access to some services is made possible by connecting to a port on a\nserver.\n\nIf the service for which a ticket is issued is available on a\nparticular port, that port number is specified with this property. If\nomitted, except in the case of connecting to CIM interfaces, the port\nnumber for the service that issued the ticket is used. In the case of\nconnecting to a CIM interface the standard well known port for the\nparticular service will be used for the connection.\n",
            "type": "integer",
            "format": "int32"
          },
          "sslThumbprint": {
            "description": "The expected thumbprint of the SSL cert of the host to which\nwe are connecting.\n",
            "type": "string"
          },
          "service": {
            "description": "The name of the service to which to connect.\n",
            "type": "string"
          },
          "serviceVersion": {
            "description": "A dot-separated string identifying the service protocol version.\n\nFor example, 1.0\nis used for NFC hosted by vpxa on ESX 2.5, and 1.1 is used for\nNFC hosted by hostd on ESX 3.0.\n",
            "type": "string"
          },
          "sessionId": {
            "description": "An identifying string for the session created for the ticketed connection.\n\nThis\nis used by the host service to identify the operations permitted within the\nsession.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "service",
          "serviceVersion",
          "sessionId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostServiceTicket": {
        "type": "object",
        "description": "A boxed array of *HostServiceTicket*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostServiceTicket"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemComplianceCheckState": {
        "type": "object",
        "description": "The host profile compliance check state.\n",
        "properties": {
          "state": {
            "description": "The compliance check operation state.\n\nSee\n*ComplianceResultStatus_enum* for the valid values.\n",
            "type": "string"
          },
          "checkTime": {
            "description": "The compliance check starting time for running state; compliance\ncheck finish time for others.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "state",
          "checkTime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSystemComplianceCheckState": {
        "type": "object",
        "description": "A boxed array of *HostSystemComplianceCheckState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemComplianceCheckState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemReconnectSpec": {
        "type": "object",
        "description": "Specifies the parameters needed to merge vCenter Server settings\nand host settings on reconnect.\n",
        "properties": {
          "syncState": {
            "description": "This flag should be set if on a host reconnect, state such as virtual\nmachine state in vCenter Server e.g.\n\nthe virtual machine inventory\nand autostart rules, has to be propogated to the host. Any virtual\nmachines that may have been unregistered or orphaned will be\nreregistered according to the vCenter Server inventory. Any autostart\nrules that may have changed on the host will be similarly restored.\nThis flag is primarily intended for stateless hosts to enable vCenter\nServer to resync these hosts after a reboot.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSystemReconnectSpec": {
        "type": "object",
        "description": "A boxed array of *HostSystemReconnectSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemReconnectSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemRemediationState": {
        "type": "object",
        "description": "The valid remediation states.\n\nHost profile apply has two stages:\nprecheck remediation and remediation. Precheck remediation generates\ntask list and task requirement: apply may fail when task requirements\nare not satisfied. Remediation stage can be started only when precheck\nremediation succeeded.\n",
        "properties": {
          "state": {
            "description": "The remediation or precheck remediation operation state.\n\nSee\n*HostSystemRemediationStateState_enum* for the valid\nvalues.\n",
            "type": "string"
          },
          "operationTime": {
            "description": "For any \"running\" state, this is the starting time; for others, this\nis the completion time.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "state",
          "operationTime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSystemRemediationState": {
        "type": "object",
        "description": "A boxed array of *HostSystemRemediationState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemRemediationState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HttpNfcLeaseCapabilities": {
        "type": "object",
        "description": "Descriptor of the lease capabilities.\n",
        "properties": {
          "pullModeSupported": {
            "description": "True if overall this lease can be upgraded to pull mode and\nall hosts in this lease support pull mode.\n\nPrerequisite before calling pullFromUrls.\n",
            "type": "boolean"
          },
          "corsSupported": {
            "description": "True if all hosts in the lease support HTTP CORS.\n",
            "type": "boolean"
          }
        },
        "required": [
          "pullModeSupported",
          "corsSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHttpNfcLeaseCapabilities": {
        "type": "object",
        "description": "A boxed array of *HttpNfcLeaseCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HttpNfcLeaseDatastoreLeaseInfo": {
        "type": "object",
        "description": "For a given datastore, represented by datastoreKey, contains a list of leased\nmulti-POST-capable hosts connected to it.\n",
        "properties": {
          "datastoreKey": {
            "description": "Datastore key.\n",
            "type": "string"
          },
          "hosts": {
            "description": "List of hosts connected to this datastore and covered by this lease.\n\nThe\nhosts in this list are multi-POST-capable, and any one of them can be used\nto transfer disks on this datastore.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseHostInfo"
            }
          }
        },
        "required": [
          "datastoreKey",
          "hosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHttpNfcLeaseDatastoreLeaseInfo": {
        "type": "object",
        "description": "A boxed array of *HttpNfcLeaseDatastoreLeaseInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseDatastoreLeaseInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HttpNfcLeaseDeviceUrl": {
        "type": "object",
        "description": "Provides a mapping from logical device IDs to upload/download\nURLs.\n\nFor export, a single device id is returned based on the object\nidentifiers for the objects.\n\nFor import, two device ids are returned. One based on the object\nnames used in the ImportSpec, and one based on the object\nidentifiers for the created objects. This is immutable and would\nmatch the id if an ExportLease is latter created.\n",
        "properties": {
          "key": {
            "description": "The immutable identifier for the device.\n\nThis is set for both import/export\nleases.\n",
            "type": "string"
          },
          "importKey": {
            "description": "Identifies the device based on the names in an ImportSpec.\n\nThis is only\nset for import leases.\n",
            "type": "string"
          },
          "url": {
            "description": "The URL to use to upload/download the device content.\n\nThe returned url contains either an IP address, a hostname or a \"\\*\". If a\n\"\\*\" is returned the client must substitutes the \"\\*\" with the hostname\nor IP address used when connecting to the server.\nFor example if the client connected to \"someHost\" and the device\nurl returned is:\n\n     http:// *:somePort/somePath\nthe client must substitute the \"\\*\" with \"someHost\" before use. The resulting\nurl would be:\n\n     http://someHost:somePort/somePath\nThe server cannot return a valid hostname or IP address when the client\nconnects via a NAT, a proxy, or when the server is multihomed.\n",
            "type": "string"
          },
          "sslThumbprint": {
            "description": "SSL thumbprint for the host the URL refers to.\n\nEmpty if no SSL thumbprint\nis available or needed.\n",
            "type": "string"
          },
          "disk": {
            "description": "Optional value to specify if the attached file is a disk in\nvmdk format.\n",
            "type": "boolean"
          },
          "targetId": {
            "description": "Id for this target.\n\nThis only used for multi-POSTing, where a single HTTP\nPOST is applied to multiple targets.\n",
            "type": "string"
          },
          "datastoreKey": {
            "description": "Key for the datastore this disk is on.\n\nThis is used to look up hosts\nwhich can be used to multi-POST disk contents, in the host map of the\nlease.\n",
            "type": "string"
          },
          "fileSize": {
            "description": "Specifies the size of the file backing for this device.\n\nThis property\nis only set for non-disk file backings.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "key",
          "importKey",
          "url",
          "sslThumbprint"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHttpNfcLeaseDeviceUrl": {
        "type": "object",
        "description": "A boxed array of *HttpNfcLeaseDeviceUrl*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseDeviceUrl"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HttpNfcLeaseHostInfo": {
        "type": "object",
        "description": "Contains information about how to connect to a given host.\n",
        "properties": {
          "url": {
            "description": "The host url will be of the form\n\n    https://hostname/nfc/ticket id/\nThe url can be used for both POST requests to a single device and for\nmulti-POST requests to multiple devices. A single-POST URL is formed\nby adding the target id to the hostUrl:\n\n    https://hostname/nfc/ticket id/target id\na multi-POST URL looks like\n\n    https://hostname/nfc/ticket id/multi?targets=id1,id2,id3,...\n",
            "type": "string"
          },
          "sslThumbprint": {
            "description": "SSL thumbprint for the host the URL refers to.\n\nEmpty if no SSL thumbprint\nis available or needed.\n",
            "type": "string"
          }
        },
        "required": [
          "url",
          "sslThumbprint"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHttpNfcLeaseHostInfo": {
        "type": "object",
        "description": "A boxed array of *HttpNfcLeaseHostInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseHostInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HttpNfcLeaseInfo": {
        "type": "object",
        "description": "This class holds information about the lease, such as the entity covered by the\nlease, and HTTP URLs for up/downloading file backings.\n",
        "properties": {
          "lease": {
            "description": "The *HttpNfcLease* object this information belongs to.\n\nRefers instance of *HttpNfcLease*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entity": {
            "description": "The *VirtualMachine* or *VirtualApp* this\nlease covers.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "deviceUrl": {
            "description": "The deviceUrl property contains a mapping from logical device keys\nto URLs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseDeviceUrl"
            }
          },
          "totalDiskCapacityInKB": {
            "description": "Total capacity in kilobytes of all disks in all Virtual Machines\ncovered by this lease.\n\nThis can be used to track progress when\ntransferring disks.\n",
            "type": "integer",
            "format": "int64"
          },
          "leaseTimeout": {
            "description": "Number of seconds before the lease times out.\n\nThe client extends\nthe lease by calling *HttpNfcLease.HttpNfcLeaseProgress* before\nthe timeout has expired.\n",
            "type": "integer",
            "format": "int32"
          },
          "hostMap": {
            "description": "Map of URLs for leased hosts for a given datastore.\n\nThis is used to\nlook up multi-POST-capable hosts for a datastore.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseDatastoreLeaseInfo"
            }
          }
        },
        "required": [
          "lease",
          "entity",
          "totalDiskCapacityInKB",
          "leaseTimeout"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHttpNfcLeaseInfo": {
        "type": "object",
        "description": "A boxed array of *HttpNfcLeaseInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HttpNfcLeaseManifestEntry": {
        "type": "object",
        "description": "Provides a manifest for downloaded (exported) files and disks.\n",
        "properties": {
          "key": {
            "description": "Key used to match this entry with the corresponding *HttpNfcLeaseDeviceUrl*\nentry in *HttpNfcLease.info*.\n",
            "type": "string"
          },
          "sha1": {
            "description": "SHA-1 checksum of the data stream sent from the server.\n\nThis can be used\nto verify that the bytes received by the client match those sent by the\nHttpNfc server.\n",
            "type": "string"
          },
          "checksum": {
            "description": "Checksum of the data stream sent/recieved by host.\n\nSee *HttpNfcLeaseManifestEntryChecksumType_enum* for used algoritm.\n",
            "type": "string"
          },
          "checksumType": {
            "description": "Algorithm used to produce checksum in respective property.\n\nSee *HttpNfcLeaseManifestEntryChecksumType_enum* for supported algorithms.\n",
            "type": "string"
          },
          "size": {
            "description": "Size of the downloaded file.\n",
            "type": "integer",
            "format": "int64"
          },
          "disk": {
            "description": "True if the downloaded file is a virtual disk backing.\n",
            "type": "boolean"
          },
          "capacity": {
            "description": "The capacity of the disk, if the file is a virtual disk backing.\n",
            "type": "integer",
            "format": "int64"
          },
          "populatedSize": {
            "description": "The populated size of the disk, if the file is a virtual disk backing.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "key",
          "sha1",
          "size",
          "disk"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHttpNfcLeaseManifestEntry": {
        "type": "object",
        "description": "A boxed array of *HttpNfcLeaseManifestEntry*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseManifestEntry"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HttpNfcLeaseProbeResult": {
        "type": "object",
        "description": "Descriptor of ProbeResult\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "serverAccessible": {
            "description": "True if target host can access the web server.\n",
            "type": "boolean"
          }
        },
        "required": [
          "serverAccessible"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHttpNfcLeaseProbeResult": {
        "type": "object",
        "description": "A boxed array of *HttpNfcLeaseProbeResult*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseProbeResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HttpNfcLeaseSourceFile": {
        "type": "object",
        "description": "Descriptor of the remote source file used in pull scenario.\n",
        "properties": {
          "targetDeviceId": {
            "description": "Target device id that will be used to store remote file.\n\nUniquely identifies host, vm and device.\nGiven by this lease in *HttpNfcLeaseDeviceUrl.importKey*.\n",
            "type": "string"
          },
          "url": {
            "description": "Full url of the source file, for example https://server/path/disk-1.vmdk.\n\nOr url to OVA, in that case *HttpNfcLeaseSourceFile.memberName* should be specified.\n",
            "type": "string"
          },
          "memberName": {
            "description": "Used only when OVA is specified in *HttpNfcLeaseSourceFile.url*.\n\nShould contain file name to extract from OVA.\n",
            "type": "string"
          },
          "create": {
            "description": "True if PUT should be used for upload, otherwise POST.\n\nSame as *OvfFileItem.create*\n",
            "type": "boolean"
          },
          "sslThumbprint": {
            "description": "Esx has no CA database for checking arbitrary certificates.\n\nClient should verify the server certificate and provide\ncertificate thumbprint here.\n",
            "type": "string"
          },
          "httpHeaders": {
            "description": "For the case when remote server requires authentication or any other\ntype of custom HTTP headers be provided with the request.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "size": {
            "description": "Size of the file, if known.\n\nOtherwise it will be determined by a HEAD\nrequest. Not used for OVA members.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "targetDeviceId",
          "url",
          "create"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHttpNfcLeaseSourceFile": {
        "type": "object",
        "description": "A boxed array of *HttpNfcLeaseSourceFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseSourceFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ImportSpec": {
        "type": "object",
        "description": "An ImportSpec is used when importing VMs or vApps.\n\nIt can be built from scratch, or it can be generated from an OVF descriptor using the\nservice interface *OvfManager*.\n\nThis class is the abstract base for *VirtualMachineImportSpec* and\n*VirtualAppImportSpec*. These three classes form a composite structure\nthat allows us to contain arbitrarily complex entitites in a single ImportSpec.\n",
        "properties": {
          "entityConfig": {
            "description": "Configuration of sub-entities (virtual machine or vApp).\n\nThis is used for\nsub-entities of a vApp that could be a virtual machine or a vApp.\n",
            "$ref": "#/components/schemas/VAppEntityConfigInfo"
          },
          "instantiationOst": {
            "description": "The instantiation OST (see *OvfConsumer* ) to be consumed by OVF\nconsumers.\n",
            "$ref": "#/components/schemas/OvfConsumerOstNode"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfImportSpec": {
        "type": "object",
        "description": "A boxed array of *ImportSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InheritablePolicy": {
        "type": "object",
        "description": "The base class for any type of setting or configuration that may get a\ninherited value.\n\nWhen used in a reconfigure operation specification, if *InheritablePolicy.inherited* is true,\nit specifies the intention to change the values of subclass's properties to the\ninherited values from the level above. In this case, users don't need to specify\nthe values and any set property in the subclass will be ignored.\nif *InheritablePolicy.inherited* is false, it specifies the intention to explicitly set\nsubclass's properties to user specified values. Users should set the properties in\nthe subclass with the desired values.\n\nWhen used in a configuration information object, The values of the properties in\nthe subclass are the effective values. if *InheritablePolicy.inherited* is true, the object\nis getting the effective values from upper level. If false, the values are\nexplicitly set by a user.\n",
        "properties": {
          "inherited": {
            "description": "Whether the configuration is set to inherited value.\n",
            "type": "boolean"
          }
        },
        "required": [
          "inherited"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfInheritablePolicy": {
        "type": "object",
        "description": "A boxed array of *InheritablePolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InheritablePolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IntExpression": {
        "type": "object",
        "description": "The integer type of setting or configuration that may get a\nnegated value.\n",
        "properties": {
          "value": {
            "description": "The integer value that is either negated or used as it is\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/NegatableExpression"
          }
        ]
      },
      "ArrayOfIntExpression": {
        "type": "object",
        "description": "A boxed array of *IntExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IntPolicy": {
        "type": "object",
        "description": "The integer type of setting or configuration that may get an\ninherited value.\n",
        "properties": {
          "value": {
            "description": "The integer value that is either set or inherited.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfIntPolicy": {
        "type": "object",
        "description": "A boxed array of *IntPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterIoFilterInfo": {
        "type": "object",
        "description": "Information about an IO Filter on a compute resource.\n",
        "properties": {
          "opType": {
            "description": "The operation that was performed for the IO Filter.\n\nThe set of possible values are described in\n*IoFilterOperation_enum*.\nIf opType is *uninstall*,\nand the uninstallation of the filter was sucessful on all the hosts\nin the cluster, the filter will be removed from the cluster's filter\nlist.\n",
            "type": "string"
          },
          "vibUrl": {
            "description": "The URL of the VIB package that the IO Filter is installed from.\n\nThe property is unset if the information is not available.\n",
            "type": "string"
          }
        },
        "required": [
          "opType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IoFilterInfo"
          }
        ]
      },
      "ArrayOfClusterIoFilterInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterIoFilterInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterIoFilterInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIoFilterInfo": {
        "type": "object",
        "description": "Information about an IO Filter installed on a host.\n",
        "properties": {
          "available": {
            "description": "Whether or not the filter is available for use.\n",
            "type": "boolean"
          }
        },
        "required": [
          "available"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IoFilterInfo"
          }
        ]
      },
      "ArrayOfHostIoFilterInfo": {
        "type": "object",
        "description": "A boxed array of *HostIoFilterInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIoFilterInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IoFilterInfo": {
        "type": "object",
        "description": "Information about an IO Filter.\n",
        "properties": {
          "id": {
            "description": "IO Filter identifier.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the IO Filter.\n",
            "type": "string"
          },
          "vendor": {
            "description": "Vendor of the IO Filter.\n",
            "type": "string"
          },
          "version": {
            "description": "Version of the IO Filter.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of the IO Filter.\n\nThe set of possible values are listed in\n*IoFilterType_enum*.\nThe property is unset if the information is not available.\n",
            "type": "string"
          },
          "summary": {
            "description": "Short description of the IO Filter.\n\nThe property is unset if the information is not available.\n",
            "type": "string"
          },
          "releaseDate": {
            "description": "Release date of the IO Filter.\n\nThe property is unset if the information is not available.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "vendor",
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIoFilterInfo": {
        "type": "object",
        "description": "A boxed array of *IoFilterInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IoFilterInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PinnedCertificate": {
        "type": "object",
        "description": "Specifies SSL policy to trust a pinned SSL certificate.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "sslCertificate": {
            "description": "PEM-encoded pinned SSL certificate of the server that needs to be\ntrusted.\n",
            "type": "string"
          }
        },
        "required": [
          "sslCertificate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IoFilterManagerSslTrust"
          }
        ]
      },
      "ArrayOfPinnedCertificate": {
        "type": "object",
        "description": "A boxed array of *PinnedCertificate*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PinnedCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IoFilterQueryIssueResult": {
        "type": "object",
        "description": "Result for *IoFilterManager.QueryIoFilterIssues*.\n",
        "properties": {
          "opType": {
            "description": "The type of the operation performed on the IO Filter.\n\nThe set of possible values are defined in\n*IoFilterOperation_enum*.\n",
            "type": "string"
          },
          "hostIssue": {
            "description": "The issues on hosts.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IoFilterHostIssue"
            }
          }
        },
        "required": [
          "opType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIoFilterQueryIssueResult": {
        "type": "object",
        "description": "A boxed array of *IoFilterQueryIssueResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IoFilterQueryIssueResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IoFilterHostIssue": {
        "type": "object",
        "description": "The issues on a host.\n",
        "properties": {
          "host": {
            "description": "Host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "issue": {
            "description": "The issues.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "host",
          "issue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIoFilterHostIssue": {
        "type": "object",
        "description": "A boxed array of *IoFilterHostIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IoFilterHostIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IoFilterManagerSslTrust": {
        "type": "object",
        "description": "Specifies an SSL trust policy.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIoFilterManagerSslTrust": {
        "type": "object",
        "description": "A boxed array of *IoFilterManagerSslTrust*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IoFilterManagerSslTrust"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UntrustedCertificate": {
        "type": "object",
        "description": "Specifies SSL policy for untrusted SSL certificate.\n\nThis option allows to explicitly disable SSL certificate verification.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/IoFilterManagerSslTrust"
          }
        ]
      },
      "ArrayOfUntrustedCertificate": {
        "type": "object",
        "description": "A boxed array of *UntrustedCertificate*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UntrustedCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IpAddress": {
        "type": "object",
        "description": "This is the abstract base class for IP address.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NegatableExpression"
          }
        ]
      },
      "ArrayOfIpAddress": {
        "type": "object",
        "description": "A boxed array of *IpAddress*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpAddress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IpPoolManagerIpAllocation": {
        "type": "object",
        "description": "Describes an IP allocation.\n",
        "properties": {
          "ipAddress": {
            "description": "IP address\n",
            "type": "string"
          },
          "allocationId": {
            "description": "The allocation ID\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress",
          "allocationId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIpPoolManagerIpAllocation": {
        "type": "object",
        "description": "A boxed array of *IpPoolManagerIpAllocation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpPoolManagerIpAllocation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IpRange": {
        "type": "object",
        "description": "This class specifies a range of IP addresses by using prefix.\n\nUsage: 128.20.20.10/24. Here 128.20.20.10 is IP address\nand 24 is prefix length.\n",
        "properties": {
          "addressPrefix": {
            "description": "IP address prefix.\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "Prefix length with max value of 32 for IPv4 and 128 for IPv6.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "addressPrefix"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IpAddress"
          }
        ]
      },
      "ArrayOfIpRange": {
        "type": "object",
        "description": "A boxed array of *IpRange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpRange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KeyValue": {
        "type": "object",
        "description": "Non-localized key/value pair\n",
        "properties": {
          "key": {
            "description": "Key.\n",
            "type": "string"
          },
          "value": {
            "description": "Value.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfKeyValue": {
        "type": "object",
        "description": "A boxed array of *KeyValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LatencySensitivity": {
        "type": "object",
        "description": "Specification of the latency-sensitivity information.\n\nThe latency-sensitivity is used to request from the kernel a constraint\non the scheduling delay of the virtual CPUs or other resources. This allows\nlatency-sensitive applications(e.g. VOIP, audio/video streaming, etc.) to run\nin a virtual machine which is configured to use specific scheduling\nlatencies and to be scheduled with low latency.\n\nThe kernel does not provide any guarantee that it will meet the\nlatency-sensitivity requirement of a virtual machine CPU or other resources\nbut it will always accept the latency-sensitivity value provided.\n",
        "properties": {
          "level": {
            "description": "The nominal latency-sensitive level of the application.\n",
            "$ref": "#/components/schemas/LatencySensitivitySensitivityLevel_enum"
          },
          "sensitivity": {
            "deprecated": true,
            "description": "Deprecated as of vSphere version 5.5, this field is deprecated.\n\nThe custom absolute latency-sensitivity value of the application.\n\nThis value will be used only when the latency-sensitivity\n*LatencySensitivity.level* property is is set to\n<code>custom</code>. It is ignored in all other cases.\n\nThe unit of this value is micro-seconds and the application is more\nlatency sensitive when this value is smaller. For example, if the\nabsolute latency-sensitivity is 2000us, the kernel will\ntry to schedule the virtual machine in a way so that its scheduling\nlatency is not more than 2ms.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "level"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLatencySensitivity": {
        "type": "object",
        "description": "A boxed array of *LatencySensitivity*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LatencySensitivity"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseAssignmentManagerLicenseAssignment": {
        "type": "object",
        "properties": {
          "entityId": {
            "description": "Id for the entity\n",
            "type": "string"
          },
          "scope": {
            "description": "Scope of the entityId\n",
            "type": "string"
          },
          "entityDisplayName": {
            "description": "Display name of the entity\n",
            "type": "string"
          },
          "assignedLicense": {
            "description": "License assigned to the entity\n",
            "$ref": "#/components/schemas/LicenseManagerLicenseInfo"
          },
          "properties": {
            "description": "Additional properties associated with this assignment\nSome of the properties are:\n\"inUseFeatures\" -- Features in the license key that are being used by the entity\n\"ProductName\" -- Name of the entity.\n\nShould match the product name of the assigned license.\n\"ProductVersion\" -- Version of the entity. Should match the product version of the assigned license.\n\"Evaluation\" -- EvaluationInfo object representing the evaluation left for the entity.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "entityId",
          "assignedLicense"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLicenseAssignmentManagerLicenseAssignment": {
        "type": "object",
        "description": "A boxed array of *LicenseAssignmentManagerLicenseAssignment*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseAssignmentManagerLicenseAssignment"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseAvailabilityInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nDescribes how many licenses of a particular feature is provided by the licensing\nsource.\n",
        "properties": {
          "feature": {
            "description": "Describes the feature.\n",
            "$ref": "#/components/schemas/LicenseFeatureInfo"
          },
          "total": {
            "description": "Total number of licenses for this given type that are installed on the source.\n",
            "type": "integer",
            "format": "int32"
          },
          "available": {
            "description": "The number of licenses that have not yet been reserved on the source.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "feature",
          "total",
          "available"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLicenseAvailabilityInfo": {
        "type": "object",
        "description": "A boxed array of *LicenseAvailabilityInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseAvailabilityInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseDiagnostics": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nThis data object type provides summary status and diagnostic information for\n*LicenseManager*.\n\nCounters in this property can be reset to zero. The\nproperty specified as a discontinuity is used to determine when this last\noccurred.\n",
        "properties": {
          "sourceLastChanged": {
            "description": "A timestamp of when sourceAvailable last changed state, expressed in UTC.\n",
            "type": "string",
            "format": "date-time"
          },
          "sourceLost": {
            "description": "Counter to track number of times connection to source was lost.\n\nThis value starts at zero and wraps at 2^32-1 to zero.\nDiscontinuity: sourceLastChanged.\n",
            "type": "string"
          },
          "sourceLatency": {
            "description": "Exponentially decaying average of the transaction time for license\nacquisition and routine communications with LicenseSource.\n\nUnits: milliseconds.\n",
            "type": "number",
            "format": "float"
          },
          "licenseRequests": {
            "description": "Counter to track total number of licenses requested.\n\nThis value starts at zero and wraps at 2^32-1 to zero.\nDiscontinuity: sourceLastChanged.\n",
            "type": "string"
          },
          "licenseRequestFailures": {
            "description": "Counter to track Total number of licenses requests that were\nnot fulfilled (denied, timeout, or other).\n\nThis value starts at zero and wraps at 2^32-1 to zero.\nDiscontinuity: sourceLastChanged.\n",
            "type": "string"
          },
          "licenseFeatureUnknowns": {
            "description": "Counter to track Total number of license features parsed from\nLicense source that are not recognized.\n\nThis value starts at zero and wraps at 2^32-1 to zero.\nDiscontinuity: sourceLastChanged.\n",
            "type": "string"
          },
          "opState": {
            "description": "The general state of the license subsystem.\n",
            "$ref": "#/components/schemas/LicenseManagerState_enum"
          },
          "lastStatusUpdate": {
            "description": "A timestamp of when opState was last updated.\n",
            "type": "string",
            "format": "date-time"
          },
          "opFailureMessage": {
            "description": "A human readable reason when optState reports Fault condition.\n",
            "type": "string"
          }
        },
        "required": [
          "sourceLastChanged",
          "sourceLost",
          "sourceLatency",
          "licenseRequests",
          "licenseRequestFailures",
          "licenseFeatureUnknowns",
          "opState",
          "lastStatusUpdate",
          "opFailureMessage"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLicenseDiagnostics": {
        "type": "object",
        "description": "A boxed array of *LicenseDiagnostics*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseDiagnostics"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseManagerEvaluationInfo": {
        "type": "object",
        "description": "Encapsulates product evaluation information\n",
        "properties": {
          "properties": {
            "description": "Evaluation properties\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "properties"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLicenseManagerEvaluationInfo": {
        "type": "object",
        "description": "A boxed array of *LicenseManagerEvaluationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseManagerEvaluationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EvaluationLicenseSource": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nSpecify an evaluation license source.\n\nFeature licensing is not required while the remaining hours is greater than zero.\n",
        "properties": {
          "remainingHours": {
            "description": "The number of remaining hours before product evaluation expires\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseSource"
          }
        ]
      },
      "ArrayOfEvaluationLicenseSource": {
        "type": "object",
        "description": "A boxed array of *EvaluationLicenseSource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EvaluationLicenseSource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseFeatureInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nA single feature that can be licensed.\n\nThis information is immutable.\n",
        "properties": {
          "key": {
            "description": "Unique identifier for license as defined in License source data.\n\nMax length of this string is 64 characters of ASCII/ISO Latin-1\ncharacter set.\n",
            "type": "string"
          },
          "featureName": {
            "description": "The display string for the feature name.\n",
            "type": "string"
          },
          "featureDescription": {
            "description": "A human readable description of what function this feature enables.\n",
            "type": "string"
          },
          "state": {
            "description": "Describes the state of the feature based on the current edition license.\n\nThis\nproperty is unset for an edition license.\n",
            "$ref": "#/components/schemas/LicenseFeatureInfoState_enum"
          },
          "costUnit": {
            "description": "Each license has a cost associated with it and the value of costUnit\nspecifies the applicable unit.\n\nSee also *LicenseFeatureInfoUnit_enum*.\n",
            "type": "string"
          },
          "sourceRestriction": {
            "description": "Describe any restriction on the source of a license for this feature.\n\nSee also *LicenseFeatureInfoSourceRestriction_enum*.\n",
            "type": "string"
          },
          "dependentKey": {
            "description": "Report List of feature keys used by this edition.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "edition": {
            "description": "Flag to indicate whether the feature is an edition.\n",
            "type": "boolean"
          },
          "expiresOn": {
            "description": "Date representing the expiration date\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "key",
          "featureName",
          "costUnit"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLicenseFeatureInfo": {
        "type": "object",
        "description": "A boxed array of *LicenseFeatureInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseFeatureInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLicensableResourceInfo": {
        "type": "object",
        "description": "Encapsulates information about all licensable resources on the host.\n",
        "properties": {
          "resource": {
            "description": "List of currently supported resources.\n\nThe type of every value is long. The key can be one of *HostLicensableResourceKey_enum*\nor arbitrary string.\n\nNOTE:\nThe values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "resource"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLicensableResourceInfo": {
        "type": "object",
        "description": "A boxed array of *HostLicensableResourceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLicensableResourceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseManagerLicenseInfo": {
        "type": "object",
        "description": "Encapsulates information about a license\n",
        "properties": {
          "licenseKey": {
            "description": "Key for the license.\n\nE.g. serial number.\n",
            "type": "string"
          },
          "editionKey": {
            "description": "Edition key.\n",
            "type": "string"
          },
          "name": {
            "description": "Display name for the license\n",
            "type": "string"
          },
          "total": {
            "description": "Total number of units contain in the license\n",
            "type": "integer",
            "format": "int32"
          },
          "used": {
            "description": "Number of units used from this license\n",
            "type": "integer",
            "format": "int32"
          },
          "costUnit": {
            "description": "The cost unit for this license\n",
            "type": "string"
          },
          "properties": {
            "description": "Additional properties associated with this license\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          },
          "labels": {
            "description": "Key-value lables for this license\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "licenseKey",
          "editionKey",
          "name",
          "total",
          "costUnit"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLicenseManagerLicenseInfo": {
        "type": "object",
        "description": "A boxed array of *LicenseManagerLicenseInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseManagerLicenseInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseServerSource": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nSpecify a license server reachable via IPv4 network.\n",
        "properties": {
          "licenseServer": {
            "description": "This property defines the server to establish a TCP session to\nobtain license data.\n\nFormat of string is host:port\nPort is optional unsigned 16 bit integer license\nserver is listening on. A trailing colon ':' without a port number\nis a valid expression.\nHost can either be an IPv4 address in dotted quad\nformat or a resolvable DNS name &leq;254 characters. See RFC 3696.\n",
            "type": "string"
          }
        },
        "required": [
          "licenseServer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseSource"
          }
        ]
      },
      "ArrayOfLicenseServerSource": {
        "type": "object",
        "description": "A boxed array of *LicenseServerSource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseServerSource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseSource": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nThis data object type is used to communicate configuration about\nwhere to find licenses to use for this system.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLicenseSource": {
        "type": "object",
        "description": "A boxed array of *LicenseSource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseSource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseUsageInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nContains source information, licensed features, and usage.\n",
        "properties": {
          "source": {
            "description": "The source from which licensing data is acquired.\n\nSee also *LicenseSource*.\n",
            "$ref": "#/components/schemas/LicenseSource"
          },
          "sourceAvailable": {
            "description": "Returns whether or not the source is currently available.\n\nSee also *LicenseManager.sourceAvailable*.\n",
            "type": "boolean"
          },
          "reservationInfo": {
            "description": "A list of feature reservations.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseReservationInfo"
            }
          },
          "featureInfo": {
            "description": "Includes all the features that are referenced in the reservation array.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseFeatureInfo"
            }
          }
        },
        "required": [
          "source",
          "sourceAvailable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLicenseUsageInfo": {
        "type": "object",
        "description": "A boxed array of *LicenseUsageInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseUsageInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LocalLicenseSource": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nSpecify license key data to store locally.\n",
        "properties": {
          "licenseKeys": {
            "description": "The size of this string is implementation dependent.\n\nIt must contain ASCII or ISO Latin-1 characters only.\n",
            "type": "string"
          }
        },
        "required": [
          "licenseKeys"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseSource"
          }
        ]
      },
      "ArrayOfLocalLicenseSource": {
        "type": "object",
        "description": "A boxed array of *LocalLicenseSource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalLicenseSource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseReservationInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nA reservation describes how many licenses of a particular feature are being used\nby a particular feature.\n",
        "properties": {
          "key": {
            "description": "Key of the License Feature.\n\nSee also *LicenseFeatureInfo.key*.\n",
            "type": "string"
          },
          "state": {
            "description": "Describes the reservation state of a license.\n",
            "$ref": "#/components/schemas/LicenseReservationInfoState_enum"
          },
          "required": {
            "description": "Contains the required number of licenses of the particular type that the\nproduct needs in its current configuration.\n\nLicenses are normally allocated at the same time as they are needed, so the\nvalue of required is set at the time the license is needed. For example,\nin the case of the number of licenses based on virtual machines, the required\ncount is set at the time a virtual machine is powered on, just before the\nlicense is checked out.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key",
          "state",
          "required"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLicenseReservationInfo": {
        "type": "object",
        "description": "A boxed array of *LicenseReservationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseReservationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LocalizationManagerMessageCatalog": {
        "type": "object",
        "description": "Description of an available message catalog\n",
        "properties": {
          "moduleName": {
            "description": "The module or extension that publishes this catalog.\n\nThe moduleName will be empty for the core catalogs for the\nVirtualCenter server itself.\n",
            "type": "string"
          },
          "catalogName": {
            "description": "The name of the catalog.\n",
            "type": "string"
          },
          "locale": {
            "description": "The locale for the catalog.\n",
            "type": "string"
          },
          "catalogUri": {
            "description": "The URI (relative to the connection URL for the VirtualCenter server\nitself) from which the catalog can be downloaded.\n\nThe caller will need to augment this with a scheme and authority (host\nand port) to make a complete URL.\n",
            "type": "string"
          },
          "lastModified": {
            "description": "The last-modified time of the catalog file, if available\n",
            "type": "string",
            "format": "date-time"
          },
          "md5sum": {
            "description": "The checksum of the catalog file, if available\n",
            "type": "string"
          },
          "version": {
            "description": "The version of the catalog file, if available\nThe format is dot-separated version string, e.g.\n\n\"1.2.3\".\n",
            "type": "string"
          }
        },
        "required": [
          "moduleName",
          "catalogName",
          "locale",
          "catalogUri"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLocalizationManagerMessageCatalog": {
        "type": "object",
        "description": "A boxed array of *LocalizationManagerMessageCatalog*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizationManagerMessageCatalog"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LongPolicy": {
        "type": "object",
        "description": "The long integer type of setting or configuration that may get an\ninherited value.\n",
        "properties": {
          "value": {
            "description": "The boolean value that is either set or inherited.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfLongPolicy": {
        "type": "object",
        "description": "A boxed array of *LongPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LongPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MacAddress": {
        "type": "object",
        "description": "Base class for specifying MAC addresses.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NegatableExpression"
          }
        ]
      },
      "ArrayOfMacAddress": {
        "type": "object",
        "description": "A boxed array of *MacAddress*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MacAddress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MacRange": {
        "type": "object",
        "description": "This class defines a range of MAC address.\n",
        "properties": {
          "address": {
            "description": "MAC address.\n",
            "type": "string"
          },
          "mask": {
            "description": "Mask that is used in matching the MAC address.\n\nA MAC address is\nconsidered matched if the \"and\" operation of the mask on the\nMAC address and *MacRange.address* yields the same result.\nFor example, a MAC of \"00:A0:FF:14:FF:29\" is considered matched\nfor a *MacRange.address* of \"00:A0:C9:14:C8:29\" and a\n*MacRange.mask* of \"FF:FF:00:FF:00:FF\".\n",
            "type": "string"
          }
        },
        "required": [
          "address",
          "mask"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MacAddress"
          }
        ]
      },
      "ArrayOfMacRange": {
        "type": "object",
        "description": "A boxed array of *MacRange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MacRange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MethodDescription": {
        "type": "object",
        "description": "Static strings used for describing an object model method.\n",
        "properties": {
          "key": {
            "description": "Method being described.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Description"
          }
        ]
      },
      "ArrayOfMethodDescription": {
        "type": "object",
        "description": "A boxed array of *MethodDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NegatableExpression": {
        "type": "object",
        "description": "The base class for any type of setting or configuration to which negation\ncan be applied.\n\nWhen used in a configuration information object:\nif *NegatableExpression.negate* is true, then ~(objectValue) will be used for the\nconfiguration. If false, then objectValue will be used as it is.\n",
        "properties": {
          "negate": {
            "description": "Whether the configuration needs to be negated or not.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNegatableExpression": {
        "type": "object",
        "description": "A boxed array of *NegatableExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NegatableExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworkSummary": {
        "type": "object",
        "description": "General information about a network.\n",
        "properties": {
          "network": {
            "description": "Reference to the associated managed object.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "Name of the network.\n",
            "type": "string"
          },
          "accessible": {
            "description": "At least one host is configured to provide this network.\n",
            "type": "boolean"
          },
          "ipPoolName": {
            "description": "Name of the associated IP pool.\n\nEmpty if the network is not associated with an\nIP pool.\n",
            "type": "string"
          },
          "ipPoolId": {
            "description": "Identifier of the associated IP pool.\n\nZero if the network is not associated\nwith an IP pool.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "name",
          "accessible",
          "ipPoolName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetworkSummary": {
        "type": "object",
        "description": "A boxed array of *NetworkSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworkSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NumericRange": {
        "type": "object",
        "description": "The class that describe an integer range.\n",
        "properties": {
          "start": {
            "description": "The starting number.\n",
            "type": "integer",
            "format": "int32"
          },
          "end": {
            "description": "The ending number (inclusive).\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "start",
          "end"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNumericRange": {
        "type": "object",
        "description": "A boxed array of *NumericRange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumericRange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OpaqueNetworkCapability": {
        "type": "object",
        "description": "The data object representing the capabilities supported by the Opaque\nNetwork.\n",
        "properties": {
          "networkReservationSupported": {
            "description": "Indicates whether network I/O control is supported for a network\nadapter that connects to the opaque network.\n",
            "type": "boolean"
          }
        },
        "required": [
          "networkReservationSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOpaqueNetworkCapability": {
        "type": "object",
        "description": "A boxed array of *OpaqueNetworkCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpaqueNetworkCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OpaqueNetworkSummary": {
        "type": "object",
        "description": "The summary of a opaque network.\n\nAn object of this class is returned by the *Network.summary* property.\n",
        "properties": {
          "opaqueNetworkId": {
            "description": "The opaque network ID\n",
            "type": "string"
          },
          "opaqueNetworkType": {
            "description": "The opaque network type\n",
            "type": "string"
          }
        },
        "required": [
          "opaqueNetworkId",
          "opaqueNetworkType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NetworkSummary"
          }
        ]
      },
      "ArrayOfOpaqueNetworkSummary": {
        "type": "object",
        "description": "A boxed array of *OpaqueNetworkSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpaqueNetworkSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerOstNode": {
        "type": "object",
        "description": "A node in the OVF section tree.\n\nThis class represents a node on which OVF sections can be defined. The possible\nnode types are OstNodeType.envelope, OstNodeType.virtualSystem or\nOstNodeType.virtualSystemCollection, corresponding to the identically named OVF\nelement types.\n\nSince the node contains a list of children, it can also be regarded as a tree. This\ntree mirrors the structure of the OVF descriptor. It is provided to OVF consumers\nas a more convenient way to navigate and modify the OVF than by working directly on\nthe XML.\n",
        "properties": {
          "id": {
            "description": "The OVF id of the Content (VirtualSystem or VirtualSystemCollection)\nelement.\n\nEmpty on the envelope node.\n",
            "type": "string"
          },
          "type": {
            "description": "The type of the node.\n\nPossible values are defined in the OstNodeType enum.\n\nSince the OstNode tree structure mirrors the structure of the OVF descriptor,\nonly one Envelope node is defined, and it is always the root of the tree.\n",
            "type": "string"
          },
          "section": {
            "description": "The list of sections on this node.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerOvfSection"
            }
          },
          "child": {
            "description": "The list of child nodes.\n\nAs dictated by OVF, this list is subject to the\nfollowing rules:\n- The Envelope node must have exactly one child.\n- VirtualSystemCollection nodes may have zero or more children.\n- VirtualSystem nodes must have no children.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerOstNode"
            }
          },
          "entity": {
            "description": "The VM or vApp corresponding to this node.\n\nThis field is set when this OstNode represents an existing managed entity.\n\nThe entity is unset on nodes of type OstNodeType.envelope.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfConsumerOstNode": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerOstNode*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerOstNode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerOvfSection": {
        "type": "object",
        "description": "A self-contained OVF section\n",
        "properties": {
          "lineNumber": {
            "description": "The line number in the OVF descriptor on which this section starts.\n\nThe line number is only present on sections that were imported as part of an OVF\ndescriptor (as opposed to sections that are about to be exported to OVF).\n\nThe value is zero if the section did not originate from an OVF descriptor.\n",
            "type": "integer",
            "format": "int32"
          },
          "xml": {
            "description": "The XML fragment for the section.\n\nThe XML fragment must explicitly define all namespaces and namespace prefixes\nthat are used in the fragment, including the default namespace.\n",
            "type": "string"
          }
        },
        "required": [
          "lineNumber",
          "xml"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfConsumerOvfSection": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerOvfSection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerOvfSection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfManagerCommonParams": {
        "type": "object",
        "description": "A common super-class for basic OVF descriptor parameters\n",
        "properties": {
          "locale": {
            "description": "The locale-identifier to choose from the descriptor.\n\nIf empty, the\ndefault locale on the server is used.\n",
            "type": "string"
          },
          "deploymentOption": {
            "description": "The key of the chosen deployment option.\n\nIf empty, the default option is\nchosen. The list of possible deployment options is returned in the result of\nparseDescriptor.\n",
            "type": "string"
          },
          "msgBundle": {
            "description": "An optional set of localization strings to be used.\n\nThe server will use\nthese message strings to localize information in the result and in\nerror and warning messages.\n\nThis argument allows a client to pass messages from external\nstring bundles. The client is responsible for selecting the right string\nbundle (based on locale) and parsing the external string bundle. The\npassed in key/value pairs are looked up before any messages\nincluded in the OVF descriptor itself.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "importOption": {
            "description": "An optional argument for modifing the OVF parsing.\n\nWhen the server parses an OVF\ndescriptor a set of options can be used to modify the parsing. The argument is a list\nof keywords.\n\nTo get a list of supported keywords see *OvfManager.ovfImportOption*. Unknown\noptions will be ignored by the server.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locale",
          "deploymentOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfManagerCommonParams": {
        "type": "object",
        "description": "A boxed array of *OvfManagerCommonParams*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfManagerCommonParams"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfCreateDescriptorParams": {
        "type": "object",
        "description": "Collection of parameters for createDescriptor\n",
        "properties": {
          "ovfFiles": {
            "description": "Contains information about the files of the entity, if they have already been\ndownloaded.\n\nNeeded to construct the References section of the descriptor.\n\nOvfFile is a positive list of files to include in the export. An Empty list\nwill do no filtering.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfFile"
            }
          },
          "name": {
            "description": "The ovf:id to use for the top-level OVF Entity.\n\nIf unset, the entity's\nproduct name is used if available. Otherwise, the VI entity name is used.\n",
            "type": "string"
          },
          "description": {
            "description": "The contents of the Annontation section of the top-level OVF Entity.\n\nIf unset,\nany existing annotation on the entity is left unchanged.\n",
            "type": "string"
          },
          "includeImageFiles": {
            "description": "Controls whether attached image files should be included in the descriptor.\n\nThis applies to image files attached to VirtualCdrom and VirtualFloppy.\n",
            "type": "boolean"
          },
          "exportOption": {
            "description": "An optional argument for modifying the export process.\n\nThe option is used to control what extra information that will be included in the\nOVF descriptor.\n\nTo get a list of supported keywords see *OvfManager.ovfExportOption*. Unknown\noptions will be ignored by the server.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snapshot": {
            "description": "Snapshot reference from which the OVF descriptor should be based.\n\nIf this parameter is set, the OVF descriptor is based off the\nsnapshot point. This means that the OVF descriptor will have the\nsame configuration as the virtual machine at the time the snapshot\nwas taken.\n\nThe snapshot must be belong to the specified ManagedEntity in the\ncreateDescriptor call.\n\nRefers instance of *VirtualMachineSnapshot*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfCreateDescriptorParams": {
        "type": "object",
        "description": "A boxed array of *OvfCreateDescriptorParams*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfCreateDescriptorParams"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfCreateDescriptorResult": {
        "type": "object",
        "description": "The result of creating the OVF descriptor for the entity.\n",
        "properties": {
          "ovfDescriptor": {
            "description": "The OVF descriptor for the entity.\n",
            "type": "string"
          },
          "error": {
            "description": "Errors that happened during processing.\n\nFor example, unknown or unsupported devices could be found (in which case\nthis array will contain one or more instances of Unsupported-/UnknownDevice).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "warning": {
            "description": "Non-fatal warnings from the processing.\n\nThe result will be valid, but the user may choose to reject it based on these\nwarnings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "includeImageFiles": {
            "description": "Returns true if there are ISO or Floppy images attached to one or more VMs.\n",
            "type": "boolean"
          }
        },
        "required": [
          "ovfDescriptor"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfCreateDescriptorResult": {
        "type": "object",
        "description": "A boxed array of *OvfCreateDescriptorResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfCreateDescriptorResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfCreateImportSpecParams": {
        "type": "object",
        "description": "Parameters for deploying an OVF.\n",
        "properties": {
          "entityName": {
            "description": "The name to set on the entity (more precisely, on the top-level vApp or\nVM of the entity) as it appears in VI.\n\nIf empty, the product name is obtained\nfrom the ProductSection of the descriptor. If that name is not specified, the\novf:id of the top-level entity is used.\n",
            "type": "string"
          },
          "hostSystem": {
            "description": "The host to validate the OVF descriptor against, if it cannot be deduced from\nthe resource pool.\n\nThe privilege System.Read is required on the host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "networkMapping": {
            "description": "The mapping of network identifiers from the descriptor to networks in the VI\ninfrastructure.\n\nThe privilege Network.Assign is required on all networks in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfNetworkMapping"
            }
          },
          "ipAllocationPolicy": {
            "description": "The IP allocation policy chosen by the caller.\n\nSee *VAppIPAssignmentInfo*.\n",
            "type": "string"
          },
          "ipProtocol": {
            "description": "The IP protocol chosen by the caller.\n\nSee *VAppIPAssignmentInfo*.\n",
            "type": "string"
          },
          "propertyMapping": {
            "description": "The assignment of values to the properties found in the descriptor.\n\nIf no value\nis specified for an option, the default value from the descriptor is used.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "resourceMapping": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1.\n\nThe resource configuration for the created vApp.\n\nThis can be used to distribute\na vApp across multiple resource pools (and create linked children).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfResourceMap"
            }
          },
          "diskProvisioning": {
            "description": "An optional disk provisioning.\n\nIf set, all the disks in the deployed OVF will\nhave get the same specified disk type (e.g., thin provisioned).\nThe valide values for disk provisioning are:\n- *monolithicSparse*\n- *monolithicFlat*\n- *twoGbMaxExtentSparse*\n- *twoGbMaxExtentFlat*\n- *thin*\n- *thick*\n- *sparse*\n- *flat*\n- *seSparse*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "type": "string"
          },
          "instantiationOst": {
            "description": "The instantiation OST to configure OVF consumers.\n\nThis is created by the client\nfrom the annotated OST. See *OvfConsumer* for details.\n",
            "$ref": "#/components/schemas/OvfConsumerOstNode"
          }
        },
        "required": [
          "entityName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfManagerCommonParams"
          }
        ]
      },
      "ArrayOfOvfCreateImportSpecParams": {
        "type": "object",
        "description": "A boxed array of *OvfCreateImportSpecParams*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfCreateImportSpecParams"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfCreateImportSpecResult": {
        "type": "object",
        "description": "The CreateImportSpecResult contains all information regarding the import that can\nbe extracted from the OVF descriptor.\n\nFor example, this includes the list of items that the caller must upload in order\nto complete the import, but not the list of URLs to which the files must be\nuploaded. These paths are not known until the VMs have been created, ie. until\n*ResourcePool.importVApp* has been\ncalled.\n",
        "properties": {
          "importSpec": {
            "description": "The ImportSpec contains information about which *VirtualMachine*s\nand *VirtualApp*s are present in the entity and\nhow they relate to each other.\n",
            "$ref": "#/components/schemas/ImportSpec"
          },
          "fileItem": {
            "description": "The files that must be uploaded by the caller as part of importing the entity.\n\nThe files must be uploaded in order, because some of them may be delta files\nthat patch already-uploaded files.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfFileItem"
            }
          },
          "warning": {
            "description": "Non-fatal warnings from the processing.\n\nThe ImportSpec will be valid, but the\nuser may choose to reject it based on these warnings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "error": {
            "description": "Errors that happened during processing.\n\nSomething will be wrong with the\nImportSpec, or it is not present.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfCreateImportSpecResult": {
        "type": "object",
        "description": "A boxed array of *OvfCreateImportSpecResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfCreateImportSpecResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfDeploymentOption": {
        "type": "object",
        "description": "A deployment option as defined in the OVF specfication.\n\nThis corresponds to the Configuration element of the DeploymentOptionSection in the\nspecification.\n",
        "properties": {
          "key": {
            "description": "The key of the deployment option, corresponding to the ovf:id attribute in the\nOVF descriptor\n",
            "type": "string"
          },
          "label": {
            "description": "A localized label for the deployment option\n",
            "type": "string"
          },
          "description": {
            "description": "A localizable description for the deployment option.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "label",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfDeploymentOption": {
        "type": "object",
        "description": "A boxed array of *OvfDeploymentOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfDeploymentOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfFileItem": {
        "type": "object",
        "description": "An FileItem represents a file that must be uploaded by the caller when the\ninventory objects has been created in VI.\n\nThese objects are created by *ResourcePool.importVApp*.\n\nFiles can either be new files, in which case the \"create\" flag will be true, or\nupdates to existing files in VI. The latter is used to support the OVF parentRef\nmechanism for Disks.\n",
        "properties": {
          "deviceId": {
            "description": "Uniquely identifies the device (disk, CD-ROM etc.) within the entity hierarchy.\n\nWhen *ResourcePool.importVApp* is\ncalled to create the *VirtualMachine*s and *VirtualApp*s, it returns a map,\ndevice ID -&gt; URL, of where to upload the backing files.\n",
            "type": "string"
          },
          "path": {
            "description": "The path of the item to upload, relative to the path of the OVF descriptor.\n",
            "type": "string"
          },
          "compressionMethod": {
            "description": "The compression method as specified by the OVF\nspecification (for example \"gzip\" or \"bzip2\").\n",
            "type": "string"
          },
          "chunkSize": {
            "description": "The chunksize as specified by the OVF specification.\n\nIf this attribute is set, the \"path\" attribute is a prefix to\neach chunk of the complete file.\nFor example, if chunksize is 2000000000 bytes, the actual files\nmight be:\nmyfile.000000000 (2000000000 bytes)\nmyfile.000000001 (2000000000 bytes)\nmyfile.000000002 (1500000000 bytes)\n",
            "type": "integer",
            "format": "int64"
          },
          "size": {
            "description": "The complete size of the file, if it is specified in the\nOVF descriptor.\n",
            "type": "integer",
            "format": "int64"
          },
          "cimType": {
            "description": "The CIM type of the device for which this file provides\nbacking.\n\nFor example, the value 17 means \"Disk drive\".\n",
            "type": "integer",
            "format": "int32"
          },
          "create": {
            "description": "True if the item is not expected to exist in the infrastructure\nand should therefore be created by the caller (for example using HTTP PUT).\n",
            "type": "boolean"
          }
        },
        "required": [
          "deviceId",
          "path",
          "cimType",
          "create"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfFileItem": {
        "type": "object",
        "description": "A boxed array of *OvfFileItem*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfFileItem"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfNetworkInfo": {
        "type": "object",
        "description": "The name and description of a network as specified by the OVF descriptor.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfNetworkInfo": {
        "type": "object",
        "description": "A boxed array of *OvfNetworkInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfNetworkInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfNetworkMapping": {
        "type": "object",
        "description": "A NetworkMapping is a choice made by the caller about which VI network to use for a\nspecific network in the OVF descriptor.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "network": {
            "description": "Refers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name",
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfNetworkMapping": {
        "type": "object",
        "description": "A boxed array of *OvfNetworkMapping*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfNetworkMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfFile": {
        "type": "object",
        "description": "Represents a file that the caller has downloaded and stored somewhere appropriate.\n\nAn instance of this class is used to tell OvfManager about the choices the caller\nmade about a file. This information is needed when the OVF descriptor is generated\nwith createDescriptor.\n",
        "properties": {
          "deviceId": {
            "description": "The ID of the device backed by this file.\n\nThis ID uniquely identifies the\ndevice within the entity hierarchy.\n\nThe caller will have received this along with the URL needed to download the\nfile (this is handled by another service interface).\n",
            "type": "string"
          },
          "path": {
            "description": "The path chosen by the caller for this file.\n\nThis path becomes the value of the\n\"href\" attribute of the corresponding \"File\" element in the OVF descriptor.\n\nThis path must be relative to the path chosen for the OVF descriptor. This\nimplies that the caller must decide in advance on the path to which it will\nwrite the OVF descriptor, once it is returned.\n\nThe folder separator must be \"/\" (forward slash).\n\nThe path must not begin with a slash - ie. it must not be an absolute path.\n",
            "type": "string"
          },
          "compressionMethod": {
            "description": "The compression method the caller chose to employ for this file.\n",
            "type": "string"
          },
          "chunkSize": {
            "description": "The chunksize chosen by the caller.\n\nWhen using chunking, the caller must adhere to the method described in the OVF\nspecification.\n",
            "type": "integer",
            "format": "int64"
          },
          "size": {
            "description": "The file size, as observed by the caller during download.\n",
            "type": "integer",
            "format": "int64"
          },
          "capacity": {
            "description": "The capacity of the disk backed by this file.\n\nThis should only be set if the\ndevice backed by this file is a disk. This value will be written in the\n\"capacity\" attribute of the corresponding \"Disk\" element in the OVF descriptor.\n\nNote that the \"capacity\" attribute is normally set to the capacity of the\ncorresponding *VirtualDisk*. Setting this variable\noverrides the capacity from the VirtualDisk.\n",
            "type": "integer",
            "format": "int64"
          },
          "populatedSize": {
            "description": "The populated size of the disk backed by this file.\n\nThis should only be set if\nthe device backed by this file is a disk. This value will be written in the\n\"populatedSize\" attribute of the corresponding \"Disk\" element in the OVF\ndescriptor.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "deviceId",
          "path",
          "size"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfFile": {
        "type": "object",
        "description": "A boxed array of *OvfFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfOptionInfo": {
        "type": "object",
        "description": "Represents the OVF options the server support for import and export of\nOVFs\n",
        "properties": {
          "option": {
            "description": "The name of the OVF option that is supported by the server\n",
            "type": "string"
          },
          "description": {
            "description": "A description of the OVF option\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          }
        },
        "required": [
          "option",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfOptionInfo": {
        "type": "object",
        "description": "A boxed array of *OvfOptionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfOptionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfParseDescriptorParams": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfManagerCommonParams"
          }
        ]
      },
      "ArrayOfOvfParseDescriptorParams": {
        "type": "object",
        "description": "A boxed array of *OvfParseDescriptorParams*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfParseDescriptorParams"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfParseDescriptorResult": {
        "type": "object",
        "properties": {
          "eula": {
            "description": "The list of all EULAs contained in the OVF\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "network": {
            "description": "The list of networks required by the OVF\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfNetworkInfo"
            }
          },
          "ipAllocationScheme": {
            "description": "The kind of IP allocation supported by the guest.\n\nSee *VAppIPAssignmentInfo*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ipProtocols": {
            "description": "The IP protocols supported by the guest.\n\nSee *VAppIPAssignmentInfo*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "property": {
            "description": "Metadata about the properties contained in the OVF\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppPropertyInfo"
            }
          },
          "productInfo": {
            "description": "The product info contained in the OVF\n",
            "$ref": "#/components/schemas/VAppProductInfo"
          },
          "annotation": {
            "description": "The annotation info contained in the OVF\n",
            "type": "string"
          },
          "approximateDownloadSize": {
            "description": "The OVF Manager's best guess as to the total amount\nof data that must be transferred to download the entity.\n\nThis may be inaccurate due to disk compression etc.\n",
            "type": "integer",
            "format": "int64"
          },
          "approximateFlatDeploymentSize": {
            "description": "The OVF Manager's best guess as to the total amount of space required to deploy\nthe entity if using flat disks.\n",
            "type": "integer",
            "format": "int64"
          },
          "approximateSparseDeploymentSize": {
            "description": "The OVF Manager's best guess as to the total amount of space required to deploy\nthe entity using sparse disks.\n",
            "type": "integer",
            "format": "int64"
          },
          "defaultEntityName": {
            "description": "The default name to use for the entity, if a product name is not\nspecified.\n\nThis is the ID of the OVF top-level entity, or taken from a\nProductSection.\n",
            "type": "string"
          },
          "virtualApp": {
            "description": "True if the OVF contains a vApp (containing one or more vApps\nand/or virtual machines), as opposed to a single virtual machine.\n",
            "type": "boolean"
          },
          "deploymentOption": {
            "description": "The list of possible deployment options.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfDeploymentOption"
            }
          },
          "defaultDeploymentOption": {
            "description": "The key of the default deployment option.\n\nEmpty only if there are no\ndeployment options.\n",
            "type": "string"
          },
          "entityName": {
            "description": "A list of the child entities contained in this package\nand their location in the vApp hierarchy.\n\nEach entry is a\n(key,value) pair, where the key is the display name, and\nthe value is a unique path identifier for the entity in\nthe vApp. The path is constructed by appending the id\nof each entity of the path down to the entity, separated\nby slashes. For example, the path for a child of the root\nentity with id = \"vm1\", would simply be \"vm1\". If the vm is\nthe child of a VirtualSystemCollection called \"webTier\", then\nthe path would be \"webTier/vm\".\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "annotatedOst": {
            "description": "The annotated OST for the OVF descriptor, generated by OVF\nconsumers.\n\nSee *OvfConsumer* for details.\n",
            "$ref": "#/components/schemas/OvfConsumerOstNode"
          },
          "error": {
            "description": "Errors that happened during processing.\n\nSomething\nwill be wrong with the result.\n\nFor example, during export, devices could be\nmissing (in which case this array will contain one\nor more instances of Unsupported-/UnknownDevice).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "warning": {
            "description": "Non-fatal warnings from the processing.\n\nThe result will be valid, but the\nuser may choose to reject it based on these\nwarnings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "annotation",
          "defaultEntityName",
          "virtualApp",
          "defaultDeploymentOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfParseDescriptorResult": {
        "type": "object",
        "description": "A boxed array of *OvfParseDescriptorResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfParseDescriptorResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfResourceMap": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1.\n\nMaps source child entities to destination resource pools\nand resource settings.\n\nIf a mapping is not specified,\na child is copied as a direct child of the parent.\n",
        "properties": {
          "source": {
            "description": "Identifies a source VirtualSystem or VirtualSystemCollection in an OVF\ndescriptor.\n\nThe source cannot be the root VirtualSystem or\nVirtualSystemCollection of the OVF.\nThis is a path created by concatenating the OVF ids for each entity, e.g., \"vm1\",\n\"WebTier/vm2\", etc.\n",
            "type": "string"
          },
          "parent": {
            "description": "The parent resource pool to use for the entity.\n\nThis must specify a\nresource pool that is not part of the vApp. If this is specified, a linked\nchild (as opposed to a direct child) is created for the vApp.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "resourceSpec": {
            "description": "An optional resource configuration for the created entity.\n\nIf\nnot specified, the resource configuration given in the OVF descriptor\nis used.\n",
            "$ref": "#/components/schemas/ResourceConfigSpec"
          },
          "datastore": {
            "description": "A client can optionally specify a datastore location in the resource map to\noverride the default datastore passed into *OvfManager.CreateImportSpec* field.\n\nThis enables importing to different compute resources that do not have shared\ndatastores.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "source"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfResourceMap": {
        "type": "object",
        "description": "A boxed array of *OvfResourceMap*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfResourceMap"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfValidateHostParams": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfManagerCommonParams"
          }
        ]
      },
      "ArrayOfOvfValidateHostParams": {
        "type": "object",
        "description": "A boxed array of *OvfValidateHostParams*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfValidateHostParams"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfValidateHostResult": {
        "type": "object",
        "properties": {
          "downloadSize": {
            "description": "The total amount of data that must be transferred to download the entity.\n\nThis may be inaccurate due to disk compression etc.\n",
            "type": "integer",
            "format": "int64"
          },
          "flatDeploymentSize": {
            "description": "The total amount of space required to deploy the entity if using flat disks.\n",
            "type": "integer",
            "format": "int64"
          },
          "sparseDeploymentSize": {
            "description": "The total amount of space required to deploy the entity using sparse disks,\nif known.\n",
            "type": "integer",
            "format": "int64"
          },
          "error": {
            "description": "Errors that happened during validation.\n\nThe presence of faults in this list\nindicates that the validation failed.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "warning": {
            "description": "Non-fatal warnings from the validation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "supportedDiskProvisioning": {
            "description": "An array of the disk provisioning type supported by the target host system.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOvfValidateHostResult": {
        "type": "object",
        "description": "A boxed array of *OvfValidateHostResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfValidateHostResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PasswordField": {
        "type": "object",
        "description": "DataObject which represents a Password field.\n\nPassword is functionally equivalent to String.\n",
        "properties": {
          "value": {
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPasswordField": {
        "type": "object",
        "description": "A boxed array of *PasswordField*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PasswordField"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerformanceDescription": {
        "type": "object",
        "description": "Static strings for performance metrics.\n",
        "properties": {
          "counterType": {
            "description": "Identifies the *type* of\nthe counter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "statsType": {
            "description": "Identifies the *type*\nof statistic.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          }
        },
        "required": [
          "counterType",
          "statsType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerformanceDescription": {
        "type": "object",
        "description": "A boxed array of *PerformanceDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerformanceDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfCompositeMetric": {
        "type": "object",
        "description": "*PerfCompositeMetric* includes an optional\naggregated entity performance statistics and a list of composite entities\nperformance statistics&#46; The aggregated entity statistics are optional\nbecause some entities, such as folders, do not have their own\nstatistics&#46;\n",
        "properties": {
          "entity": {
            "description": "The aggregated entity performance metrics.\n\nIf it exists, the *PerfSampleInfo* list of the aggregate entity is a\ncomplete list of *PerfSampleInfo* that could\nbe contained in *PerfSampleInfo* lists of\nchild entities.\n",
            "$ref": "#/components/schemas/PerfEntityMetricBase"
          },
          "childEntity": {
            "description": "A list of *metrics* of\nperformance providers that comprise the aggregated entity.\n\nFor\nexample, Host is an aggregated entity for virtual machines and\nvirtual machine Folders. ResourcePools are aggregate entities for\nvirtual machines. Host, Folder, and Cluster are aggregate entities\nfor hosts in the cluster or folder.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfEntityMetricBase"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerfCompositeMetric": {
        "type": "object",
        "description": "A boxed array of *PerfCompositeMetric*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfCompositeMetric"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfCounterInfo": {
        "type": "object",
        "description": "This data object type contains metadata for a performance counter.\n\nSee\n*PerformanceManager* for definitions of available counters.\n",
        "properties": {
          "key": {
            "description": "A system-generated number that uniquely identifies the counter in the\ncontext of the system.\n\nThe performance counter ID.\n",
            "type": "integer",
            "format": "int32"
          },
          "nameInfo": {
            "description": "The name of the counter with label and summary details.\n\nFor example,\nthe counter with name \"usage\" for the \"cpu\" group of performance\ncounters.\n",
            "$ref": "#/components/schemas/ElementDescription"
          },
          "groupInfo": {
            "description": "The group of the performance counter with its label and summary\ndetails.\n\nCounter groups include \"cpu,\" \"mem,\" \"net,\" \"disk,\" \"system,\"\n\"rescpu,\" and \"clusterServices,\" for example.\n",
            "$ref": "#/components/schemas/ElementDescription"
          },
          "unitInfo": {
            "description": "The unit for the values of the performance counter with its label and\nsummary details.\n\nSee *PerformanceManagerUnit_enum* for a\ndescription of the valid values.\n",
            "$ref": "#/components/schemas/ElementDescription"
          },
          "rollupType": {
            "description": "The counter type.\n\nValid values include average, maximum, minimum,\nlatest, summation, or none. This determines the type of statistical\nvalues that are returned for the counter. None means that the counter\nis never rolled up.\n",
            "$ref": "#/components/schemas/PerfSummaryType_enum"
          },
          "statsType": {
            "description": "Statistics type for the counter.\n\nValid values include absolute, delta,\nor rate.\n",
            "$ref": "#/components/schemas/PerfStatsType_enum"
          },
          "level": {
            "description": "Minimum level at which metrics of this type will be collected by\nVirtualCenter Server.\n\nThe value for this property for any performance\ncounter is a number from 1 to 4. The higher the setting, the more data\nis collected by VirtualCenter Server. The default setting for\nVirtualCenter Server is 1, which collects the minimal amount of\nperformance data that is typically useful to administrators and\ndevelopers alike. The specific level of each counter is documented in\nthe respective counter-documentation pages, by group. See *PerformanceManager* for links to the counter group pages.\n",
            "type": "integer",
            "format": "int32"
          },
          "perDeviceLevel": {
            "description": "Minimum level at which the per device metrics of this type will be\ncollected by vCenter Server.\n\nThe value for this property for any\nperformance counter is a number from 1 to 4. By default all per device\nmetrics are calculated at level 3 or more. If a certain per device\ncounter is collected at a certain level, the aggregate metric is also\ncalculated at that level, i.e., perDeviceLevel is greater than or\nequal to level.\n",
            "type": "integer",
            "format": "int32"
          },
          "associatedCounterId": {
            "deprecated": true,
            "description": "Deprecated as of VI API 2.5, this property is not used.\n\nThe counter IDs associated with the same performance counter name for\nthe same device type.\n\nFor example, the rollup types for CPU Usage for\na host are average, minimum, and maximum&#46; Therefore, their counter\nIDs are associated.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "key",
          "nameInfo",
          "groupInfo",
          "unitInfo",
          "rollupType",
          "statsType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerfCounterInfo": {
        "type": "object",
        "description": "A boxed array of *PerfCounterInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfCounterInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerformanceManagerCounterLevelMapping": {
        "type": "object",
        "description": "*PerformanceManagerCounterLevelMapping* class captures the counter\nand level mapping.\n\nAny counter has two aspects: aggregate value or the\nper-device value. For example, cpu.usage.average on a host is an\naggregate counter and cpu.usage.average on pcpus in a host is a\nper-device counters. There is a need to be able to specify different\nlevels for the two versions. Currently, all per-device stats are\ncollected at level greater than or equal to 3.\n\nIn order to be able to configure the level of collections for\naggregate and per-device counters we have two optional level fields.\n*PerformanceManagerCounterLevelMapping* is used to update the\nlevels for a counter.\n",
        "properties": {
          "counterId": {
            "description": "The counter Id\n",
            "type": "integer",
            "format": "int32"
          },
          "aggregateLevel": {
            "description": "Level for the aggregate counter.\n\nIf not set then the value is not\nchanged when updateCounterLevelMapping is called.\n",
            "type": "integer",
            "format": "int32"
          },
          "perDeviceLevel": {
            "description": "Level for the per device counter.\n\nIf not set then the value is not\nchanged when updateCounterLevelMapping is called.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "counterId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerformanceManagerCounterLevelMapping": {
        "type": "object",
        "description": "A boxed array of *PerformanceManagerCounterLevelMapping*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerformanceManagerCounterLevelMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfEntityMetric": {
        "type": "object",
        "description": "This data object type stores values and metadata for metrics associated\nwith a specific entity, in 'normal' format.\n",
        "properties": {
          "sampleInfo": {
            "description": "A list of objects containing information (an interval and a timestamp)\nabout the samples collected.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfSampleInfo"
            }
          },
          "value": {
            "description": "A list of values that corresponds to the samples collected.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfMetricSeries"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PerfEntityMetricBase"
          }
        ]
      },
      "ArrayOfPerfEntityMetric": {
        "type": "object",
        "description": "A boxed array of *PerfEntityMetric*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfEntityMetric"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfEntityMetricBase": {
        "type": "object",
        "description": "Base type for the various *PerfEntityMetric*\nencodings.\n",
        "properties": {
          "entity": {
            "description": "Performance provider ID.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerfEntityMetricBase": {
        "type": "object",
        "description": "A boxed array of *PerfEntityMetricBase*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfEntityMetricBase"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfEntityMetricCSV": {
        "type": "object",
        "description": "This data object type stores metric values for a specific entity in CSV\nformat.\n",
        "properties": {
          "sampleInfoCSV": {
            "description": "The *PerfSampleInfo* encoded in the following CSV\nformat: \\[interval1\\], \\[date1\\], \\[interval2\\], \\[date2\\], and so on.\n",
            "type": "string"
          },
          "value": {
            "description": "Metric values corresponding to the samples collected in this list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfMetricSeriesCSV"
            }
          }
        },
        "required": [
          "sampleInfoCSV"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PerfEntityMetricBase"
          }
        ]
      },
      "ArrayOfPerfEntityMetricCSV": {
        "type": "object",
        "description": "A boxed array of *PerfEntityMetricCSV*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfEntityMetricCSV"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfMetricIntSeries": {
        "type": "object",
        "description": "This data object type describes integer metric values.\n\nThe size of the\narray must match the size of *PerfEntityMetric.sampleInfo* property in the *PerfEntityMetric* that contains this series.\n",
        "properties": {
          "value": {
            "description": "An array of 64-bit integer values.\n\nThe size of the array matches the\nsize as the *PerfSampleInfo*, because the values\ncan only be interpreted in the context of the sample that generated\nthe value.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PerfMetricSeries"
          }
        ]
      },
      "ArrayOfPerfMetricIntSeries": {
        "type": "object",
        "description": "A boxed array of *PerfMetricIntSeries*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfMetricIntSeries"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfMetricId": {
        "type": "object",
        "description": "This data object type contains information that associates a performance\ncounter with a performance metric.\n\nWhen constructing this data object for\nthe *PerfQuerySpec.metricId* property of the *PerfQuerySpec* to submit to one of the *PerformanceManager* query operations, the *PerfMetricId.instance* property\nsupports these special characters:\n- An asterisk (\\*) to specify all instances of the metric for the\n  specified *PerfMetricId.counterId*\n- Double-quotes (\"\") to specify aggregated statistics\n",
        "properties": {
          "counterId": {
            "description": "The *ID* of the counter for\nthe metric.\n",
            "type": "integer",
            "format": "int32"
          },
          "instance": {
            "description": "An identifier that is derived from configuration names for the device\nassociated with the metric.\n\nIt identifies the instance of the metric\nwith its source. This property may be empty.\n- For memory and aggregated statistics, this property is empty.\n- For host and virtual machine devices, this property contains the\n  name of the device, such as the name of the host-bus adapter or\n  the name of the virtual Ethernet adapter. For example,\n  &#147;mpx&#46;vmhba33&#58;C0&#58;T0&#58;L0&#148; or\n  &#147;vmnic0&#58;&#148;\n- For a CPU, this property identifies the numeric position within\n  the CPU core, such as 0, 1, 2, 3.\n- For a virtual disk, this property identifies the file type:\n  - DISKFILE, for virtual machine base-disk files\n  - SWAPFILE, for virtual machine swap files\n  - DELTAFILE, for virtual machine snapshot overhead files\n  - OTHERFILE, for all other files of a virtual machine\n",
            "type": "string"
          }
        },
        "required": [
          "counterId",
          "instance"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerfMetricId": {
        "type": "object",
        "description": "A boxed array of *PerfMetricId*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfMetricId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfMetricSeries": {
        "type": "object",
        "description": "This is a generic data object type that stores values for a specific\nperformance metric.\n\nUseful data objects that store actual metric values\nextend this data object (see *PerfMetricIntSeries*).\n",
        "properties": {
          "id": {
            "description": "An identifier for the performance metric.\n",
            "$ref": "#/components/schemas/PerfMetricId"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerfMetricSeries": {
        "type": "object",
        "description": "A boxed array of *PerfMetricSeries*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfMetricSeries"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfMetricSeriesCSV": {
        "type": "object",
        "description": "This data object type represents a *PerfMetricSeries* encoded in CSV format.\n",
        "properties": {
          "value": {
            "description": "An array of sample values in CSV format\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PerfMetricSeries"
          }
        ]
      },
      "ArrayOfPerfMetricSeriesCSV": {
        "type": "object",
        "description": "A boxed array of *PerfMetricSeriesCSV*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfMetricSeriesCSV"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfProviderSummary": {
        "type": "object",
        "description": "This data object type contains information about a performance provider,\nthe type of statistics it generates, and the *PerfProviderSummary.refreshRate* for\nstatistics generation.\n\nA performance provider is any *managed object* that generates real-time or\nhistorical statistics (or both&#151;the *PerfProviderSummary.currentSupported* and\n*PerfProviderSummary.summarySupported* properties are not mutually exclusive).\n",
        "properties": {
          "entity": {
            "description": "Reference to the performance provider, the *managed object* that provides real-time or\nhistorical metrics.\n\nThe managed objects include but are not limited to\n*managed entities*, such as *host systems*, *virtual machines*, and *resource pools*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "currentSupported": {
            "description": "True if this entity supports real-time (current) statistics; false if\nit does not.\n\nIf this property is true for an entity, a client application\ncan set the *PerfQuerySpec.intervalId* of the\n*PerfQuerySpec* (passed to the\n*PerformanceManager.QueryPerf* operation) to the *PerfProviderSummary.refreshRate* to obtain the maximum information possible for the\nentity.\n",
            "type": "boolean"
          },
          "summarySupported": {
            "description": "True if this entity supports historical (aggregated) statistics; false\nif it does not.\n\nWhen this property is true for an entity, a client\napplication can set the *PerfQuerySpec.intervalId* of *PerformanceManager.QueryPerf* to one of the historical *intervals* to obtain historical statistics for this\nentity.\n",
            "type": "boolean"
          },
          "refreshRate": {
            "description": "Number of seconds between the generation of each counter.\n\nThis value\napplies only to entities that support real-time (current)\nstatistics&#46;\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "entity",
          "currentSupported",
          "summarySupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerfProviderSummary": {
        "type": "object",
        "description": "A boxed array of *PerfProviderSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfProviderSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfQuerySpec": {
        "type": "object",
        "description": "This data object specifies the query parameters, including the managed\nobject reference to the target entity for statistics retrieval.\n- If the optional *PerfQuerySpec.intervalId* is omitted, the metrics are\n  returned in their originally sampled interval.\n  - When an *PerfQuerySpec.intervalId* is specified, the server tries to\n    summarize the information for the specified *PerfQuerySpec.intervalId*.\n    However, if that interval does not exist or has no data, the\n    server summarizes the information using the best interval\n    available.\n- If the range between *PerfQuerySpec.startTime* and *PerfQuerySpec.endTime* crosses\n  multiple sample interval periods, the result contains data from the\n  longest interval in the period.\n",
        "properties": {
          "entity": {
            "description": "The managed object whose performance statistics are being queried.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "startTime": {
            "description": "The server time from which to obtain counters.\n\nIf not specified,\ndefaults to the first available counter. When a startTime is\nspecified, the returned samples do not include the sample at\nstartTime.\n",
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "description": "The time up to which statistics are retrieved.\n\nCorresponds to server\ntime. When endTime is omitted, the returned result includes up to the\nmost recent metric value. When an endTime is specified, the returned\nsamples include the sample at endTime.\n",
            "type": "string",
            "format": "date-time"
          },
          "maxSample": {
            "description": "Limits the number of samples returned.\n\nDefaults to the most recent\nsample (or samples), unless a time range is specified. Use this\nproperty only in conjunction with the *PerfQuerySpec.intervalId* to obtain\nreal-time statistics (set the *PerfQuerySpec.intervalId* to the *PerfProviderSummary.refreshRate*. This property is\nignored for historical statistics, and is not valid for the *PerformanceManager.QueryPerfComposite* operation.\n",
            "type": "integer",
            "format": "int32"
          },
          "metricId": {
            "description": "The performance metrics to be retrieved.\n\nThis property is required for\nthe *PerformanceManager.QueryPerfComposite* operation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfMetricId"
            }
          },
          "intervalId": {
            "description": "The interval (*PerfInterval.samplingPeriod*), in seconds,\nfor the performance statistics&#46; For aggregated information, use\none of the historical intervals for this property.\n\nSee *PerfInterval* for more information.\n- To obtain the greatest detail, use the provider&#146;s *PerfProviderSummary.refreshRate* for this\n  property.\n",
            "type": "integer",
            "format": "int32"
          },
          "format": {
            "description": "The format to be used while returning the statistics&#46;\n\nSee also *PerfFormat_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerfQuerySpec": {
        "type": "object",
        "description": "A boxed array of *PerfQuerySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfQuerySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfSampleInfo": {
        "type": "object",
        "description": "This data object type describes information contained in a sample\ncollection, its timestamp, and sampling interval.\n",
        "properties": {
          "timestamp": {
            "description": "The time at which the sample was collected.\n",
            "type": "string",
            "format": "date-time"
          },
          "interval": {
            "description": "The interval in seconds for which performance statistics were\ncollected.\n\nThis can be the refreshRate of the managed object for which\nthis statistics was collected or one of the intervals for historical\nstatistics configured in the system. See *PerformanceManager.UpdatePerfInterval* for more information about the intervals\nconfigured in the system.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "timestamp",
          "interval"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerfSampleInfo": {
        "type": "object",
        "description": "A boxed array of *PerfSampleInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfSampleInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PosixUserSearchResult": {
        "type": "object",
        "description": "Searching for users and groups on POSIX systems provides\nUser ID and Group ID information, in addition to that\ndefined in UserSearchResult.\n",
        "properties": {
          "id": {
            "description": "If the search result is for a user, then id refers to User ID.\n\nFor a group,\nthe value of Group ID is assigned to id.\n",
            "type": "integer",
            "format": "int32"
          },
          "shellAccess": {
            "description": "If the search result is for a user, shellAccess indicates whether shell\naccess has been granted or not.\n",
            "type": "boolean"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/UserSearchResult"
          }
        ]
      },
      "ArrayOfPosixUserSearchResult": {
        "type": "object",
        "description": "A boxed array of *PosixUserSearchResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PosixUserSearchResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PrivilegePolicyDef": {
        "type": "object",
        "description": "Describes a basic privilege policy.\n",
        "properties": {
          "createPrivilege": {
            "description": "Name of privilege required for creation.\n",
            "type": "string"
          },
          "readPrivilege": {
            "description": "Name of privilege required for reading.\n",
            "type": "string"
          },
          "updatePrivilege": {
            "description": "Name of privilege required for updating.\n",
            "type": "string"
          },
          "deletePrivilege": {
            "description": "Name of privilege required for deleting.\n",
            "type": "string"
          }
        },
        "required": [
          "createPrivilege",
          "readPrivilege",
          "updatePrivilege",
          "deletePrivilege"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPrivilegePolicyDef": {
        "type": "object",
        "description": "A boxed array of *PrivilegePolicyDef*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivilegePolicyDef"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourceAllocationInfo": {
        "type": "object",
        "description": "The ResourceAllocationInfo data object specifies the reserved resource\nrequirement as well as the limit (maximum allowed usage) for a given\nkind of resource.\n\nThis is specified for both memory\nallocation (specified in MB) and CPU allocation (specified in MHz).\n\nFor a *ResourcePool*, the ResourceAllocationInfo object describes\nboth the guaranteed amount of the resource (*ResourceAllocationInfo.reservation*)\nand whether or not it is expandable\n(*ResourceAllocationInfo.expandableReservation*).\nIf expandableReservation is true, then the resource pool can grow its reservation\ndynamically by borrowing unreserved resources from its parent resource pool.\nFor the methods *ResourcePool.CreateResourcePool*,\n*ResourcePool.CreateVApp* and *ResourcePool.ImportVApp*,\nyou must provide values for all properties except overheadLimit; they are not optional.\n(Currently, overheadLimit is for vCenter Server use only.)\n\nIf the limit is configured, it must be greater than or equal to the\nreservation.\n",
        "properties": {
          "reservation": {
            "description": "Amount of resource that is guaranteed available to the virtual machine or\nresource pool.\n\nReserved resources are not wasted if they are not used. If\nthe utilization is less than the reservation, the resources can be utilized by\nother running virtual machines. Units are MB for memory, MHz for CPU.\n",
            "type": "integer",
            "format": "int64"
          },
          "expandableReservation": {
            "description": "In a resource pool with an expandable reservation, the reservation on a resource\npool can grow beyond the specified value, if the parent resource pool has\nunreserved resources.\n\nA non-expandable reservation is called a fixed\nreservation. This property is invalid for virtual machines.\n",
            "type": "boolean"
          },
          "limit": {
            "description": "The utilization of a virtual machine/resource pool will not exceed this limit, even\nif there are available resources.\n\nThis is typically used to ensure a consistent\nperformance of virtual machines / resource pools independent of available resources.\nIf set to -1, then there is no fixed limit on resource usage (only bounded by available\nresources and shares). Units are MB for memory, MHz for CPU.\n",
            "type": "integer",
            "format": "int64"
          },
          "shares": {
            "description": "Memory shares are used in case of resource contention.\n",
            "$ref": "#/components/schemas/SharesInfo"
          },
          "overheadLimit": {
            "description": "The maximum allowed overhead memory.\n\nFor a powered on virtual\nmachine, the overhead memory reservation cannot be larger than its\noverheadLimit. This property is only applicable to powered on\nvirtual machines and is not persisted across reboots. This property\nis not applicable for resource pools. If set to -1, then there is\nno limit on reservation. Units are MB.\n\nNote: For vCenter Server use only. Not available for other clients\nat this time.\nThe server will throw an exception if you attempt to set\nthis property.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfResourceAllocationInfo": {
        "type": "object",
        "description": "A boxed array of *ResourceAllocationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceAllocationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourceAllocationOption": {
        "type": "object",
        "description": "The ResourceAllocationOption data object specifies value ranges and\ndefault values for *ResourceAllocationInfo*.\n",
        "properties": {
          "sharesOption": {
            "description": "Default value and value range for *ResourceAllocationInfo.shares*.\n",
            "$ref": "#/components/schemas/SharesOption"
          }
        },
        "required": [
          "sharesOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfResourceAllocationOption": {
        "type": "object",
        "description": "A boxed array of *ResourceAllocationOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceAllocationOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourceConfigOption": {
        "type": "object",
        "description": "This data object type is a default value and value range specification\nfor *ResourceConfigSpec* object.\n",
        "properties": {
          "cpuAllocationOption": {
            "description": "Resource allocation options for CPU.\n\nSee also *ResourceAllocationInfo*.\n",
            "$ref": "#/components/schemas/ResourceAllocationOption"
          },
          "memoryAllocationOption": {
            "description": "Resource allocation options for memory.\n\nSee also *ResourceAllocationInfo*.\n",
            "$ref": "#/components/schemas/ResourceAllocationOption"
          }
        },
        "required": [
          "cpuAllocationOption",
          "memoryAllocationOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfResourceConfigOption": {
        "type": "object",
        "description": "A boxed array of *ResourceConfigOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceConfigOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourceConfigSpec": {
        "type": "object",
        "description": "This data object type is a specification for a set of resources\nallocated to a virtual machine or a resource pool.\n",
        "properties": {
          "entity": {
            "description": "Reference to the entity with this resource specification:\neither a VirtualMachine or a ResourcePool.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "changeVersion": {
            "description": "The changeVersion is a unique identifier for a given version\nof the configuration.\n\nEach change to the configuration will\nupdate this value. This is typically implemented as an ever\nincreasing count or a time-stamp. However, a client should\nalways treat this as an opaque string.\n\nIf specified when updating the resource config., the\nchanges will only be applied if the current changeVersion matches the\nspecified changeVersion. This field can be used to guard against updates that\nhas happened between the configInfo was read and until it is applied.\n",
            "type": "string"
          },
          "lastModified": {
            "description": "Timestamp when the resources were last modified.\n\nThis is ignored when\nthe object is used to update a configuration.\n",
            "type": "string",
            "format": "date-time"
          },
          "cpuAllocation": {
            "description": "Resource allocation for CPU.\n",
            "$ref": "#/components/schemas/ResourceAllocationInfo"
          },
          "memoryAllocation": {
            "description": "Resource allocation for memory.\n",
            "$ref": "#/components/schemas/ResourceAllocationInfo"
          },
          "scaleDescendantsShares": {
            "description": "Specifies the scaling behavior of the shares of all descendant resource\npools under a given resource pool.\n\nSee *ResourceConfigSpecScaleSharesBehavior_enum* for possible values. If any\nscaling behavior other than *disabled* is\nspecified, the system will scale the CPU and memory shares allocated to\neach descendant resource pool with the total shares of all powered on\nvirtual machines under each respective pool. The system will also use the\n*SharesInfo* set on each descendant resource pool as a\nmultiplier for the scale. If a resource pool's shares are already\nscalable through the *ResourceConfigSpec.scaleDescendantsShares* setting on an ancestor\nresource pool, the system will not allow *ResourceConfigSpec.scaleDescendantsShares* to be set on the resource\npool. The *ResourcePoolRuntimeInfo.sharesScalable* property\nindicates whether or not a resource pool's shares are scalable. This\nproperty does not apply to virtual machines.\n",
            "type": "string"
          }
        },
        "required": [
          "cpuAllocation",
          "memoryAllocation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfResourceConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ResourceConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatabaseSizeEstimate": {
        "type": "object",
        "description": "DatabaseSizeEstimate contains information about the size\nrequired to by the database.\n",
        "properties": {
          "size": {
            "description": "The estimated size required in MB\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "size"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatabaseSizeEstimate": {
        "type": "object",
        "description": "A boxed array of *DatabaseSizeEstimate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatabaseSizeEstimate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatabaseSizeParam": {
        "type": "object",
        "description": "DatabaseSizeParam contains information about a sample inventory.\n\nUsing this\ninformation, database size requirements for that sample inventory can be computed.\nDepending on the accuracy of estimate desired, users can choose to specify\nthe number of different types of managed entities. The numHosts and\nnumVirtualMachines are the only two required fields. Rest are all optional\nfields filled up by Virtual Center based on some heuristics.\nThese parameters need not represent a real inventory. The user can use these\nparameters to estimate the database size required by a hypothetical\nVirtualCenter setup.\n",
        "properties": {
          "inventoryDesc": {
            "description": "Object to capture inventory description\n",
            "$ref": "#/components/schemas/InventoryDescription"
          },
          "perfStatsDesc": {
            "description": "Object to capture performance statistics\nrelated parameters\n",
            "$ref": "#/components/schemas/PerformanceStatisticsDescription"
          }
        },
        "required": [
          "inventoryDesc"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatabaseSizeParam": {
        "type": "object",
        "description": "A boxed array of *DatabaseSizeParam*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatabaseSizeParam"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InventoryDescription": {
        "type": "object",
        "description": "Data object to capture all information needed to\ndescribe a sample inventory.\n",
        "properties": {
          "numHosts": {
            "description": "The number of hosts.\n",
            "type": "integer",
            "format": "int32"
          },
          "numVirtualMachines": {
            "description": "The number of virtual machines.\n",
            "type": "integer",
            "format": "int32"
          },
          "numResourcePools": {
            "description": "The number of resource pools.\n\nDefault value is equal to numHosts\n",
            "type": "integer",
            "format": "int32"
          },
          "numClusters": {
            "description": "The number of clusters.\n\nDefault value is equal to numHosts/5.\n",
            "type": "integer",
            "format": "int32"
          },
          "numCpuDev": {
            "description": "The number cpu devices per host.\n\nDefault value is 4.\n",
            "type": "integer",
            "format": "int32"
          },
          "numNetDev": {
            "description": "The number network devices per host.\n\nDefault value is 2.\n",
            "type": "integer",
            "format": "int32"
          },
          "numDiskDev": {
            "description": "The number disk devices per host.\n\nDefault value is 10.\n",
            "type": "integer",
            "format": "int32"
          },
          "numvCpuDev": {
            "description": "The number cpu devices per vm.\n\nDefault value is 2.\n",
            "type": "integer",
            "format": "int32"
          },
          "numvNetDev": {
            "description": "The number network devices per vm.\n\nDefault value is 1.\n",
            "type": "integer",
            "format": "int32"
          },
          "numvDiskDev": {
            "description": "The number disk devices per vm.\n\nDefault value is 4.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "numHosts",
          "numVirtualMachines"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfInventoryDescription": {
        "type": "object",
        "description": "A boxed array of *InventoryDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InventoryDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerformanceStatisticsDescription": {
        "type": "object",
        "description": "Data object to capture all information needed to\ndescribe a sample inventory.\n",
        "properties": {
          "intervals": {
            "description": "Historic interval setting.\n\nDefault value is the same as the historic\ninterval settings of the current instance\nof running VC.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfInterval"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPerformanceStatisticsDescription": {
        "type": "object",
        "description": "A boxed array of *PerformanceStatisticsDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerformanceStatisticsDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolResourceUsage": {
        "type": "object",
        "description": "Specifies the resource usage for either memory\nor CPU.\n\nFor CPU the unit is MHz, for memory the unit is bytes.\n\nIn the typical case, where a resourcepool is in a consistent state,\nunreservedForVm will be equal to unreservedForPool. Hence, we\ncan simply say talk about unreserved resources.\n\nIf the reservation on the resource pool is not expandable, then\nthe following is true:\n\n               reservation = reservationUsed + unreserved\nIf the reservation on the resource pool is expandable, then\nthe following is true:\n\n          reservation + parent.unreserved = reservationUsed + unreserved\n",
        "properties": {
          "reservationUsed": {
            "description": "Total amount of resources that have been used to satisfy the\nreservation requirements of all descendants of this\nresource pool (includes both resource pools and virtual\nmachines).\n",
            "type": "integer",
            "format": "int64"
          },
          "reservationUsedForVm": {
            "description": "Total amount of resources that have been used to satisfy the reservation\nrequirements of running virtual machines in this resource pool or any of its\nchild resource pools.\n",
            "type": "integer",
            "format": "int64"
          },
          "unreservedForPool": {
            "description": "Total amount of resources available to satisfy a reservation\nfor a child resource pool.\n\nIn the undercommitted state, this is\nlimited by the capacity at the root node. In the overcommitted case,\nthis could be higher since we do not perform the dynamic capacity\nchecks.\n",
            "type": "integer",
            "format": "int64"
          },
          "unreservedForVm": {
            "description": "Total amount of resources available to satisfy a reservation for\na child virtual machine.\n\nIn general, this should be the same as\n*ResourcePoolResourceUsage.unreservedForPool*. However, in the overcommitted case, this\nis limited by the remaining available resources at the root\nnode.\n",
            "type": "integer",
            "format": "int64"
          },
          "overallUsage": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5.\nUse *ResourcePoolQuickStats.overallCpuUsage* and\n*ResourcePoolQuickStats.hostMemoryUsage*.\n\nClose to real-time resource usage of all running child virtual\nmachines, including virtual machines in child resource pools.\n",
            "type": "integer",
            "format": "int64"
          },
          "maxUsage": {
            "description": "Current upper-bound on usage.\n\nThe upper-bound is based on the limit configured\non this resource pool, as well as limits configured on any parent resource\npool.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "reservationUsed",
          "reservationUsedForVm",
          "unreservedForPool",
          "unreservedForVm",
          "overallUsage",
          "maxUsage"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfResourcePoolResourceUsage": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolResourceUsage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolResourceUsage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolRuntimeInfo": {
        "type": "object",
        "description": "Current runtime resource usage and state of the resource pool\n",
        "properties": {
          "memory": {
            "description": "Runtime resource usage for memory.\n\nValues are in bytes.\n",
            "$ref": "#/components/schemas/ResourcePoolResourceUsage"
          },
          "cpu": {
            "description": "Runtime resource usage for CPU.\n\nValues are in Mhz.\n",
            "$ref": "#/components/schemas/ResourcePoolResourceUsage"
          },
          "overallStatus": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5.\nUse *ManagedEntity.overallStatus*.\n\nOverall health of the tree.\n\nSee header for description of various\nstatuses and when they are set.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "sharesScalable": {
            "description": "The scaling behavior of the shares of a given resource pool.\n\nSee *ResourceConfigSpecScaleSharesBehavior_enum* for possible values. The\nsystem will automatically compute this property based on the *ResourceConfigSpec.scaleDescendantsShares* setting on every\nancestor resource pool. This property does not apply to virtual\nmachines.\n",
            "type": "string"
          }
        },
        "required": [
          "memory",
          "cpu",
          "overallStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfResourcePoolRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolSummary": {
        "type": "object",
        "description": "This data object type encapsulates a typical set of resource\npool information that is useful for list views and summary pages.\n",
        "properties": {
          "name": {
            "description": "Name of resource pool.\n",
            "type": "string"
          },
          "config": {
            "description": "Current configuration of the resource pool.\n",
            "$ref": "#/components/schemas/ResourceConfigSpec"
          },
          "runtime": {
            "description": "Current runtime state of the resource pool.\n",
            "$ref": "#/components/schemas/ResourcePoolRuntimeInfo"
          },
          "quickStats": {
            "description": "A set of statistics that are typically updated with near real-time regularity.\n\nThis data object type does not support notification, for scalability reasons.\nTherefore, changes in QuickStats do not generate property collector updates.\nTo monitor statistics values, use the statistics and alarms modules instead.\n",
            "$ref": "#/components/schemas/ResourcePoolQuickStats"
          },
          "configuredMemoryMB": {
            "description": "Total configured memory of all virtual machines in the resource pool, in MB.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "name",
          "config",
          "runtime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfResourcePoolSummary": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolQuickStats": {
        "type": "object",
        "description": "A set of statistics that are typically updated with near real-time regularity.\n\nThese statistics are aggregates of the corresponding statistics of all virtual\nmachines in the given resource pool, and unless otherwise noted, only make sense\nwhen at least one virtual machine in the given resource pool is powered on.\nThis data object type does not support notification, for scalability reasons.\nTherefore, changes in QuickStats do not generate property collector updates. To\nmonitor statistics values, use the statistics and alarms modules instead.\n",
        "properties": {
          "overallCpuUsage": {
            "description": "Basic CPU performance statistics, in MHz.\n",
            "type": "integer",
            "format": "int64"
          },
          "overallCpuDemand": {
            "description": "Basic CPU performance statistics, in MHz.\n",
            "type": "integer",
            "format": "int64"
          },
          "guestMemoryUsage": {
            "description": "Guest memory utilization statistics, in MB.\n\nThis\nis also known as active guest memory. The number\ncan be between 0 and the configured memory size of\na virtual machine.\n",
            "type": "integer",
            "format": "int64"
          },
          "hostMemoryUsage": {
            "description": "Host memory utilization statistics, in MB.\n\nThis\nis also known as consummed host memory. This is between 0 and\nthe configured resource limit. Valid while a virtual machine is\nrunning. This includes the overhead memory of a virtual machine.\n",
            "type": "integer",
            "format": "int64"
          },
          "distributedCpuEntitlement": {
            "description": "This is the amount of CPU resource, in MHz, that this VM is entitled to, as\ncalculated by DRS.\n\nValid only for a VM managed by DRS.\n",
            "type": "integer",
            "format": "int64"
          },
          "distributedMemoryEntitlement": {
            "description": "This is the amount of memory, in MB, that this VM is entitled to, as\ncalculated by DRS.\n\nValid only for a VM managed by DRS.\n",
            "type": "integer",
            "format": "int64"
          },
          "staticCpuEntitlement": {
            "description": "The static CPU resource entitlement for a virtual machine.\n\nThis value is\ncalculated based on this virtual machine's resource reservations, shares\nand limit, and doesn't take into account current usage. This is the worst\ncase CPU allocation for this virtual machine, that is, the amount of CPU\nresource this virtual machine would receive if all virtual machines running\nin the cluster went to maximum consumption. Units are MHz.\n",
            "type": "integer",
            "format": "int32"
          },
          "staticMemoryEntitlement": {
            "description": "The static memory resource entitlement for a virtual machine.\n\nThis value is\ncalculated based on this virtual machine's resource reservations, shares\nand limit, and doesn't take into account current usage. This is the worst\ncase memory allocation for this virtual machine, that is, the amount of\nmemory this virtual machine would receive if all virtual machines running\nin the cluster went to maximum consumption. Units are MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "privateMemory": {
            "description": "The portion of memory, in MB, that is granted to a virtual machine from\nnon-shared host memory.\n",
            "type": "integer",
            "format": "int64"
          },
          "sharedMemory": {
            "description": "The portion of memory, in MB, that is granted to a virtual machine from host\nmemory that is shared between VMs.\n",
            "type": "integer",
            "format": "int64"
          },
          "swappedMemory": {
            "description": "The portion of memory, in MB, that is granted to a virtual machine from the\nhost's swap space.\n\nThis is a sign that there is memory pressure on the host.\n",
            "type": "integer",
            "format": "int64"
          },
          "balloonedMemory": {
            "description": "The size of the balloon driver in a virtual machine, in MB.\n\nThe host will\ninflate the balloon driver to reclaim physical memory from a virtual machine.\nThis is a sign that there is memory pressure on the host.\n",
            "type": "integer",
            "format": "int64"
          },
          "overheadMemory": {
            "description": "The amount of memory resource (in MB) that will be used by\na virtual machine above its guest memory requirements.\n\nThis value is set if and only if a virtual machine is registered\non a host that supports memory resource allocation features.\nFor powered off VMs, this is the minimum overhead required to\npower on the VM on the registered host.\nFor powered on VMs, this is the current overhead reservation, a\nvalue which is almost always larger than the minimum overhead, and\nwhich grows with time.\n\nSee also *HostSystem.QueryMemoryOverheadEx*.\n",
            "type": "integer",
            "format": "int64"
          },
          "consumedOverheadMemory": {
            "description": "The amount of overhead memory, in MB, currently being consumed to run a VM.\n\nThis value is limited by the overhead memory reservation for a VM, stored\nin *ResourcePoolQuickStats.overheadMemory*.\n",
            "type": "integer",
            "format": "int64"
          },
          "compressedMemory": {
            "description": "The amount of compressed memory currently consumed by VM, in KB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfResourcePoolQuickStats": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolQuickStats*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolQuickStats"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SDDCBase": {
        "type": "object",
        "description": "An empty data object which can be used as the base class for data objects\noutside VIM namespace which have to be proxied through vCenter opaquely.\n\nFor example, vSan configuration spec will extend from this which will\nallow HCI API to pass the spec to set up vSan on the cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSDDCBase": {
        "type": "object",
        "description": "A boxed array of *SDDCBase*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SDDCBase"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SelectionSet": {
        "type": "object",
        "description": "Base class for selecting entities\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSelectionSet": {
        "type": "object",
        "description": "A boxed array of *SelectionSet*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SelectionSet"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVMotionCompatibility": {
        "type": "object",
        "description": "The object type for the array returned by queryVMotionCompatibility;\nspecifies the VMotion compatibility types for a host.\n",
        "properties": {
          "host": {
            "description": "The prospective host for the virtual machine.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "compatibility": {
            "description": "Ways in which the host is compatible with the designated virtual\nmachine that is a candidate for VMotion.\n\nThis array will be\na subset of the set of VMotionCompatibilityType strings that\nwere input to queryVMotionCompatibility.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVMotionCompatibility": {
        "type": "object",
        "description": "A boxed array of *HostVMotionCompatibility*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVMotionCompatibility"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProductComponentInfo": {
        "type": "object",
        "description": "ProductComponentInfo data object type describes installed components.\n\nProduct component is defined as a software module that is released\nand versioned independently but has dependency relationship with other products.\nIf one product, for usability or any other reason, bundles other products,\nProductComponentInfo type may be used to describe installed components.\nFor example, ESX product may bundle VI Client in its releases.\n",
        "properties": {
          "id": {
            "description": "Opaque identifier that is unique for this product component\n",
            "type": "string"
          },
          "name": {
            "description": "Canonical name of product component\n",
            "type": "string"
          },
          "version": {
            "description": "Version of product component\n",
            "type": "string"
          },
          "release": {
            "description": "Release property is a number which increments with each\nnew release of product.\n\nProduct release may not rev version\nbut release number is always incremented.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "id",
          "name",
          "version",
          "release"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProductComponentInfo": {
        "type": "object",
        "description": "A boxed array of *ProductComponentInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductComponentInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceContent": {
        "type": "object",
        "description": "The *ServiceContent* data object defines properties for the ServiceInstance\nmanaged object.\n\nThe ServiceInstance itself does not have directly-accessible\nproperties because reading the properties of a managed object requires\nthe use of a property collector, and the property collector itself\nis a property of the *ServiceInstance*.\nFor this reason, use the method *ServiceInstance.RetrieveServiceContent*\nto retrieve the *ServiceContent* object.\n",
        "properties": {
          "rootFolder": {
            "description": "Reference to the top of the inventory managed by this service.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "propertyCollector": {
            "description": "Reference to a per-session object for retrieving properties and updates.\n\nRefers instance of *PropertyCollector*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "viewManager": {
            "description": "A singleton managed object for tracking custom sets of objects.\n\nRefers instance of *ViewManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "about": {
            "description": "Information about the service, such as the software version.\n",
            "$ref": "#/components/schemas/AboutInfo"
          },
          "setting": {
            "description": "Generic configuration for a management server.\n\nThis is for example by\nvCenter to store the vCenter Settings. This is not used for a\nstand-alone host, instead the vim.host.ConfigManager.advancedOption is used.\n\nSee also *HostConfigManager*.\n\nRefers instance of *OptionManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "userDirectory": {
            "description": "A user directory managed object.\n\nRefers instance of *UserDirectory*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "sessionManager": {
            "description": "Managed object for logging in and managing sessions.\n\nRefers instance of *SessionManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "authorizationManager": {
            "description": "Manages permissions for managed entities in the service.\n\nRefers instance of *AuthorizationManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "serviceManager": {
            "description": "A singleton managed object that manages local services.\n\nRefers instance of *ServiceManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "perfManager": {
            "description": "A singleton managed object that manages the collection and reporting\nof performance statistics.\n\nRefers instance of *PerformanceManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "scheduledTaskManager": {
            "description": "A singleton managed object that manages scheduled tasks.\n\nRefers instance of *ScheduledTaskManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "alarmManager": {
            "description": "A singleton managed object that manages alarms.\n\nRefers instance of *AlarmManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "eventManager": {
            "description": "A singleton managed object that manages events.\n\nRefers instance of *EventManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "taskManager": {
            "description": "A singleton managed object that manages tasks.\n\nRefers instance of *TaskManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "extensionManager": {
            "description": "A singleton managed object that manages extensions.\n\nRefers instance of *ExtensionManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "customizationSpecManager": {
            "description": "A singleton managed object that manages saved guest customization\nspecifications.\n\nRefers instance of *CustomizationSpecManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "guestCustomizationManager": {
            "description": "A singleton managed object that manages guest customization of\na running VM.\n\nThe typical usage is for the guest customization after the\nInstantClone operation. See *VirtualMachine.InstantClone_Task*.\n\nRefers instance of *VirtualMachineGuestCustomizationManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "customFieldsManager": {
            "description": "A singleton managed object that managed custom fields.\n\nRefers instance of *CustomFieldsManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "accountManager": {
            "description": "A singleton managed object that manages host local user and group accounts.\n\nRefers instance of *HostLocalAccountManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "diagnosticManager": {
            "description": "A singleton managed object that provides access to low-level log files.\n\nRefers instance of *DiagnosticManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "licenseManager": {
            "description": "A singleton managed object that manages licensing\n\nRefers instance of *LicenseManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "searchIndex": {
            "description": "A singleton managed object that allows search of the inventory\n\nRefers instance of *SearchIndex*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "fileManager": {
            "description": "A singleton managed object that allows management of files present\non datastores.\n\nRefers instance of *FileManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastoreNamespaceManager": {
            "description": "Datastore Namespace manager.\n\nA singleton managed object that is used to manage manipulations\nrelated to datastores' namespaces.\n\nRefers instance of *DatastoreNamespaceManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "virtualDiskManager": {
            "description": "A singleton managed object that allows management of virtual disks\non datastores.\n\nRefers instance of *VirtualDiskManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "virtualizationManager": {
            "deprecated": true,
            "description": "Deprecated as of VI API 2.5, use the VMware vCenter Converter plug-in.\n\nA singleton managed object that manages the discovery, analysis,\nrecommendation and virtualization of physical machines\n\nRefers instance of *VirtualizationManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snmpSystem": {
            "description": "A singleton managed object that allows SNMP configuration.\n\nNot set if not supported on a particular platform.\n\nRefers instance of *HostSnmpSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmProvisioningChecker": {
            "description": "A singleton managed object that can answer questions about the\nfeasibility of certain provisioning operations.\n\nRefers instance of *VirtualMachineProvisioningChecker*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmCompatibilityChecker": {
            "description": "A singleton managed object that can answer questions about compatibility\nof a virtual machine with a host.\n\nRefers instance of *VirtualMachineCompatibilityChecker*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "ovfManager": {
            "description": "A singleton managed object that can generate OVF descriptors (export) and create\nvApps (single-VM or vApp container-based) from OVF descriptors (import).\n\nRefers instance of *OvfManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "ipPoolManager": {
            "description": "A singleton managed object that supports management of IpPool objects.\n\nIP pools are\nused when allocating IPv4 and IPv6 addresses to vApps.\n\nRefers instance of *IpPoolManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "dvSwitchManager": {
            "description": "A singleton managed object that provides relevant information of\nDistributedVirtualSwitch.\n\nRefers instance of *DistributedVirtualSwitchManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostProfileManager": {
            "description": "A singleton managed object that manages the host profiles.\n\nRefers instance of *HostProfileManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "clusterProfileManager": {
            "description": "A singleton managed object that manages the cluster profiles.\n\nRefers instance of *ClusterProfileManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "complianceManager": {
            "description": "A singleton managed object that manages compliance aspects of entities.\n\nRefers instance of *ProfileComplianceManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "localizationManager": {
            "description": "A singleton managed object that provides methods for retrieving message\ncatalogs for client-side localization support.\n\nRefers instance of *LocalizationManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "storageResourceManager": {
            "description": "A singleton managed object that provides methods for storage resource\nmanagement.\n\nRefers instance of *StorageResourceManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "guestOperationsManager": {
            "description": "A singleton managed object that provides methods for guest operations.\n\nRefers instance of *GuestOperationsManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "overheadMemoryManager": {
            "description": "A singleton managed object that provides methods for looking up static VM\noverhead memory.\n\nRefers instance of *OverheadMemoryManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "certificateManager": {
            "description": "host certificate manager\nA singleton managed object to manage the certificates between the\nCertificate Server and the host.\n\nRefers instance of *CertificateManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "ioFilterManager": {
            "description": "A singleton managed object that manages IO Filters installed on the ESXi\nhosts and IO Filter configuration of virtual disks.\n\nRefers instance of *IoFilterManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vStorageObjectManager": {
            "description": "A singleton managed object that manages all storage objects in the\nVirtual Infrastructure.\n\nIf connected to a vCenter,\nthis is the *VcenterVStorageObjectManager*; If connected\nto an ESXi host, this is the *HostVStorageObjectManager*.\n\nA storage object in the Virtual Infrastructure is represented by a\nvStorageObject.\n\nRefers instance of *VStorageObjectManagerBase*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostSpecManager": {
            "description": "A singleton managed object that manages the host specification data.\n\nRefers instance of *HostSpecificationManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "cryptoManager": {
            "description": "A singleton managed object used to manage cryptographic keys.\n\nRefers instance of *CryptoManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "healthUpdateManager": {
            "description": "A singleton managed object that manages the health updates.\n\nRefers instance of *HealthUpdateManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "failoverClusterConfigurator": {
            "description": "A singleton managed object that manages the VCHA Cluster\nconfiguration.\n\nRefers instance of *FailoverClusterConfigurator*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "failoverClusterManager": {
            "description": "A singleton managed object for managing a configured VCHA Cluster.\n\nRefers instance of *FailoverClusterManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "tenantManager": {
            "description": "A singleton managed object used to configure tenants.\n\nRefers instance of *TenantTenantManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "siteInfoManager": {
            "description": "A singleton managed object used to manage site related capabilities.\n\nRefers instance of *SiteInfoManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "storageQueryManager": {
            "description": "A singleton managed object used to query storage related entities.\n\nRefers instance of *StorageQueryManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "rootFolder",
          "propertyCollector",
          "about"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfServiceContent": {
        "type": "object",
        "description": "A boxed array of *ServiceContent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceContent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceLocator": {
        "type": "object",
        "description": "This data object type specifies the information of a service endpoint as\nwell as the parameters needed to locate and login to to the service\nendpoint.\n",
        "properties": {
          "instanceUuid": {
            "description": "Unique ID of the instance to which the service belongs.\n\nFor\ninstances that support the vSphere API, this is the same as the\nvalue found in *AboutInfo.instanceUuid*.\n",
            "type": "string"
          },
          "url": {
            "description": "URL used to access the service endpoint\n",
            "type": "string"
          },
          "credential": {
            "description": "Credential to establish the connection and login to the service.\n",
            "$ref": "#/components/schemas/ServiceLocatorCredential"
          },
          "sslThumbprint": {
            "description": "The SSL thumbprint of the certificate of the service endpoint.\n\nSuperceded by *#sslCertificate*.\nNote: If both <code>sslThumbprint</code> and <code>sslCertificate</code> are set,\n<code>sslThumbprint</code> must correspond to the <code>sslCertificate</code>.\n",
            "type": "string"
          }
        },
        "required": [
          "instanceUuid",
          "url",
          "credential"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfServiceLocator": {
        "type": "object",
        "description": "A boxed array of *ServiceLocator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceLocator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceLocatorCredential": {
        "type": "object",
        "description": "The data object type is a base type of credential for authentication such\nas username/password or SAML token.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfServiceLocatorCredential": {
        "type": "object",
        "description": "A boxed array of *ServiceLocatorCredential*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceLocatorCredential"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceLocatorNamePassword": {
        "type": "object",
        "description": "The data object type specifies the username and password credential for\nauthenticating to a service endpoint.\n",
        "properties": {
          "username": {
            "description": "The username for Username-Password authentication\n",
            "type": "string"
          },
          "password": {
            "description": "The password for Username-Password authentication\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "username",
          "password"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ServiceLocatorCredential"
          }
        ]
      },
      "ArrayOfServiceLocatorNamePassword": {
        "type": "object",
        "description": "A boxed array of *ServiceLocatorNamePassword*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceLocatorNamePassword"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceLocatorSAMLCredential": {
        "type": "object",
        "description": "The data object type specifies the SAML token (SSO) based credential for\nauthenticating to a service endpoint.\n",
        "properties": {
          "token": {
            "description": "The SAML token for authentication\n",
            "type": "string",
            "format": "password"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ServiceLocatorCredential"
          }
        ]
      },
      "ArrayOfServiceLocatorSAMLCredential": {
        "type": "object",
        "description": "A boxed array of *ServiceLocatorSAMLCredential*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceLocatorSAMLCredential"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceManagerServiceInfo": {
        "type": "object",
        "description": "This data object represents essential information about a particular service.\n\nThe information is sufficient to be able to identify the service and retrieve\nthe object implementing it.\n",
        "properties": {
          "serviceName": {
            "description": "A service name.\n\nEach service is expected to create a unique name\nfor itself that can be used to locate the service. This name\ndoes not need to be unique across hosts or other such locations though.\n",
            "type": "string"
          },
          "location": {
            "description": "A list of data that can be used to uniquely identify a particular instance of a service.\n\nMultiple instances of a service can exist across different domains (for instance, a service\nthat is associated with a particular virtual machine or a particular host). In such cases,\nthe service name is insufficient to identify the service and location data can be used\nto identify the instance of interest. A service may publish as much location data\nas is needed to identify it (e.g, vmware.host.&lt;hostname&gt; or vmware.vm.&lt;uuid&gt; or both).\nThe particular choice of locations have to be agreed upon by\nthe client and the service.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "service": {
            "description": "The managed object that presents this service.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "description": {
            "description": "A description of the service.\n\nProvides help text on how\nto use the service.\n",
            "type": "string"
          }
        },
        "required": [
          "serviceName",
          "service",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfServiceManagerServiceInfo": {
        "type": "object",
        "description": "A boxed array of *ServiceManagerServiceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceManagerServiceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SessionManagerGenericServiceTicket": {
        "type": "object",
        "description": "This data object represents a ticket which grants access to some service.\n\nThe ticket may be used only once and is valid only for the\n*SessionManagerServiceRequestSpec* with which it was acquired.\nFor HTTP service requests (when spec is of type HttpServiceRequestSpec)\nthe returned ticket must be used by setting\n*SessionManagerGenericServiceTicket.id*\nas the value of a special cookie in the HTTP request.\nFor CGI requests the name of this cookie is 'vmware\\_cgi\\_ticket'.\nThe use of the returned ticket for other services is to be defined.\n",
        "properties": {
          "id": {
            "description": "A unique string identifying the ticket.\n",
            "type": "string",
            "format": "password"
          },
          "hostName": {
            "description": "The name of the host that the service is running on\n",
            "type": "string"
          },
          "sslThumbprint": {
            "description": "The expected thumbprint of the SSL certificate of the host.\n\nIf it is empty, the host must be authenticated by name.\n",
            "type": "string"
          },
          "certThumbprintList": {
            "description": "List of expected thumbprints of the certificate of the host to\nwhich we are connecting.\n\nThe list can be configured on the host\nto include only certain hash types. The default configuration\nincludes all hash types that are considered secure. See vmware.com\nfor the current security standards.\n\n***Since:*** vSphere API Release 7.0.3.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCertThumbprint"
            }
          },
          "ticketType": {
            "description": "Type of the ticket\nSee { @Vim::SessionManager::GenericServiceTicket::TicketType }\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSessionManagerGenericServiceTicket": {
        "type": "object",
        "description": "A boxed array of *SessionManagerGenericServiceTicket*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionManagerGenericServiceTicket"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SessionManagerHttpServiceRequestSpec": {
        "type": "object",
        "description": "This data object type describes a request to an HTTP or HTTPS service.\n",
        "properties": {
          "method": {
            "description": "The HTTP method used for the request.\n\nIf null, then any method is assumed.\n\nSee also *SessionManagerHttpServiceRequestSpecMethod_enum*.\n",
            "type": "string"
          },
          "url": {
            "description": "URL of the HTTP request.\n\nE.g. 'https://127.0.0.1:8080/cgi-bin/vm-support.cgi?n=val'.\n\nFor ESXi CGI service requests:\n- only the path and query parts of the URL are used\n  (e.g. \"/cgi-bin/vm-support.cgi?n=val\"). \n  \nThis is so because the scheme is not known to the CGI service,\nand the port may not be the same if using a proxy.\n",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionManagerServiceRequestSpec"
          }
        ]
      },
      "ArrayOfSessionManagerHttpServiceRequestSpec": {
        "type": "object",
        "description": "A boxed array of *SessionManagerHttpServiceRequestSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionManagerHttpServiceRequestSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SessionManagerLocalTicket": {
        "type": "object",
        "description": "This data object type contains the user name\nand location of the file containing the password that\nclients can use for one-time logon to a server.\n",
        "properties": {
          "userName": {
            "description": "User name to be used for logon.\n",
            "type": "string"
          },
          "passwordFilePath": {
            "description": "Absolute local path to the file containing a one-time password.\n",
            "type": "string"
          }
        },
        "required": [
          "userName",
          "passwordFilePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSessionManagerLocalTicket": {
        "type": "object",
        "description": "A boxed array of *SessionManagerLocalTicket*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionManagerLocalTicket"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SessionManagerServiceRequestSpec": {
        "type": "object",
        "description": "This data object type describes a request to a service.\n\nIt is used as argument to\n*SessionManager.AcquireGenericServiceTicket*.\nThis is the base class for more specific service request specifications.\nE.g. for HTTP services the derived class will provide a URL property.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSessionManagerServiceRequestSpec": {
        "type": "object",
        "description": "A boxed array of *SessionManagerServiceRequestSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionManagerServiceRequestSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SessionManagerVmomiServiceRequestSpec": {
        "type": "object",
        "description": "This data object type describes a request to invoke a specific method\nin a VMOMI service.\n\nIt currently only supports {link vim.SessionManager#cloneSession} method.\nThe GenericServiceTicket.id returned from\n*SessionManager.AcquireGenericServiceTicket* for this request\ncan be use for *SessionManager.CloneSession* to clone a session\n",
        "properties": {
          "method": {
            "description": "Name of the method identified by this request spec\n",
            "type": "string"
          }
        },
        "required": [
          "method"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionManagerServiceRequestSpec"
          }
        ]
      },
      "ArrayOfSessionManagerVmomiServiceRequestSpec": {
        "type": "object",
        "description": "A boxed array of *SessionManagerVmomiServiceRequestSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionManagerVmomiServiceRequestSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SharesInfo": {
        "type": "object",
        "description": "Specification of shares.\n\nShares are used to determine relative allocation between resource consumers.\nIn general, a consumer with more shares gets proportionally more of\nthe resource, subject to certain other constraints.\n",
        "properties": {
          "shares": {
            "description": "The number of shares allocated.\n\nUsed to determine resource allocation in case of\nresource contention. This value is only set if level is set to custom. If level is\nnot set to custom, this value is ignored. Therefore, only shares with custom\nvalues can be compared.\n\nThere is no unit for this value. It is a relative measure based on the settings\nfor other resource pools.\n",
            "type": "integer",
            "format": "int32"
          },
          "level": {
            "description": "The allocation level.\n\nThe level is a simplified view of shares.\nLevels map to a pre-determined set of numeric values for shares.\nIf the shares value does not map to a predefined size, then\nthe level is set as custom.\n",
            "$ref": "#/components/schemas/SharesLevel_enum"
          }
        },
        "required": [
          "shares",
          "level"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSharesInfo": {
        "type": "object",
        "description": "A boxed array of *SharesInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharesInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SharesOption": {
        "type": "object",
        "description": "Specification of shares.\n\nObject of this class specifies value ranges for object of\ninstance *SharesInfo*\n",
        "properties": {
          "sharesOption": {
            "description": "Value range which can be used for share definition\nin *SharesInfo.shares*\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "defaultLevel": {
            "description": "Default value for *SharesInfo.level*\n",
            "$ref": "#/components/schemas/SharesLevel_enum"
          }
        },
        "required": [
          "sharesOption",
          "defaultLevel"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSharesOption": {
        "type": "object",
        "description": "A boxed array of *SharesOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharesOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SingleIp": {
        "type": "object",
        "description": "This class specifies a single IP address.\n",
        "properties": {
          "address": {
            "description": "The IP address.\n\nThe value of this property should either be an\nIPv4 address such as \"192.168.0.1\" or an IPv6 address such as\n\"fc00:192:168:0:6cd9:a132:e889:b612\"\n",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IpAddress"
          }
        ]
      },
      "ArrayOfSingleIp": {
        "type": "object",
        "description": "A boxed array of *SingleIp*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SingleIp"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SingleMac": {
        "type": "object",
        "description": "This class defines a Single MAC address.\n",
        "properties": {
          "address": {
            "description": "The MAC address.\n\nThe value for this property should be in the form\nlike \"00:50:56:bc:ef:ab\".\n",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MacAddress"
          }
        ]
      },
      "ArrayOfSingleMac": {
        "type": "object",
        "description": "A boxed array of *SingleMac*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SingleMac"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SiteInfo": {
        "type": "object",
        "description": "This data object type represents the external site-related capabilities\navailable in the environment managed by this vCenter.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSiteInfo": {
        "type": "object",
        "description": "A boxed array of *SiteInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StoragePodSummary": {
        "type": "object",
        "description": "The *StoragePodSummary* data object\nencapsulates runtime properties of a *StoragePod*.\n",
        "properties": {
          "name": {
            "description": "The name of the storage pod.\n",
            "type": "string"
          },
          "capacity": {
            "description": "Total capacity of this storage pod, in bytes.\n\nThis value is the sum of the\ncapacity of all datastores that are part of this storage pod, and is updated\nperiodically by the server.\n",
            "type": "integer",
            "format": "int64"
          },
          "freeSpace": {
            "description": "Total free space on this storage pod, in bytes.\n\nThis value is the sum of the\nfree space on all datastores that are part of this storage pod, and is updated\nperiodically by the server.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "name",
          "capacity",
          "freeSpace"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStoragePodSummary": {
        "type": "object",
        "description": "A boxed array of *StoragePodSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoragePodSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageIOAllocationInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nThe IOAllocationInfo specifies the shares, limit and reservation\nfor storage I/O resource.\n\nThe storage I/O resource is allocated to virtual machines based on their\nshares, limit and reservation. The reservation is currently exposed only\nat the host level for local and shared datastores.\nWe do not support storage I/O resource management on resource pools.\n\nEach virtual machine has one IOAllocationInfo object per virtual\ndisk. For example, we can specify that a virtual machine has 500 shares\non the first virtual disk, 1000 shares on the second virtual disk, etc.\n",
        "properties": {
          "limit": {
            "description": "The utilization of a virtual machine will not exceed this limit, even\nif there are available resources.\n\nThis is typically used to ensure a consistent\nperformance of virtual machines independent of available resources.\nIf set to -1, then there is no fixed limit on resource usage (only\nbounded by available resources and shares). The unit is number of\nI/O per second.\nWhile setting the limit for storage I/O resource, if the property is unset,\nit is treated as no change and the property is not updated. While reading\nback the limit information of storage I/O resource, if the property is unset,\na default value of -1 will be returned, which indicates that there is no\nlimit on resource usage.\n",
            "type": "integer",
            "format": "int64"
          },
          "shares": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nShares are used in case of resource contention.\n\nThe value should be within a range of 200 to 4000.\nWhile setting shares for storage I/O resource, if the property is unset,\nit is treated as no change and the property is not updated. While reading\nback the shares information of storage I/O resource, if the property is unset,\na default value of *SharesInfo.level* = normal,\n*SharesInfo.shares* = 1000 will be returned.\n",
            "$ref": "#/components/schemas/SharesInfo"
          },
          "reservation": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nReservation control is used to provide guaranteed allocation in terms\nof IOPS.\n\nLarge IO sizes are considered as multiple IOs using a chunk\nsize of 32 KB as default. This control is initially supported only\nat host level for local datastores. It future, it may get supported\non shared storage based on integration with Storage IO Control.\nAlso right now we don't do any admission control based on IO\nreservation values.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageIOAllocationInfo": {
        "type": "object",
        "description": "A boxed array of *StorageIOAllocationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageIOAllocationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageIOAllocationOption": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nThe IOAllocationOption specifies value ranges that can be used\nto initialize *StorageIOAllocationInfo* object.\n",
        "properties": {
          "limitOption": {
            "description": "limitOptions defines a range of values allowed to be used for\nstorage IO limit *StorageIOAllocationInfo.limit*.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "sharesOption": {
            "description": "sharesOption defines a range of values allowed to be used to\nspecify allocated io shares *StorageIOAllocationInfo.shares*.\n",
            "$ref": "#/components/schemas/SharesOption"
          }
        },
        "required": [
          "limitOption",
          "sharesOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageIOAllocationOption": {
        "type": "object",
        "description": "A boxed array of *StorageIOAllocationOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageIOAllocationOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageIORMInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nConfiguration of storage I/O resource management.\n",
        "properties": {
          "enabled": {
            "description": "Flag indicating whether or not the service is enabled.\n",
            "type": "boolean"
          },
          "congestionThresholdMode": {
            "description": "Mode of congestion threshold specification\nFor more information, see\n*StorageIORMThresholdMode_enum*\n",
            "type": "string"
          },
          "congestionThreshold": {
            "description": "The latency beyond which the storage array is considered congested.\n\nIf storage I/O resource management is enabled on a datastore,\nthe algorithm tries to maintain the latency to be below or\nclose to this value. The unit is millisecond. The range of\nthis value is between 5 to 100 milliseconds.\n",
            "type": "integer",
            "format": "int32"
          },
          "percentOfPeakThroughput": {
            "description": "The percentage of peak throughput to be used for setting congestion threshold\nof a datastore.\n\nValid values are between 50 to 100. Default value is 90%\n\nFor more information, see\n*StorageIORMInfo.congestionThreshold*\n",
            "type": "integer",
            "format": "int32"
          },
          "statsCollectionEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5, use *StorageIORMInfo.enabled* instead.\n\nFlag indicating whether service is running in stats collection mode.\n",
            "type": "boolean"
          },
          "reservationEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nFlag indicating whether IO reservations support is enabled.\n",
            "type": "boolean"
          },
          "statsAggregationDisabled": {
            "description": "Flag indicating whether stats aggregation is disabled.\n",
            "type": "boolean"
          },
          "reservableIopsThreshold": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nStorage DRS makes storage migration recommendations\nif total IOPs reservation for all VMs running on the\ndatastore is higher than specified threshold value.\n\nThis value (if present) overrides\n*vim.StorageResourceManager.PodConfigInfo.reservableIopsThreshold*\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "enabled",
          "congestionThresholdMode",
          "congestionThreshold",
          "statsCollectionEnabled",
          "reservationEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageIORMInfo": {
        "type": "object",
        "description": "A boxed array of *StorageIORMInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageIORMInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageIORMConfigOption": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nConfiguration setting ranges for *StorageIORMConfigSpec* object.\n",
        "properties": {
          "enabledOption": {
            "description": "enabledOption provides default state value for\n*StorageIORMConfigSpec.enabled*\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "congestionThresholdOption": {
            "description": "congestionThresholdOption defines value range which can be used for\n*StorageIORMConfigSpec.congestionThreshold*\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "statsCollectionEnabledOption": {
            "description": "statsCollectionEnabledOption provides default value for\n*StorageIORMConfigSpec.statsCollectionEnabled*\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "reservationEnabledOption": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nreservationEnabledOption provides default value for\n*StorageIORMConfigSpec.reservationEnabled*\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "enabledOption",
          "congestionThresholdOption",
          "statsCollectionEnabledOption",
          "reservationEnabledOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageIORMConfigOption": {
        "type": "object",
        "description": "A boxed array of *StorageIORMConfigOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageIORMConfigOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageIORMConfigSpec": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nConfiguration settings used for creating or reconfiguring\nstorage I/O resource management.\n\nAll fields are defined as optional. If a field is unset,\nthe property is not changed.\n",
        "properties": {
          "enabled": {
            "description": "Flag indicating whether or not the service is enabled.\n",
            "type": "boolean"
          },
          "congestionThresholdMode": {
            "description": "Mode of congestion threshold specification\nFor more information, see\n*StorageIORMThresholdMode_enum*\n",
            "type": "string"
          },
          "congestionThreshold": {
            "description": "The latency beyond which the storage array is considered congested.\n\nFor more information, see\n*StorageIORMInfo.congestionThreshold*\n",
            "type": "integer",
            "format": "int32"
          },
          "percentOfPeakThroughput": {
            "description": "The percentage of peak throughput to be used for setting threshold latency\nof a datastore.\n\nValid values are between 50 to 100.\n\nFor more information, see\n*StorageIORMInfo.congestionThreshold*\n",
            "type": "integer",
            "format": "int32"
          },
          "statsCollectionEnabled": {
            "description": "Flag indicating whether the service is enabled in stats collection mode.\n",
            "type": "boolean"
          },
          "reservationEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nFlag indicating whether IO reservations support is enabled.\n",
            "type": "boolean"
          },
          "statsAggregationDisabled": {
            "description": "Flag indicating whether stats aggregation is disabled.\n",
            "type": "boolean"
          },
          "reservableIopsThreshold": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nStorage DRS makes storage migration recommendations\nif total IOPs reservation for all VMs running on the\ndatastore is higher than specified threshold value.\n\nThis value (if present) overrides\n*vim.StorageResourceManager.PodConfigInfo.reservableIopsThreshold*\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageIORMConfigSpec": {
        "type": "object",
        "description": "A boxed array of *StorageIORMConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageIORMConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PodStorageDrsEntry": {
        "type": "object",
        "description": "An entry containing storage DRS configuration, runtime\nresults, and history for a pod *StoragePod*.\n",
        "properties": {
          "storageDrsConfig": {
            "description": "Storage DRS configuration.\n",
            "$ref": "#/components/schemas/StorageDrsConfigInfo"
          },
          "recommendation": {
            "description": "List of recommended actions for the Storage Pod.\n\nIt is\npossible that the current set of recommendations may be empty,\neither due to not having any running dynamic recommendation\ngeneration module, or since there may be no recommended actions\nat this time.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRecommendation"
            }
          },
          "drsFault": {
            "description": "A collection of the DRS faults generated in the last Storage DRS invocation.\n\nEach element of the collection is the set of faults generated in one\nrecommendation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsFaults"
            }
          },
          "actionHistory": {
            "description": "The set of actions that have been performed recently.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterActionHistory"
            }
          }
        },
        "required": [
          "storageDrsConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPodStorageDrsEntry": {
        "type": "object",
        "description": "A boxed array of *PodStorageDrsEntry*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodStorageDrsEntry"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StoragePerformanceSummary": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nSummary statistics for datastore performance\nThe statistics are reported in aggregated quantiles over a time period\n",
        "properties": {
          "interval": {
            "description": "Time period over which statistics are aggregated\nThe reported time unit is in seconds\n",
            "type": "integer",
            "format": "int32"
          },
          "percentile": {
            "description": "Metric percentile specification.\n\nA percentile is a value\nbetween 1 and 100. The metric value reported in the\naggregated statistics corresponds with the percentile values\nin this field. For example, if the value of percentile\\[0\\] is\nP, and the value of the datastoreReadLatency\\[0\\] is L, then\nP% of all the read IOs performed during observation interval\nis less than L milliseconds.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "datastoreReadLatency": {
            "description": "Aggregated datastore latency in milliseconds for read operations\n",
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            }
          },
          "datastoreWriteLatency": {
            "description": "Aggregated datastore latency in milliseconds for write operations\n",
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            }
          },
          "datastoreVmLatency": {
            "description": "Aggregated datastore latency as observed by Vms using the datastore\nThe reported latency is in milliseconds.\n",
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            }
          },
          "datastoreReadIops": {
            "description": "Aggregated datastore Read IO rate (Reads/second)\n",
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            }
          },
          "datastoreWriteIops": {
            "description": "Aggregated datastore Write IO rate (Writes/second)\n",
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            }
          },
          "siocActivityDuration": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nCumulative SIOC activity to satisfy SIOC latency threshold\nsetting.\n\nThis metric indicates the total time that SIOC is\nactively throttling IO requests. The SIOC throttling\nactivity occurs whenever the datastore latency exceeds the\nSIOC latency threshold. If SIOC is not enabled on the\ndatastore, the metric indicates the total time that SIOC\nwould have been active. The unit of reporting is in\nmilliseconds.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "interval",
          "percentile",
          "datastoreReadLatency",
          "datastoreWriteLatency",
          "datastoreVmLatency",
          "datastoreReadIops",
          "datastoreWriteIops",
          "siocActivityDuration"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStoragePerformanceSummary": {
        "type": "object",
        "description": "A boxed array of *StoragePerformanceSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoragePerformanceSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageResourceManagerStorageProfileStatistics": {
        "type": "object",
        "description": "A data object to report aggregate storage statistics by storage\nprofile\n",
        "properties": {
          "profileId": {
            "description": "Profile identifier for the reported statistics\n",
            "type": "string"
          },
          "totalSpaceMB": {
            "description": "The aggregate storage capacity available for a given storage\ncapability profile.\n\nThe capacity is reported in Megabytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "usedSpaceMB": {
            "description": "The aggregate used storage capacity by a given storage capability\nprofile\nThe used space is reported in Megabytes\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "profileId",
          "totalSpaceMB",
          "usedSpaceMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageResourceManagerStorageProfileStatistics": {
        "type": "object",
        "description": "A boxed array of *StorageResourceManagerStorageProfileStatistics*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageResourceManagerStorageProfileStatistics"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StringExpression": {
        "type": "object",
        "description": "The string type of setting or configuration that may get a\nnegated value.\n",
        "properties": {
          "value": {
            "description": "The String value that is either used as it is or negated.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/NegatableExpression"
          }
        ]
      },
      "ArrayOfStringExpression": {
        "type": "object",
        "description": "A boxed array of *StringExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StringExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StringPolicy": {
        "type": "object",
        "description": "The string type of setting or configuration that may get an\ninherited value.\n",
        "properties": {
          "value": {
            "description": "The String value that is either set or inherited.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfStringPolicy": {
        "type": "object",
        "description": "A boxed array of *StringPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StringPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Tag": {
        "type": "object",
        "description": "Defines a tag that can be associated with a managed entity.\n",
        "properties": {
          "key": {
            "description": "The tag key in human readable form.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTag": {
        "type": "object",
        "description": "A boxed array of *Tag*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskDescription": {
        "type": "object",
        "description": "Static strings for task objects.\n\nThese strings are locale-specific.\n",
        "properties": {
          "methodInfo": {
            "description": "Display label and summary for all tasks\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "state": {
            "description": "*TaskInfo State enum*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "reason": {
            "description": "Kind of entity responsible for creating this task.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TypeDescription"
            }
          }
        },
        "required": [
          "methodInfo",
          "state",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskDescription": {
        "type": "object",
        "description": "A boxed array of *TaskDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskFilterSpec": {
        "type": "object",
        "description": "This data object type defines the specification for the task filter used\nto query tasks in the history collector database.\n\nThe client creates a task\nhistory collector with a filter specification, then retrieves the tasks from\nthe task history collector.\n",
        "properties": {
          "entity": {
            "description": "The filter specification for retrieving tasks by managed entity.\n\nIf not provided, then the tasks attached to all managed entities are\ncollected.\n",
            "$ref": "#/components/schemas/TaskFilterSpecByEntity"
          },
          "time": {
            "description": "The filter specification for retrieving tasks by time.\n\nIf not provided, then the tasks with any time stamp are collected.\n",
            "$ref": "#/components/schemas/TaskFilterSpecByTime"
          },
          "userName": {
            "description": "The filter specification for retrieving tasks by user name.\n\nIf not provided, then the tasks belonging to any user are collected.\n",
            "$ref": "#/components/schemas/TaskFilterSpecByUsername"
          },
          "activationId": {
            "description": "This property, if provided, limits the set of collected tasks to those\nassociated with the specified activation Ids.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "state": {
            "description": "This property, if provided, limits the set of collected tasks by their states.\n\nTask states are enumerated in *State*.\nIf not provided, tasks are collected regardless of their state.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskInfoState_enum"
            }
          },
          "alarm": {
            "description": "This property, if provided, limits the set of collected tasks to those\nassociated with the specified alarm.\n\nIf not provided, tasks are collected regardless of their association with alarms.\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "scheduledTask": {
            "description": "This property, if provided, limits the set of collected tasks to those\nassociated with the specified scheduled task.\n\nIf not provided, tasks are collected regardless of their association with any\nscheduled task.\n\nRefers instance of *ScheduledTask*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "eventChainId": {
            "description": "The filter specification for retrieving tasks by chain ID.\n\nIf it is set,\ntasks not with the given *TaskInfo.eventChainId* will be\nfiltered out. If the property is not set, tasks' chain ID is disregarded\nfor filtering purposes.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "tag": {
            "description": "The filter specification for retrieving tasks by\n*tag*.\n\nIf it is set, tasks not with the given tag(s)\nwill be filtered out. If the property is not set, tasks' tag is disregarded for\nfiltering purposes. If it is set, and includes an empty string, tasks without a\ntag will be returned.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "parentTaskKey": {
            "description": "The filter specification for retrieving tasks by\n*TaskInfo.parentTaskKey*.\n\nIf it is set, tasks not with the\ngiven parentTaskKey(s) will be filtered out. If the property is not set,\ntasks' parentTaskKey is disregarded for filtering purposes.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "rootTaskKey": {
            "description": "The filter specification for retrieving tasks by\n*TaskInfo.rootTaskKey*.\n\nIf it is set, tasks not with the\ngiven rootTaskKey(s) will be filtered out. If the property is not set,\ntasks' rootTaskKey is disregarded for filtering purposes.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskFilterSpec": {
        "type": "object",
        "description": "A boxed array of *TaskFilterSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskFilterSpecByEntity": {
        "type": "object",
        "description": "This data object type specifies a managed entity used to\nfilter task history.\n",
        "properties": {
          "entity": {
            "description": "The managed entity to which the task pertains.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "recursion": {
            "description": "Specification of related managed entities in the inventory hierarchy.\n",
            "$ref": "#/components/schemas/TaskFilterSpecRecursionOption_enum"
          }
        },
        "required": [
          "entity",
          "recursion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskFilterSpecByEntity": {
        "type": "object",
        "description": "A boxed array of *TaskFilterSpecByEntity*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskFilterSpecByEntity"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskFilterSpecByTime": {
        "type": "object",
        "description": "This data object type specifies a time range used to filter task history.\n",
        "properties": {
          "timeType": {
            "description": "The time stamp to filter: queued, started, or completed time.\n",
            "$ref": "#/components/schemas/TaskFilterSpecTimeOption_enum"
          },
          "beginTime": {
            "description": "The beginning of the time range.\n\nIf this property is not specified, then tasks are collected from\nthe earliest time in the database.\n\nWhen this property is specified, the time type field must also be specified.\n",
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "description": "The end of the time range.\n\nIf this property is not specified, then tasks are collected up to\nthe latest time in the database.\n\nWhen this property is specified, the time type field must also be specified.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "timeType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskFilterSpecByTime": {
        "type": "object",
        "description": "A boxed array of *TaskFilterSpecByTime*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskFilterSpecByTime"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskFilterSpecByUsername": {
        "type": "object",
        "description": "This data object type enables you to filter task history according to\nthe users who performed the tasks.\n",
        "properties": {
          "systemUser": {
            "description": "Whether or not to filter by system user.\n\nIf set to true, filters for system user event.\n",
            "type": "boolean"
          },
          "userList": {
            "description": "Specifies the username list to use in the filter.\n\nIf not set, then all regular user tasks are collected.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "systemUser"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskFilterSpecByUsername": {
        "type": "object",
        "description": "A boxed array of *TaskFilterSpecByUsername*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskFilterSpecByUsername"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskInfo": {
        "type": "object",
        "description": "This data object type contains all information about a task.\n\nA task\nrepresents an operation performed by VirtualCenter or ESX.\n",
        "properties": {
          "key": {
            "description": "The unique key for the task.\n",
            "type": "string"
          },
          "task": {
            "description": "The managed object that represents this task.\n\nRefers instance of *Task*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "description": {
            "description": "The description field of the task describes the current phase of\noperation of the task.\n\nFor a task that does a single monolithic\nactivity, this will be fixed and unchanging.\nFor tasks that have various substeps, this field will change\nas the task progresses from one phase to another.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          },
          "name": {
            "description": "The name of the operation that created the task.\n\nThis is not set\nfor internal tasks.\n",
            "type": "string"
          },
          "descriptionId": {
            "description": "An identifier for this operation.\n\nThis includes publicly visible\ninternal tasks and is a lookup in the TaskDescription methodInfo\ndata object.\n",
            "type": "string"
          },
          "entity": {
            "description": "Managed entity to which the operation applies.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entityName": {
            "description": "The name of the managed entity, locale-specific, retained for the\nhistory collector database.\n",
            "type": "string"
          },
          "locked": {
            "description": "If the state of the task is \"running\", then this property is a list of\nmanaged entities that the operation has locked, with a shared lock.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "state": {
            "description": "Runtime status of the task.\n",
            "$ref": "#/components/schemas/TaskInfoState_enum"
          },
          "cancelled": {
            "description": "Flag to indicate whether or not the client requested\ncancellation of the task.\n",
            "type": "boolean"
          },
          "cancelable": {
            "description": "Flag to indicate whether or not the cancel task operation is supported.\n",
            "type": "boolean"
          },
          "error": {
            "description": "If the task state is \"error\", then this property contains the fault code.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "result": {
            "description": "If the task state is \"success\", then this property may be used\nto hold a return value.\n",
            "$ref": "#/components/schemas/Any"
          },
          "progress": {
            "description": "If the task state is \"running\", then this property contains a\nprogress measurement, expressed as percentage completed, from 0 to 100.\n\nIf this property is not set, then the command does not report progress.\n",
            "type": "integer",
            "format": "int32"
          },
          "progressDetails": {
            "description": "***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          },
          "reason": {
            "description": "Kind of entity responsible for creating this task.\n",
            "$ref": "#/components/schemas/TaskReason"
          },
          "queueTime": {
            "description": "Time stamp when the task was created.\n",
            "type": "string",
            "format": "date-time"
          },
          "startTime": {
            "description": "Time stamp when the task started running.\n",
            "type": "string",
            "format": "date-time"
          },
          "completeTime": {
            "description": "Time stamp when the task was completed (whether success or failure).\n",
            "type": "string",
            "format": "date-time"
          },
          "eventChainId": {
            "description": "Event chain ID that leads to the corresponding events.\n",
            "type": "integer",
            "format": "int32"
          },
          "changeTag": {
            "description": "The user entered tag to identify the operations and their side effects\n",
            "type": "string"
          },
          "parentTaskKey": {
            "description": "Tasks can be created by another task.\n\nThis shows *TaskInfo.key* of the task spun off this task. This is to\ntrack causality between tasks.\n",
            "type": "string"
          },
          "rootTaskKey": {
            "description": "Tasks can be created by another task and such creation can go on for\nmultiple levels.\n\nThis is the *TaskInfo.key* of the task\nthat started the chain of tasks.\n",
            "type": "string"
          },
          "activationId": {
            "description": "The activation Id is a client-provided token to link an API call with a task.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "task",
          "descriptionId",
          "state",
          "cancelled",
          "cancelable",
          "reason",
          "queueTime",
          "eventChainId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskInfo": {
        "type": "object",
        "description": "A boxed array of *TaskInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskInfoFilterSpec": {
        "type": "object",
        "description": "This data object type defines the specification for the filter used\nto include or exclude various information from the tasks while retrieving\nfrom the history collector database.\n\nThe client creates a task history\ncollector with *TaskFilterSpec* along with this optional\nspec, then retrieves the tasks from the task history collector.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "filterTaskResults": {
            "description": "The filter specification for filtering out tasks' results.\n\nIf it is set, then the\nresults information will be included or excluded based on the supplied parameters. If it is\nnot set, then results information of all tasks will be included.\n",
            "$ref": "#/components/schemas/TaskInfoFilterSpecFilterTaskResults"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskInfoFilterSpec": {
        "type": "object",
        "description": "A boxed array of *TaskInfoFilterSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskInfoFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskInfoFilterSpecFilterTaskResults": {
        "type": "object",
        "description": "This data object type enables to filter the results information for\nall or the specified tasks.\n\n1\\. If removeAll=true, the results information of all tasks will be excluded.\n2\\. If removeAll=false/unset:\na. If descriptionIds is empty, the results information of all tasks will be included.\nb. If descriptionIds is non-empty:\ni. If filterIn=true, the results information of all tasks will be included.\nii. If filterIn=false/unset, the results information of all tasks will be excluded.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "removeAll": {
            "description": "Excludes results information of all tasks.\n\nIf set to true, the results information of all tasks will be excluded.\n",
            "type": "boolean"
          },
          "descriptionIds": {
            "description": "The description IDs of tasks that have to be filtered out.\n\nThe *TaskInfoFilterSpecFilterTaskResults.filterIn*\noption can switch the behavior to filter in.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filterIn": {
            "description": "Boolean Flag to invert the filter semantics to filter in the results instead of\nfiltering out.\n\nIf set to true, then the results of only the tasks specified by the\n*TaskInfoFilterSpecFilterTaskResults.descriptionIds* will be included.\nIf unset or set to false, then the results of only the tasks specified by the\n*TaskInfoFilterSpecFilterTaskResults.descriptionIds* will be excluded.\nThis boolean flag will only be considered if descriptionsIds is non-empty and if removeAll is false.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskInfoFilterSpecFilterTaskResults": {
        "type": "object",
        "description": "A boxed array of *TaskInfoFilterSpecFilterTaskResults*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskInfoFilterSpecFilterTaskResults"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskReason": {
        "type": "object",
        "description": "Base type for all task reasons.\n\nTask reasons represent the kind of entity responsible for a task's creation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskReason": {
        "type": "object",
        "description": "A boxed array of *TaskReason*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskReason"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskReasonAlarm": {
        "type": "object",
        "description": "Indicates that the task was queued by an alarm.\n",
        "properties": {
          "alarmName": {
            "description": "The name of the alarm that queued the task, retained in the history\ncollector database.\n",
            "type": "string"
          },
          "alarm": {
            "description": "The alarm object that queued the task.\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entityName": {
            "description": "The name of the managed entity on which the alarm is triggered,\nretained in the history collector database.\n",
            "type": "string"
          },
          "entity": {
            "description": "The managed entity object on which the alarm is triggered.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "alarmName",
          "alarm",
          "entityName",
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskReason"
          }
        ]
      },
      "ArrayOfTaskReasonAlarm": {
        "type": "object",
        "description": "A boxed array of *TaskReasonAlarm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskReasonAlarm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskReasonSchedule": {
        "type": "object",
        "description": "Indicates that the task was queued by a scheduled task.\n",
        "properties": {
          "name": {
            "description": "The name of the scheduled task that queued this task.\n",
            "type": "string"
          },
          "scheduledTask": {
            "description": "The scheduledTask object that queued this task.\n\nRefers instance of *ScheduledTask*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name",
          "scheduledTask"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskReason"
          }
        ]
      },
      "ArrayOfTaskReasonSchedule": {
        "type": "object",
        "description": "A boxed array of *TaskReasonSchedule*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskReasonSchedule"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskReasonSystem": {
        "type": "object",
        "description": "Indicates that the task was started by the system (a default task).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskReason"
          }
        ]
      },
      "ArrayOfTaskReasonSystem": {
        "type": "object",
        "description": "A boxed array of *TaskReasonSystem*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskReasonSystem"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskReasonUser": {
        "type": "object",
        "description": "Indicates that the task was queued by a specific user.\n",
        "properties": {
          "userName": {
            "description": "Name of the user that queued the task.\n",
            "type": "string"
          }
        },
        "required": [
          "userName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskReason"
          }
        ]
      },
      "ArrayOfTaskReasonUser": {
        "type": "object",
        "description": "A boxed array of *TaskReasonUser*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskReasonUser"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TypeDescription": {
        "type": "object",
        "description": "Static strings used for describing an object type.\n",
        "properties": {
          "key": {
            "description": "Type being described\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Description"
          }
        ]
      },
      "ArrayOfTypeDescription": {
        "type": "object",
        "description": "A boxed array of *TypeDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TypeDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UpdateVirtualMachineFilesResult": {
        "type": "object",
        "description": "UpdateVirtualMachineFilesResult is the result returned\nto the *Datastore.UpdateVirtualMachineFiles_Task* method.\n",
        "properties": {
          "failedVmFile": {
            "description": "The list of virtual machines files the server has attempted\nto update but failed to update.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateVirtualMachineFilesResultFailedVmFileInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfUpdateVirtualMachineFilesResult": {
        "type": "object",
        "description": "A boxed array of *UpdateVirtualMachineFilesResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateVirtualMachineFilesResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UpdateVirtualMachineFilesResultFailedVmFileInfo": {
        "type": "object",
        "properties": {
          "vmFile": {
            "description": "The file path\n",
            "type": "string"
          },
          "fault": {
            "description": "The reason why the update failed.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "vmFile",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo": {
        "type": "object",
        "description": "A boxed array of *UpdateVirtualMachineFilesResultFailedVmFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateVirtualMachineFilesResultFailedVmFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserSearchResult": {
        "type": "object",
        "description": "When searching for users, the search results in\nsome additional information.\n\nThis object describes\nthe additional information.\n",
        "properties": {
          "principal": {
            "description": "Login name of a user or the name of a group.\n\nThis key is\nthe user within the searched domain.\n",
            "type": "string"
          },
          "fullName": {
            "description": "Full name of the user found by the search, or the description\nof a group, if available.\n",
            "type": "string"
          },
          "group": {
            "description": "If this is true, then the result is a group.\n\nIf this is false, then the\nresult is a user.\n",
            "type": "boolean"
          }
        },
        "required": [
          "principal",
          "group"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfUserSearchResult": {
        "type": "object",
        "description": "A boxed array of *UserSearchResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserSearchResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserSession": {
        "type": "object",
        "description": "Information about a current user session.\n",
        "properties": {
          "key": {
            "description": "A unique identifier for this session,\nalso known as the session ID.\n",
            "type": "string"
          },
          "userName": {
            "description": "The user name represented by this session.\n",
            "type": "string"
          },
          "fullName": {
            "description": "The full name of the user, if available.\n",
            "type": "string"
          },
          "loginTime": {
            "description": "Timestamp when the user last logged on to the server.\n",
            "type": "string",
            "format": "date-time"
          },
          "lastActiveTime": {
            "description": "Timestamp when the user last executed a command.\n",
            "type": "string",
            "format": "date-time"
          },
          "locale": {
            "description": "The locale for the session used for data formatting and preferred for messages.\n",
            "type": "string"
          },
          "messageLocale": {
            "description": "The locale used for messages for the session.\n\nIf there are no localized messages for the user-specified locale, then\nthe server determines this locale.\n",
            "type": "string"
          },
          "extensionSession": {
            "description": "Whether or not this session belongs to a VC Extension.\n",
            "type": "boolean"
          },
          "ipAddress": {
            "description": "The client identity.\n\nIt could be IP address, or pipe name depended\non client binding\n",
            "type": "string"
          },
          "userAgent": {
            "description": "The name of user agent or application\n",
            "type": "string"
          },
          "callCount": {
            "description": "Number of API invocations since the session started\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "key",
          "userName",
          "fullName",
          "loginTime",
          "lastActiveTime",
          "locale",
          "messageLocale",
          "extensionSession",
          "ipAddress",
          "userAgent",
          "callCount"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfUserSession": {
        "type": "object",
        "description": "A boxed array of *UserSession*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserSession"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VVolVmConfigFileUpdateResult": {
        "type": "object",
        "description": "VVolVmConfigFileUpdateResult is the result returned\nby the *Datastore.UpdateVVolVirtualMachineFiles_Task* method.\n",
        "properties": {
          "succeededVmConfigFile": {
            "description": "Mapping of target config VVol IDs to the target virtual machine\nconfig file paths which are successfully updated.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "failedVmConfigFile": {
            "description": "The list of virtual machines config files the server has attempted,\nbut failed to update.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VVolVmConfigFileUpdateResultFailedVmConfigFileInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVVolVmConfigFileUpdateResult": {
        "type": "object",
        "description": "A boxed array of *VVolVmConfigFileUpdateResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VVolVmConfigFileUpdateResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VVolVmConfigFileUpdateResultFailedVmConfigFileInfo": {
        "type": "object",
        "description": "Information of the failed update on the virtual machine config\nfile.\n",
        "properties": {
          "targetConfigVVolId": {
            "description": "The target virtual machine config VVol ID\n",
            "type": "string"
          },
          "dsPath": {
            "description": "Datastore path for the virtual machine that failed to recover\n",
            "type": "string"
          },
          "fault": {
            "description": "The reason why the update failed.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "targetConfigVVolId",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo": {
        "type": "object",
        "description": "A boxed array of *VVolVmConfigFileUpdateResultFailedVmConfigFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VVolVmConfigFileUpdateResultFailedVmConfigFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VASAStorageArray": {
        "type": "object",
        "description": "Represent Storage Array\n",
        "properties": {
          "name": {
            "description": "Name\n",
            "type": "string"
          },
          "uuid": {
            "description": "Unique identifier\n",
            "type": "string"
          },
          "vendorId": {
            "description": "Vendor Id\n",
            "type": "string"
          },
          "modelId": {
            "description": "Model Id\n",
            "type": "string"
          },
          "discoverySvcInfo": {
            "description": "Transport information to address the array's discovery\nservice.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VASAStorageArrayDiscoverySvcInfo"
            }
          }
        },
        "required": [
          "name",
          "uuid",
          "vendorId",
          "modelId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVASAStorageArray": {
        "type": "object",
        "description": "A boxed array of *VASAStorageArray*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VASAStorageArray"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VASAStorageArrayDiscoveryFcTransport": {
        "type": "object",
        "description": "Discovery service information of the array with FC\ntransport.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
        "properties": {
          "nodeWwn": {
            "description": "Node-WWN (World Wide Name) represented in hexadecimal format.\n",
            "type": "string"
          },
          "portWwn": {
            "description": "Port-WWN (World Wide Name) represented in hexadecimal format.\n",
            "type": "string"
          }
        },
        "required": [
          "nodeWwn",
          "portWwn"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVASAStorageArrayDiscoveryFcTransport": {
        "type": "object",
        "description": "A boxed array of *VASAStorageArrayDiscoveryFcTransport*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VASAStorageArrayDiscoveryFcTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VASAStorageArrayDiscoveryIpTransport": {
        "type": "object",
        "description": "Discovery service information of the array with IP\ntransport.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
        "properties": {
          "ipAddress": {
            "description": "IP address (IPv4/v6) of the RDMA/TCP target port.\n",
            "type": "string"
          },
          "portNumber": {
            "description": "Port number.\n\nDefaults to port 8009 (TCP) and RoCEv2\nport 4420 (UDP).\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVASAStorageArrayDiscoveryIpTransport": {
        "type": "object",
        "description": "A boxed array of *VASAStorageArrayDiscoveryIpTransport*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VASAStorageArrayDiscoveryIpTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VASAStorageArrayDiscoverySvcInfo": {
        "type": "object",
        "description": "Discovery service information of storage array.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
        "properties": {
          "portType": {
            "description": "Port type, string as defined in *VASAStorageArrayBlockEnum_enum*.\n",
            "type": "string"
          },
          "svcNqn": {
            "description": "Well-known NQN of discovery service.\n",
            "type": "string"
          },
          "ipInfo": {
            "description": "IP transport discovery information.\n\nMust be specified if\nthe discovery service is IP-based.\n",
            "$ref": "#/components/schemas/VASAStorageArrayDiscoveryIpTransport"
          },
          "fcInfo": {
            "description": "FC transport discovery information.\n\nMust be specified if\nthe discovery service is FC-based.\n",
            "$ref": "#/components/schemas/VASAStorageArrayDiscoveryFcTransport"
          }
        },
        "required": [
          "portType",
          "svcNqn"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVASAStorageArrayDiscoverySvcInfo": {
        "type": "object",
        "description": "A boxed array of *VASAStorageArrayDiscoverySvcInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VASAStorageArrayDiscoverySvcInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VasaProviderContainerSpec": {
        "type": "object",
        "description": "Represents a VASA provider and its related datastores.\n",
        "properties": {
          "vasaProviderInfo": {
            "description": "VASA Providers that manage this volume\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimVasaProviderInfo"
            }
          },
          "scId": {
            "description": "Vendor specified Storage Container ID\n",
            "type": "string"
          },
          "deleted": {
            "description": "Indicates whether the container got deleted\n",
            "type": "boolean"
          },
          "stretched": {
            "description": "Indicates whether container is stretched\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "scId",
          "deleted"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVasaProviderContainerSpec": {
        "type": "object",
        "description": "A boxed array of *VasaProviderContainerSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VasaProviderContainerSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VimVasaProvider": {
        "type": "object",
        "description": "Data object representing VASA Provider.\n",
        "properties": {
          "uid": {
            "description": "Provider UID.\n\nThis is populated with namespace prefixed to providerId,\nwhich uniquely identifies a VASA Provider. Both namespace and providerId\nare sourced from Vasa Provider and available within SMS. This field\nhelps in preventing a regeneration of duplicate VASA Provider within\nvvold when a user attempts to register the same VP using different names\nor alternative urls.\n",
            "type": "string"
          },
          "url": {
            "description": "VASA Provider URL.\n\nIn VirtualHost based MultiVC setup,\nthis is set to default virtual host's URL.\n",
            "type": "string"
          },
          "name": {
            "description": "Name\n",
            "type": "string"
          },
          "selfSignedCertificate": {
            "description": "Self-signed certificate of VASA provider.\n\nIn VirtualHost based MultiVC setup,\nthis is set to default virtual host's self-signed certificate.\n",
            "type": "string"
          },
          "vhostConfig": {
            "description": "Virtual host configuration for VASA Provider when it supports MultiVC\nthrough VirtualHosts.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "$ref": "#/components/schemas/VimVasaProviderVirtualHostConfig"
          },
          "versionId": {
            "description": "SMS supported VASA provider versionId.\n\ni-e if versionX corresponds to VASA version supported\nby SMS, then X needs to be set here.\nversionX corresponds to SMS supported VASA versions are, 1.0-&gt;version1, 1.5-&gt;version2,\n2.0-&gt;version3, 3.0-&gt;version4, 3.5-&gt;version5, 4.0-&gt;version6, 5.0-&gt;version7, etc.\nFor example: If SMS is connecting to VASA 5.0, the this field should be set to 7.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVimVasaProvider": {
        "type": "object",
        "description": "A boxed array of *VimVasaProvider*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimVasaProvider"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VimVasaProviderStatePerArray": {
        "type": "object",
        "description": "Per Storage Array VP status.\n",
        "properties": {
          "priority": {
            "description": "Priority of the provider for the given array\n",
            "type": "integer",
            "format": "int32"
          },
          "arrayId": {
            "description": "Storage Array object Id\n",
            "type": "string"
          },
          "active": {
            "description": "Indicates whether a VASA Provider (*VimVasaProvider.url*) is active\nfor the specified storage array.\n",
            "type": "boolean"
          }
        },
        "required": [
          "priority",
          "arrayId",
          "active"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVimVasaProviderStatePerArray": {
        "type": "object",
        "description": "A boxed array of *VimVasaProviderStatePerArray*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimVasaProviderStatePerArray"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VimVasaProviderVirtualHostConfig": {
        "type": "object",
        "description": "Holds VirtualHost configuration information when VASA 5.0 or greater VVOL VASA Provider\nsupports MultiVC through VirtualHosts.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "vhostName": {
            "description": "Virtual Host FQDN on VASA Provider.\n\nIf set, it's\nused as SNI hostname in outgoing VASA Provider connection.\n",
            "type": "string"
          },
          "serviceHost": {
            "description": "IP address where Virtual Host is running\n",
            "type": "string"
          },
          "servicePort": {
            "description": "Dedicated port for the virtual host.\n\nIf not specified, default VirtualHost port is used to\ncommunicate with VASA Provider.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "serviceHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVimVasaProviderVirtualHostConfig": {
        "type": "object",
        "description": "A boxed array of *VimVasaProviderVirtualHostConfig*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimVasaProviderVirtualHostConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VimVasaProviderInfo": {
        "type": "object",
        "description": "Data object representing VASA Provider information.\n",
        "properties": {
          "provider": {
            "description": "Vasa provider\n",
            "$ref": "#/components/schemas/VimVasaProvider"
          },
          "arrayState": {
            "description": "Per-array State\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimVasaProviderStatePerArray"
            }
          }
        },
        "required": [
          "provider"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVimVasaProviderInfo": {
        "type": "object",
        "description": "A boxed array of *VimVasaProviderInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimVasaProviderInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualAppLinkInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1.\n\nLinked child information.\n",
        "properties": {
          "key": {
            "description": "The key contains a reference to the entity that is linked to this vApp\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destroyWithParent": {
            "description": "Whether the entity should be removed, when this vApp is removed\n",
            "type": "boolean"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualAppLinkInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualAppLinkInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualAppLinkInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualAppSummary": {
        "type": "object",
        "description": "This data object type encapsulates a typical set of resource\npool information that is useful for list views and summary pages.\n",
        "properties": {
          "product": {
            "description": "Product information.\n\nReferences to properties in the URLs are expanded.\n",
            "$ref": "#/components/schemas/VAppProductInfo"
          },
          "vAppState": {
            "description": "Whether the vApp is running\n",
            "$ref": "#/components/schemas/VirtualAppVAppState_enum"
          },
          "suspended": {
            "description": "Whether a vApp is suspended, in the process of being suspended, or in the\nprocess of being resumed.\n\nA stopped vApp is marked as suspended\nunder the following conditions:\n- All child virtual machines are either suspended or powered-off.\n- There is at least one suspended virtual machine for which the\n  stop action is not \"suspend\".\n  \nIf the vAppState property is \"stopped\", the value is set to true if the vApp is\nsuspended (according the the above definition).\n\nIf the vAppState property is \"stopping\" or \"starting\" and the suspend flag is set to\ntrue, then the vApp is either in the process of being suspended or resumed\nfrom a suspended state, respectively.\n\nIf the vAppState property is \"started\", then the suspend flag is set to false.\n",
            "type": "boolean"
          },
          "installBootRequired": {
            "description": "Whether one or more VMs in this vApp require a reboot to finish\ninstallation.\n",
            "type": "boolean"
          },
          "instanceUuid": {
            "description": "vCenter-specific UUID of the vApp\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourcePoolSummary"
          }
        ]
      },
      "ArrayOfVirtualAppSummary": {
        "type": "object",
        "description": "A boxed array of *VirtualAppSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualAppSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceBackedVirtualDiskSpec": {
        "type": "object",
        "description": "Specification used to create a host device backed virtual disk\n",
        "properties": {
          "device": {
            "description": "The deviceName of the backing device\n\nSee also *ScsiLun*.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDiskSpec"
          }
        ]
      },
      "ArrayOfDeviceBackedVirtualDiskSpec": {
        "type": "object",
        "description": "A boxed array of *DeviceBackedVirtualDiskSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceBackedVirtualDiskSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileBackedVirtualDiskSpec": {
        "type": "object",
        "description": "Specification used to create a file based virtual disk\n",
        "properties": {
          "capacityKb": {
            "description": "Specify the capacity of the virtual disk in Kb.\n",
            "type": "integer",
            "format": "int64"
          },
          "profile": {
            "description": "Virtual Disk Profile requirement.\n\nProfiles are solution specifics.\nProfile Based Storage Management is a vSphere server extension.\nThe API users who want to provision VMs using Storage Profiles, need to\ninteract with it.\nThis is an optional parameter and if user doesn't specify profile,\nthe default behavior will apply.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "crypto": {
            "description": "Encryption options for the new virtual disk.\n",
            "$ref": "#/components/schemas/CryptoSpec"
          }
        },
        "required": [
          "capacityKb"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDiskSpec"
          }
        ]
      },
      "ArrayOfFileBackedVirtualDiskSpec": {
        "type": "object",
        "description": "A boxed array of *FileBackedVirtualDiskSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileBackedVirtualDiskSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SeSparseVirtualDiskSpec": {
        "type": "object",
        "description": "Specification used to create an Flex-SE based virtual disk\n",
        "properties": {
          "grainSizeKb": {
            "description": "The grain size in kB for Flex-SE disk types.\n\nDefault value will\nbe used if unset.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/FileBackedVirtualDiskSpec"
          }
        ]
      },
      "ArrayOfSeSparseVirtualDiskSpec": {
        "type": "object",
        "description": "A boxed array of *SeSparseVirtualDiskSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeSparseVirtualDiskSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskSpec": {
        "type": "object",
        "description": "Specification used to create or clone a virtual disk\n",
        "properties": {
          "diskType": {
            "description": "The type of the new virtual disk.\n\nSee also *VirtualDiskType_enum*.\n",
            "type": "string"
          },
          "adapterType": {
            "description": "The type of the virtual disk adapter for the new virtual disk.\n\nSee also *VirtualDiskAdapterType_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "diskType",
          "adapterType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDiskSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConnection": {
        "type": "object",
        "description": "The *VirtualMachineConnection* object describes a connection to the virtual\nmachine.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "label": {
            "description": "The unique identifier associated with the connection.\n\nThe label is a UTF-8 string which specifies a unique identifier for\na connection.\n",
            "type": "string"
          },
          "client": {
            "description": "The client identifer.\n\nThis identifier is a UTF-8 string which is semantically meaningful\nfor the connection. Examples of the client identifier are an IP\naddress (V4 or V6) with or without a port specification, a machine\nname that requires a DNS lookup, or any other network oriented\nidentification scheme.\n",
            "type": "string"
          },
          "userName": {
            "description": "The name of the user authorizing the connection.\n\nThis is used for auditing.\n",
            "type": "string"
          }
        },
        "required": [
          "label",
          "client",
          "userName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineConnection": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConnection*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConnection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskChangeInfo": {
        "type": "object",
        "description": "Data structure to describe areas in a disk associated with this VM that have\nbeen modified since a well-defined point in the past.\n\nReturned by\n*VirtualMachine.QueryChangedDiskAreas*. This data structure describes\na subset of the disk identified by startOffset and length. All areas that\nhave been modified within this interval are listed under changedArea.\n",
        "properties": {
          "startOffset": {
            "description": "Start offset (in bytes) of disk area described by this data structure.\n",
            "type": "integer",
            "format": "int64"
          },
          "length": {
            "description": "Length (in bytes) of disk area described by this data structure.\n",
            "type": "integer",
            "format": "int64"
          },
          "changedArea": {
            "description": "Modified disk areas.\n\nMight be empty if no parts of the disk between\nstartOffset and startOffset + length were modified.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskChangeExtent"
            }
          }
        },
        "required": [
          "startOffset",
          "length"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDiskChangeInfo": {
        "type": "object",
        "description": "A boxed array of *DiskChangeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskChangeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskChangeExtent": {
        "type": "object",
        "description": "An area of the disk flagged as modified\n",
        "properties": {
          "start": {
            "description": "Start offset (in bytes) of modified area\n",
            "type": "integer",
            "format": "int64"
          },
          "length": {
            "description": "Length (in bytes) of modified area\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "start",
          "length"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDiskChangeExtent": {
        "type": "object",
        "description": "A boxed array of *DiskChangeExtent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskChangeExtent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDisplayTopology": {
        "type": "object",
        "description": "This data object defines a two-dimensional, rectangular\ndisplay area.\n",
        "properties": {
          "x": {
            "description": "The x co-ordinate defining the start of the display rectangle.\n",
            "type": "integer",
            "format": "int32"
          },
          "y": {
            "description": "The y co-ordinate defining the start of the display rectangle.\n",
            "type": "integer",
            "format": "int32"
          },
          "width": {
            "description": "The width of the display rectangle.\n",
            "type": "integer",
            "format": "int32"
          },
          "height": {
            "description": "The height of the display rectangle.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "x",
          "y",
          "width",
          "height"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineDisplayTopology": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDisplayTopology*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDisplayTopology"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMksConnection": {
        "type": "object",
        "description": "The *VirtualMachineMksConnection* object describes an MKS style connection\nto the virtual machine.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineConnection"
          }
        ]
      },
      "ArrayOfVirtualMachineMksConnection": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMksConnection*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMksConnection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMksTicket": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.1, use *VirtualMachineTicket*\ninstead.\n\nThis data object contains the information needed to establish an MKS\n(mouse-keyboard-screen) connection to a running virtual machine.\n",
        "properties": {
          "ticket": {
            "description": "The ticket name.\n\nThis is used as the username and password for the MKS\nconnection.\n",
            "type": "string",
            "format": "password"
          },
          "cfgFile": {
            "description": "The name of the configuration file for the virtual machine.\n",
            "type": "string"
          },
          "host": {
            "description": "The host with which to establish a connection.\n\nIf the host is not specified,\nit is assumed that the requesting entity knows the appropriate host with which\nto connect.\n",
            "type": "string"
          },
          "port": {
            "description": "The port number to use.\n\nIf the port is not specified,\nit is assumed that the requesting entity knows the appropriate port to\nuse when making a new connection.\n",
            "type": "integer",
            "format": "int32"
          },
          "sslThumbprint": {
            "description": "The expected thumbprint of the SSL cert of the host to which\nwe are connecting.\n",
            "type": "string"
          }
        },
        "required": [
          "ticket",
          "cfgFile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineMksTicket": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMksTicket*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMksTicket"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageRequirement": {
        "type": "object",
        "description": "Describes the storage requirement to perform a consolidation\noperation.\n",
        "properties": {
          "datastore": {
            "description": "The datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "freeSpaceRequiredInKb": {
            "description": "Space required.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "datastore",
          "freeSpaceRequiredInKb"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageRequirement": {
        "type": "object",
        "description": "A boxed array of *StorageRequirement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageRequirement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineTicket": {
        "type": "object",
        "description": "This data object contains the information needed to establish a\nconnection to a running virtual machine.\n",
        "properties": {
          "ticket": {
            "description": "The ticket name.\n\nThis is used as the username and password for the MKS\nconnection.\n",
            "type": "string",
            "format": "password"
          },
          "cfgFile": {
            "description": "The name of the configuration file for the virtual machine.\n",
            "type": "string"
          },
          "host": {
            "description": "The host with which to establish a connection.\n\nIf the host is not specified,\nit is assumed that the requesting entity knows the appropriate host with which\nto connect.\n",
            "type": "string"
          },
          "port": {
            "description": "The port number to use.\n\nIf the port is not specified,\nit is assumed that the requesting entity knows the appropriate port to\nuse when making a new connection.\n",
            "type": "integer",
            "format": "int32"
          },
          "sslThumbprint": {
            "description": "The expected SHA1 thumbprint of the SSL cert of the host to which we\nare connecting.\n\nThis field can be enabled or disabled on the host.\n",
            "type": "string"
          },
          "certThumbprintList": {
            "description": "List of expected thumbprints of the certificate of the host to\nwhich we are connecting.\n\nThe list can be configured on the host\nto include only certain hash types. The default configuration\nincludes all hash types that are considered secure. See vmware.com\nfor the current security standards.\n\n***Since:*** vSphere API Release 7.0.3.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCertThumbprint"
            }
          },
          "url": {
            "description": "Websocket URL.\n\nSome tickets are \"websocket\" tickets and are best expressed\nas a URL.\n",
            "type": "string"
          }
        },
        "required": [
          "ticket",
          "cfgFile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineTicket": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineTicket*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineTicket"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineWipeResult": {
        "type": "object",
        "description": "Data structure used by wipeDisk to return the amount of disk space that\ncan be saved on an Flex-SE disk if a subsequent shrinkDisk API is invoked\non that disk.\n",
        "properties": {
          "diskId": {
            "description": "The disk id for the disk that was wiped.\n",
            "type": "integer",
            "format": "int32"
          },
          "shrinkableDiskSpace": {
            "description": "The amount of shrinkable disk space in kB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "diskId",
          "shrinkableDiskSpace"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineWipeResult": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineWipeResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineWipeResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemAPIBrokenIssue": {
        "type": "object",
        "description": "Pre-flight check encountered a VC plumbing issue.\n",
        "properties": {
          "hosts": {
            "description": "Hosts this issue applies to.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "hosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemAPIBrokenIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemAPIBrokenIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemAPIBrokenIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemAutoClaimEnabledOnHostsIssue": {
        "type": "object",
        "description": "Pre-flight check encountered at least one host with auto-claim enabled.\n",
        "properties": {
          "hosts": {
            "description": "Hosts this issue applies to.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "hosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemAutoClaimEnabledOnHostsIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemAutoClaimEnabledOnHostsIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemAutoClaimEnabledOnHostsIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemHostsDisconnectedIssue": {
        "type": "object",
        "description": "Pre-flight check encountered at least one host that is disconnected\nor not responding.\n",
        "properties": {
          "hosts": {
            "description": "Hosts this issue applies to.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "hosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemHostsDisconnectedIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemHostsDisconnectedIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemHostsDisconnectedIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemMissingHostsInClusterIssue": {
        "type": "object",
        "description": "Pre-flight check encountered at least one host that is part of the\nVC cluster but not the VSAN cluster.\n",
        "properties": {
          "hosts": {
            "description": "Hosts this issue applies to.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "hosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemMissingHostsInClusterIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemMissingHostsInClusterIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemMissingHostsInClusterIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemNetworkPartitionInfo": {
        "type": "object",
        "description": "Information about a particular group of hosts making up a network partition.\n",
        "properties": {
          "hosts": {
            "description": "Hosts that make up the network partition\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "hosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemNetworkPartitionInfo": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemNetworkPartitionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemNetworkPartitionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemNetworkPartitionIssue": {
        "type": "object",
        "description": "Pre-flight check encountered a network partition.\n\nContains details\nabout the discovered network partition.\n",
        "properties": {
          "partitions": {
            "description": "List of network partitions\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemNetworkPartitionInfo"
            }
          }
        },
        "required": [
          "partitions"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemNetworkPartitionIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemNetworkPartitionIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemNetworkPartitionIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemNotEnoughFreeCapacityIssue": {
        "type": "object",
        "description": "Pre-flight check encountered not enough free disk capacity to maintain policy compliance.\n",
        "properties": {
          "reducedRedundancyUpgradePossible": {
            "description": "Indicates that whether upgrade could be processed if option\nallowReducedRedundancy is taken.\n",
            "type": "boolean"
          }
        },
        "required": [
          "reducedRedundancyUpgradePossible"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemNotEnoughFreeCapacityIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemNotEnoughFreeCapacityIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemNotEnoughFreeCapacityIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemPreflightCheckIssue": {
        "type": "object",
        "description": "Base class for a pre-flight check issue.\n\nCan be used directly\nbut usually a derived class with a specific issue type is used.\n",
        "properties": {
          "msg": {
            "description": "Message describing the issue.\n",
            "type": "string"
          }
        },
        "required": [
          "msg"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemPreflightCheckIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemPreflightCheckIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemPreflightCheckResult": {
        "type": "object",
        "description": "Captures the result of a VSAN upgrade pre-flight check.\n",
        "properties": {
          "issues": {
            "description": "Detected issues.\n\nIn some cases, not all possible issues are captured,\ni.e. only the first (few) issues may be captured, and only once those\nare resolved would additional issues be reported.\nAbsence of issues means the pre-flight check passed.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
            }
          },
          "diskMappingToRestore": {
            "description": "If the upgrade process was previously interrupted, it may have\nremoved VSAN from a disk group, but not added the disk group back\ninto VSAN.\n\nIf such a situation is detected, this field will be set\nand contains information about this disk group.\n",
            "$ref": "#/components/schemas/VsanHostDiskMapping"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemPreflightCheckResult": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemPreflightCheckResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemRogueHostsInClusterIssue": {
        "type": "object",
        "description": "Pre-flight check encountered at least one host that is part of the VSAN\ncluster but not the VC cluster.\n",
        "properties": {
          "uuids": {
            "description": "Host UUIDs of rogue hosts.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "uuids"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemRogueHostsInClusterIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemRogueHostsInClusterIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemRogueHostsInClusterIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemUpgradeHistoryDiskGroupOp": {
        "type": "object",
        "description": "The upgrade process removed or added VSAN from/to a disk group.\n\nClass\nprovides details about the operation and the disk group.\n",
        "properties": {
          "operation": {
            "description": "Type of the operation, e.g.\n\nadd or remove.\n\nSee also *VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum*.\n",
            "type": "string"
          },
          "diskMapping": {
            "description": "Disk group that is being added/removed\n",
            "$ref": "#/components/schemas/VsanHostDiskMapping"
          }
        },
        "required": [
          "operation",
          "diskMapping"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeHistoryItem"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemUpgradeHistoryDiskGroupOp": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemUpgradeHistoryDiskGroupOp*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeHistoryDiskGroupOp"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemUpgradeHistoryItem": {
        "type": "object",
        "description": "Captures one \"log entry\" of an upgrade process.\n",
        "properties": {
          "timestamp": {
            "description": "Time stamp when the history is record.\n",
            "type": "string",
            "format": "date-time"
          },
          "host": {
            "description": "The host a history item pertains to.\n\nMay be unset when item related\nto no particular host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "message": {
            "description": "Description of the history item.\n",
            "type": "string"
          },
          "task": {
            "description": "A task associated with the history item.\n\nMay be unset if no task is\nassociated.\n\nRefers instance of *Task*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "timestamp",
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemUpgradeHistoryItem": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemUpgradeHistoryItem*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeHistoryItem"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemUpgradeHistoryPreflightFail": {
        "type": "object",
        "description": "Upgrade process encountered a pre-flight check failure.\n\nThis leads to\nthe upgrade process aborting the upgrade.\n",
        "properties": {
          "preflightResult": {
            "description": "Details about the failed preflight check.\n",
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckResult"
          }
        },
        "required": [
          "preflightResult"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeHistoryItem"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemUpgradeHistoryPreflightFail": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemUpgradeHistoryPreflightFail*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeHistoryPreflightFail"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemUpgradeStatus": {
        "type": "object",
        "description": "Captures the status of a VSAN cluster on-disk format upgrade.\n\nContains\ninformation about progress, result, and a detailed log of operations.\n",
        "properties": {
          "inProgress": {
            "description": "True if there is an active upgrade process.\n\nIf true, other fields\nare guaranteed to be populated. If false, other fields may reflect\na previous upgrade process run, or they may be unset.\n",
            "type": "boolean"
          },
          "history": {
            "description": "Log of a single upgrade task.\n\nLists all operations performed by the\nupgrade process in chronological order.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeHistoryItem"
            }
          },
          "aborted": {
            "description": "Set if the upgrade process was aborted.\n",
            "type": "boolean"
          },
          "completed": {
            "description": "Set if the upgrade process has completed successfully.\n",
            "type": "boolean"
          },
          "progress": {
            "description": "Progress in percent.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "inProgress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemUpgradeStatus": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemUpgradeStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue": {
        "type": "object",
        "description": "Pre-flight check encountered v2 objects preventing a downgrade.\n",
        "properties": {
          "uuids": {
            "description": "Object UUIDs of v2 objects.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "uuids"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanUpgradeSystemWrongEsxVersionIssue": {
        "type": "object",
        "description": "Pre-flight check encountered at least one host with wrong ESX version.\n\nOnly 6.0 is allowed.\n",
        "properties": {
          "hosts": {
            "description": "Hosts this issue applies to.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "hosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanUpgradeSystemPreflightCheckIssue"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemWrongEsxVersionIssue": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemWrongEsxVersionIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemWrongEsxVersionIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Action": {
        "type": "object",
        "description": "This data object type defines the action initiated by a scheduled task or alarm.\n\nThis is an abstract type.\nA client creates a scheduled task or an alarm each of which triggers\nan action, defined by a subclass of this type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAction": {
        "type": "object",
        "description": "A boxed array of *Action*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Action"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CreateTaskAction": {
        "type": "object",
        "description": "This data object type specifies the type of task to be created\nwhen this action is triggered.\n",
        "properties": {
          "taskTypeId": {
            "description": "Extension registered task type identifier\nfor type of task being created.\n",
            "type": "string"
          },
          "cancelable": {
            "description": "Whether the task should be cancelable.\n",
            "type": "boolean"
          }
        },
        "required": [
          "taskTypeId",
          "cancelable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Action"
          }
        ]
      },
      "ArrayOfCreateTaskAction": {
        "type": "object",
        "description": "A boxed array of *CreateTaskAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateTaskAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MethodAction": {
        "type": "object",
        "description": "This data object type defines an operation and its arguments, invoked\non a particular entity.\n",
        "properties": {
          "name": {
            "description": "Name of the operation.\n",
            "type": "string"
          },
          "argument": {
            "description": "An array consisting of the arguments for the operation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodActionArgument"
            }
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Action"
          }
        ]
      },
      "ArrayOfMethodAction": {
        "type": "object",
        "description": "A boxed array of *MethodAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MethodActionArgument": {
        "type": "object",
        "description": "This data object type defines a named argument for an operation.\n",
        "properties": {
          "value": {
            "description": "The value of the argument.\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfMethodActionArgument": {
        "type": "object",
        "description": "A boxed array of *MethodActionArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodActionArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RunScriptAction": {
        "type": "object",
        "description": "This data object type specifies a script that is triggered by an alarm.\n\nYou can use any elements of the\n*ActionParameter* enumerated list\nas part of your script to provide information available at runtime.\n",
        "properties": {
          "script": {
            "description": "The fully-qualified path to a shell script that runs on the\nVirtualCenter server as a result of an alarm.\n",
            "type": "string"
          }
        },
        "required": [
          "script"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Action"
          }
        ]
      },
      "ArrayOfRunScriptAction": {
        "type": "object",
        "description": "A boxed array of *RunScriptAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RunScriptAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SendEmailAction": {
        "type": "object",
        "description": "This data object type defines an email that is triggered by an\nalarm.\n\nYou can use any\nelements of the *ActionParameter*\nenumerated list as part of your strings to provide information available\nat runtime.\n",
        "properties": {
          "toList": {
            "description": "A comma-separated list of addresses to which the email notification is sent.\n",
            "type": "string"
          },
          "ccList": {
            "description": "A comma-separated list of addresses that are cc'ed on the email notification.\n",
            "type": "string"
          },
          "subject": {
            "description": "Subject of the email notification.\n",
            "type": "string"
          },
          "body": {
            "description": "Content of the email notification.\n",
            "type": "string"
          }
        },
        "required": [
          "toList",
          "ccList",
          "subject",
          "body"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Action"
          }
        ]
      },
      "ArrayOfSendEmailAction": {
        "type": "object",
        "description": "A boxed array of *SendEmailAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SendEmailAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SendSNMPAction": {
        "type": "object",
        "description": "This data object type specifies an SNMP trap that is triggered by an alarm.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Action"
          }
        ]
      },
      "ArrayOfSendSNMPAction": {
        "type": "object",
        "description": "A boxed array of *SendSNMPAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SendSNMPAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmAction": {
        "type": "object",
        "description": "Action invoked by triggered alarm.\n\nThis is an abstract type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmAction": {
        "type": "object",
        "description": "A boxed array of *AlarmAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmDescription": {
        "type": "object",
        "description": "Static strings for alarms.\n",
        "properties": {
          "expr": {
            "description": "Descriptions of expression types for a trigger.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TypeDescription"
            }
          },
          "stateOperator": {
            "description": "*State Operator enum description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "metricOperator": {
            "description": "*MetricAlarmExpression Metric Operator enum description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "hostSystemConnectionState": {
            "description": "*Host System Connection State enum description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "virtualMachinePowerState": {
            "description": "*Virtual Machine Power State enum description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "datastoreConnectionState": {
            "description": "*DatastoreSummary.accessible* and\n*description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "hostSystemPowerState": {
            "description": "*Host System Power State enum description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "virtualMachineGuestHeartbeatStatus": {
            "description": "*Guest Heartbeat Status enum description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "entityStatus": {
            "description": "*ManagedEntity Status enum description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "action": {
            "description": "Action class descriptions for an alarm.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TypeDescription"
            }
          }
        },
        "required": [
          "expr",
          "stateOperator",
          "metricOperator",
          "hostSystemConnectionState",
          "virtualMachinePowerState",
          "datastoreConnectionState",
          "hostSystemPowerState",
          "virtualMachineGuestHeartbeatStatus",
          "entityStatus",
          "action"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmDescription": {
        "type": "object",
        "description": "A boxed array of *AlarmDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmExpression": {
        "type": "object",
        "description": "Base type for the expressions specifying the conditions that define\nthe status of an alarm.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmExpression": {
        "type": "object",
        "description": "A boxed array of *AlarmExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmFilterSpec": {
        "type": "object",
        "description": "Alarm Filter used to filter/group alarms.\n",
        "properties": {
          "status": {
            "description": "Status array which could be used to filter alarms according to their\ntriggered state.\n\nIf all triggered alarms need to be matched an empty array or\nManagedEntity::red and ManagedEntity::yellow could be filled in the array.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedEntityStatus_enum"
            }
          },
          "typeEntity": {
            "description": "Use values from *AlarmFilterSpecAlarmTypeByEntity_enum*\n",
            "type": "string"
          },
          "typeTrigger": {
            "description": "Use values from *AlarmFilterSpecAlarmTypeByTrigger_enum*\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmFilterSpec": {
        "type": "object",
        "description": "A boxed array of *AlarmFilterSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmInfo": {
        "type": "object",
        "description": "Attributes of an alarm.\n",
        "properties": {
          "key": {
            "description": "The unique key.\n",
            "type": "string"
          },
          "alarm": {
            "description": "The alarm object.\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entity": {
            "description": "The entity on which the alarm is registered.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "lastModifiedTime": {
            "description": "The time the alarm was created or modified.\n",
            "type": "string",
            "format": "date-time"
          },
          "lastModifiedUser": {
            "description": "User name that modified the alarm most recently.\n",
            "type": "string"
          },
          "creationEventId": {
            "description": "The event ID that records the alarm creation.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key",
          "alarm",
          "entity",
          "lastModifiedTime",
          "lastModifiedUser",
          "creationEventId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmSpec"
          }
        ]
      },
      "ArrayOfAlarmInfo": {
        "type": "object",
        "description": "A boxed array of *AlarmInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmSetting": {
        "type": "object",
        "description": "Tolerance and frequency limits of an alarm.\n",
        "properties": {
          "toleranceRange": {
            "description": "Tolerance range for the metric triggers, measured in one hundredth percentage.\n\nA zero value means that the alarm\ntriggers whenever the metric value is above\nor below the specified value.\nA nonzero value means that the alarm\ntriggers only after reaching a certain percentage\nabove or below the nominal trigger value.\n",
            "type": "integer",
            "format": "int32"
          },
          "reportingFrequency": {
            "description": "How often the alarm is triggered, measured in seconds.\n\nA zero value means that the alarm is allowed\nto trigger as often as possible.\nA nonzero value means that any subsequent triggers\nare suppressed for a period of seconds following a\nreported trigger.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "toleranceRange",
          "reportingFrequency"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmSetting": {
        "type": "object",
        "description": "A boxed array of *AlarmSetting*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmSetting"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmSpec": {
        "type": "object",
        "description": "Parameters for alarm creation.\n",
        "properties": {
          "name": {
            "description": "Name of the alarm.\n",
            "type": "string"
          },
          "systemName": {
            "description": "System name of the alarm.\n\nThis is set only for predefined Alarms - i.e. Alarms created by the\nserver or extensions automatically. After creation this value cannot be\nmodified. User-created Alarms do not have a systemName at all.\n\nThe purpose of this field is to identify system-created Alarms\nreliably, even if they are edited by users.\n\nWhen creating Alarms with systemName, the systemName and the name of the\nalarm should be equal.\n\nWhen reconfiguring an Alarm with systemName, the same systemName should\nbe passed in the new AlarmSpec. Renaming Alarms with systemName is not\nallowed, i.e. when reconfiguring, the name passed in the new AlarmSpec\nshould be equal to either the systemName or its localized version (the\ncurrent name in the Alarm's info).\n",
            "type": "string"
          },
          "description": {
            "description": "Description of the alarm.\n",
            "type": "string"
          },
          "enabled": {
            "description": "Flag to indicate whether or not the alarm is enabled or disabled.\n",
            "type": "boolean"
          },
          "expression": {
            "description": "Top-level alarm expression that defines trigger conditions.\n",
            "$ref": "#/components/schemas/AlarmExpression"
          },
          "action": {
            "description": "Action to perform when the alarm is triggered.\n",
            "$ref": "#/components/schemas/AlarmAction"
          },
          "actionFrequency": {
            "description": "Frequency in seconds, which specifies how often appropriate actions\nshould repeat when an alarm does not change state.\n",
            "type": "integer",
            "format": "int32"
          },
          "setting": {
            "description": "Tolerance and maximum frequency settings.\n",
            "$ref": "#/components/schemas/AlarmSetting"
          }
        },
        "required": [
          "name",
          "description",
          "enabled",
          "expression"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmSpec": {
        "type": "object",
        "description": "A boxed array of *AlarmSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmState": {
        "type": "object",
        "description": "Information about the alarm's state.\n",
        "properties": {
          "key": {
            "description": "Unique key that identifies the alarm.\n",
            "type": "string"
          },
          "entity": {
            "description": "Entity on which the alarm is instantiated.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "alarm": {
            "description": "Alarm object from which the AlarmState object is instantiated.\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "overallStatus": {
            "description": "Overall status of the alarm object.\n\nThis is the value of the alarm's top-level expression.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "time": {
            "description": "Time the alarm triggered.\n",
            "type": "string",
            "format": "date-time"
          },
          "acknowledged": {
            "description": "Flag to indicate if the alarm's actions have been acknowledged for the\nassociated ManagedEntity.\n",
            "type": "boolean"
          },
          "acknowledgedByUser": {
            "description": "The user who acknowledged this triggering.\n\nIf the triggering has not\nbeen acknowledged, then the value is not valid.\n",
            "type": "string"
          },
          "acknowledgedTime": {
            "description": "The time this triggering was acknowledged.\n\nIf the triggering has not\nbeen acknowledged, then the value is not valid.\n",
            "type": "string",
            "format": "date-time"
          },
          "eventKey": {
            "description": "Contains the key of the event that has triggered the alarm.\n\nThe value\nis set only for event based alarms. The value is not set for gray or\nmanually reset alarms (via vim.AlarmManager.setAlarmStatus).\n",
            "type": "integer",
            "format": "int32"
          },
          "disabled": {
            "description": "Flag to indicate if the alarm is disabled for the associated\nManagedEntity.\n",
            "type": "boolean"
          }
        },
        "required": [
          "key",
          "entity",
          "alarm",
          "overallStatus",
          "time"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmState": {
        "type": "object",
        "description": "A boxed array of *AlarmState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmTriggeringAction": {
        "type": "object",
        "description": "This data object type describes one or more\ntriggering transitions and an action to be done\nwhen an alarm is triggered.\n\nThere are four triggering transitions; at least one of them must\nbe provided. A gray state is considered the same as a green state,\nfor the purpose of detecting transitions.\n",
        "properties": {
          "action": {
            "description": "The action to be done when the alarm is triggered.\n",
            "$ref": "#/components/schemas/Action"
          },
          "transitionSpecs": {
            "description": "Indicates on which transitions this action executes and repeats.\n\nThis is optional only for backwards compatibility.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmTriggeringActionTransitionSpec"
            }
          },
          "green2yellow": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0, use\n*AlarmTriggeringActionTransitionSpec* .\n\nFlag to specify that the alarm should trigger on a transition\nfrom green to yellow.\n",
            "type": "boolean"
          },
          "yellow2red": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0, use\n*AlarmTriggeringActionTransitionSpec* .\n\nFlag to specify that the alarm should trigger on a transition\nfrom yellow to red.\n",
            "type": "boolean"
          },
          "red2yellow": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0, use\n*AlarmTriggeringActionTransitionSpec* .\n\nFlag to specify that the alarm should trigger on a transition\nfrom red to yellow.\n",
            "type": "boolean"
          },
          "yellow2green": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0, use\n*AlarmTriggeringActionTransitionSpec* .\n\nFlag to specify that the alarm should trigger on a transition\nfrom yellow to green.\n",
            "type": "boolean"
          }
        },
        "required": [
          "action",
          "green2yellow",
          "yellow2red",
          "red2yellow",
          "yellow2green"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmAction"
          }
        ]
      },
      "ArrayOfAlarmTriggeringAction": {
        "type": "object",
        "description": "A boxed array of *AlarmTriggeringAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmTriggeringAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmTriggeringActionTransitionSpec": {
        "type": "object",
        "description": "Specification indicating which on transitions this action fires.\n\nThe existence of a Spec indicates that this action fires on\ntransitions from that Spec's startState to finalState.\n\nThere are six acceptable {startState, finalState} pairs:\n{green, yellow}, {green, red}, {yellow, red}, {red, yellow},\n{red, green} and {yellow, green}.\nDirect transitions have precedence over indirect.\nAt least one of these pairs must be specified.\nAny deviation from the above will render the enclosing AlarmSpec invalid.\n",
        "properties": {
          "startState": {
            "description": "The state from which the alarm must transition for the action to\nfire.\n\nValid choices are red, yellow and green.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "finalState": {
            "description": "The state to which the alarm must transition for the action to fire.\n\nValid choices are red, yellow, and green.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "repeats": {
            "description": "Whether or not the action repeats, as per the actionFrequency defined\nin the enclosing Alarm.\n",
            "type": "boolean"
          }
        },
        "required": [
          "startState",
          "finalState",
          "repeats"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAlarmTriggeringActionTransitionSpec": {
        "type": "object",
        "description": "A boxed array of *AlarmTriggeringActionTransitionSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmTriggeringActionTransitionSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AndAlarmExpression": {
        "type": "object",
        "description": "A data object type that links multiple alarm expressions with AND operators.\n",
        "properties": {
          "expression": {
            "description": "List of alarm expressions that define the overall status of the alarm.\n- The state of the alarm expression is gray if all subexpressions are gray.\n  Otherwise, gray subexpressions are ignored.\n- The state is red if all subexpressions are red.\n- Otherwise, the state is yellow if all subexpressions are red or yellow.\n- Otherwise, the state of the alarm expression is green.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmExpression"
            }
          }
        },
        "required": [
          "expression"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmExpression"
          }
        ]
      },
      "ArrayOfAndAlarmExpression": {
        "type": "object",
        "description": "A boxed array of *AndAlarmExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AndAlarmExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventAlarmExpression": {
        "type": "object",
        "description": "An alarm expression that uses the event stream to trigger the alarm.\n\nThis alarm is triggered when an event matching this expression gets logged.\n",
        "properties": {
          "comparisons": {
            "description": "The attributes/values to compare.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventAlarmExpressionComparison"
            }
          },
          "eventType": {
            "deprecated": true,
            "description": "Deprecated use <code>eventTypeId</code> instead.\n\nThe type of the event to trigger the alarm on.\n",
            "type": "string"
          },
          "eventTypeId": {
            "description": "The eventTypeId of the event to match.\n\nThe semantics of how eventTypeId matching is done is as follows:\n- If the event being matched is of type *EventEx*\n  or *ExtendedEvent*, then we match this value\n  against the <code>eventTypeId</code> (for <code>EventEx</code>) or\n  <code>eventId</code> (for <code>ExtendedEvent</code>) member of the Event.\n- Otherwise, we match it against the type of the Event itself.\n  \nEither <code>eventType</code> or <code>eventTypeId</code> _must_\nbe set.\n",
            "type": "string"
          },
          "objectType": {
            "description": "Name of the type of managed object on which the event is logged.\n\nAn event alarm defined on a *ManagedEntity*\nis propagated to child entities in the VirtualCenter inventory depending\non the value of this attribute. If objectType is any of the following,\nthe alarm is propagated down to all children of that type:\n- A datacenter: *Datacenter*.\n- A cluster of host systems: *ClusterComputeResource*.\n- A single host system: *HostSystem*.\n- A resource pool representing a set of physical resources on a single host:\n  *ResourcePool*.\n- A virtual machine: *VirtualMachine*.\n- A datastore: *Datastore*.\n- A network: *Network*.\n- A distributed virtual switch: *DistributedVirtualSwitch*.\n  \nIf objectType is unspecified or not contained in the above list,\nthe event alarm is not propagated down to child entities in the\nVirtualCenter inventory.\n\nIt is possible to specify an event alarm containing two (or more) different\nEventAlarmExpression's which contain different objectTypes. In such a case,\nthe event is propagated to all child entities with specified type(s).\n",
            "type": "string"
          },
          "status": {
            "description": "The alarm's new state when this condition is evaluated and satisfied.\n\nIf not specified then there is no change to alarm status, and all\nactions are fired (rather than those for the transition).\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          }
        },
        "required": [
          "eventType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmExpression"
          }
        ]
      },
      "ArrayOfEventAlarmExpression": {
        "type": "object",
        "description": "A boxed array of *EventAlarmExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventAlarmExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventAlarmExpressionComparison": {
        "type": "object",
        "description": "Encapsulates Comparison of an event's attribute to a value.\n",
        "properties": {
          "attributeName": {
            "description": "The attribute of the event to compare\n",
            "type": "string"
          },
          "operator": {
            "description": "An operator from the list above\n",
            "type": "string"
          },
          "value": {
            "description": "The value to compare against\n",
            "type": "string"
          }
        },
        "required": [
          "attributeName",
          "operator",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEventAlarmExpressionComparison": {
        "type": "object",
        "description": "A boxed array of *EventAlarmExpressionComparison*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventAlarmExpressionComparison"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GroupAlarmAction": {
        "type": "object",
        "description": "This data object type describes a group of\nactions that occur when the alarm is triggered.\n\nThese actions are not\nnecessarily executed in order.\n",
        "properties": {
          "action": {
            "description": "The list of alarm actions that occur when the alarm is triggered.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmAction"
            }
          }
        },
        "required": [
          "action"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmAction"
          }
        ]
      },
      "ArrayOfGroupAlarmAction": {
        "type": "object",
        "description": "A boxed array of *GroupAlarmAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupAlarmAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MetricAlarmExpression": {
        "type": "object",
        "description": "An alarm expression that uses a metric as the condition that triggers an\nalarm.\n\nBase type.\n\nThere are two alarm operands: yellow and red. At least one of them\nmust be set. The value of the alarm expression is determined as follows:\n- If the host is not connected, the host metric expression is gray.\n- If the vm is not connected, the vm metric expression is gray.\n- If red is set but yellow is not, the expression is red when\n  the metric is over (isAbove operator) or under (isBelow operator)\n  the red value. Otherwise, the expression is green.\n- If yellow is set but red is not, the expression is yellow when\n  the metric is over (isAbove) or under (isBelow)\n  the yellow value. Otherwise, the expression is green.\n- If both yellow and red are set, the value of the expression is red\n  when the metric is over (isAbove) or under (isBelow) the red value.\n  Otherwise, the expression is yellow when the metric is over (isAbove)\n  or under (isBelow) the yellow value. Otherwise, the expression is green.\n",
        "properties": {
          "operator": {
            "description": "The operation to be tested on the metric.\n",
            "$ref": "#/components/schemas/MetricAlarmOperator_enum"
          },
          "type": {
            "description": "Name of the object type containing the property.\n",
            "type": "string"
          },
          "metric": {
            "description": "The instance of the metric.\n",
            "$ref": "#/components/schemas/PerfMetricId"
          },
          "yellow": {
            "description": "Whether or not to test for a yellow condition.\n\nIf not set, do not calculate yellow status.\nIf set, it contains the threshold value that triggers yellow status.\n",
            "type": "integer",
            "format": "int32"
          },
          "yellowInterval": {
            "description": "Time interval in seconds for which the yellow condition must be true\nbefore the yellow status is triggered.\n\nIf unset, the yellow status is\ntriggered immediately when the yellow condition becomes true.\n",
            "type": "integer",
            "format": "int32"
          },
          "red": {
            "description": "Whether or not to test for a red condition.\n\nIf not set, do not calculate red status.\nIf set, it contains the threshold value that triggers red status.\n",
            "type": "integer",
            "format": "int32"
          },
          "redInterval": {
            "description": "Time interval in seconds for which the red condition must be true\nbefore the red status is triggered.\n\nIf unset, the red status is\ntriggered immediately when the red condition becomes true.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "operator",
          "type",
          "metric"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmExpression"
          }
        ]
      },
      "ArrayOfMetricAlarmExpression": {
        "type": "object",
        "description": "A boxed array of *MetricAlarmExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetricAlarmExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OrAlarmExpression": {
        "type": "object",
        "description": "A data object type that links multiple alarm expressions with OR operators.\n",
        "properties": {
          "expression": {
            "description": "List of alarm expressions that define the overall status of the alarm.\n- The state of the alarm expression is gray if all subexpressions are gray.\n  Otherwise, gray subexpressions are ignored.\n- The state is red if any subexpression is red.\n- Otherwise, the state is yellow if any subexpression is yellow.\n- Otherwise, the state of the alarm expression is green.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmExpression"
            }
          }
        },
        "required": [
          "expression"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmExpression"
          }
        ]
      },
      "ArrayOfOrAlarmExpression": {
        "type": "object",
        "description": "A boxed array of *OrAlarmExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrAlarmExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StateAlarmExpression": {
        "type": "object",
        "description": "An alarm expression that uses the running state of either a virtual machine or\na host as the condition that triggers the alarm.\n\nBase type.\n\nThere are two alarm operands: yellow and red. At least one of them\nmust be set. The value of the alarm expression is determined as follows:\n- If the red state is set but the yellow state is not: the expression is red when\n  the state operand matches (isEqual operator) or does not match (isUnequal operator)\n  the state of the managed entity. The expression is green otherwise.\n- If yellow is set but red is not: the expression is yellow when\n  the state operand matches (isEqual) or does not match (isUnequal)\n  the state of the managed entity. The expression is green otherwise.\n- If both yellow and red are set, the value of the expression is red when\n  the red state operand matches (isEqual) or does not match (isUnequal)\n  the state of the managed entity. Otherwise, the expression is\n  yellow when the yellow state operand matches (isEqual) or does not match (isUnequal)\n  the state of the managed entity. Otherwise, the expression is green.\n",
        "properties": {
          "operator": {
            "description": "The operation to be tested on the target state.\n",
            "$ref": "#/components/schemas/StateAlarmOperator_enum"
          },
          "type": {
            "description": "Name of the object type containing the property.\n",
            "type": "string"
          },
          "statePath": {
            "description": "Path of the state property.\n\nThe supported values:\n- for vim.VirtualMachine type:\n- runtime.powerState or summary.quickStats.guestHeartbeatStatus\n- for vim.HostSystem type: runtime.connectionState\n",
            "type": "string"
          },
          "yellow": {
            "description": "Whether or not to test for a yellow condition.\n\nIf this property is not set, do not calculate yellow status.\n",
            "type": "string"
          },
          "red": {
            "description": "Whether or not to test for a red condition.\n\nIf this property is not set, do not calculate red status.\n",
            "type": "string"
          }
        },
        "required": [
          "operator",
          "type",
          "statePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmExpression"
          }
        ]
      },
      "ArrayOfStateAlarmExpression": {
        "type": "object",
        "description": "A boxed array of *StateAlarmExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StateAlarmExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAction": {
        "type": "object",
        "description": "Base class for all action recommendations in VirtualCenter.\n",
        "properties": {
          "type": {
            "description": "Type of the action.\n\nThis is encoded to differentiate between\ndifferent types of actions aimed at achieving different goals.\n",
            "type": "string"
          },
          "target": {
            "description": "The target object on which this action will be applied.\n\nFor\ninstance, a migration action will have a virtual machine as its\ntarget object, while a host power action will have a host as its\ntarget action.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterAction": {
        "type": "object",
        "description": "A boxed array of *ClusterAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterActionHistory": {
        "type": "object",
        "description": "Base class for all action history.\n",
        "properties": {
          "action": {
            "description": "The action that was executed recently.\n",
            "$ref": "#/components/schemas/ClusterAction"
          },
          "time": {
            "description": "The time when the action was executed.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "action",
          "time"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterActionHistory": {
        "type": "object",
        "description": "A boxed array of *ClusterActionHistory*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterActionHistory"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAffinityRuleSpec": {
        "type": "object",
        "description": "The *ClusterAffinityRuleSpec* data object defines a set\nof virtual machines.\n\nDRS will attempt to schedule the virtual machines\nto run on the same host.\n",
        "properties": {
          "vm": {
            "description": "List of virtual machine references.\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterRuleInfo"
          }
        ]
      },
      "ArrayOfClusterAffinityRuleSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterAffinityRuleSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAffinityRuleSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAntiAffinityRuleSpec": {
        "type": "object",
        "description": "The *ClusterAntiAffinityRuleSpec* data object defines\na set of virtual machines.\n\nDRS will attempt to schedule the virtual\nmachines to run on different hosts.\n",
        "properties": {
          "vm": {
            "description": "List of virtual machine references.\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterRuleInfo"
          }
        ]
      },
      "ArrayOfClusterAntiAffinityRuleSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterAntiAffinityRuleSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAntiAffinityRuleSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterAttemptedVmInfo": {
        "type": "object",
        "description": "This data class reports virtual machine powerOn information.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine being powered on.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "task": {
            "description": "The ID of the task, which monitors powering on.\n\nRefers instance of *Task*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterAttemptedVmInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterAttemptedVmInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAttemptedVmInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterClusterInitialPlacementAction": {
        "type": "object",
        "description": "Describes an action for the initial placement of a virtual machine in a\ncluster.\n\nThis action is used by the cross cluster placement API when a\nvirtual machine needs to be placed across a set of given clusters. See\n*Folder.PlaceVmsXCluster*. This action encapsulates details\nabout the chosen cluster (via the resource pool inside that cluster), the\nchosen host and the chosen datastores for the disks of the virtual machine.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "targetHost": {
            "description": "The host where the virtual machine should be initially placed.\n\nThis field\nis optional because the primary use case of\n*Folder.PlaceVmsXCluster* is to select the best cluster for\nplacing VMs. This *ClusterClusterInitialPlacementAction.targetHost*\ndenotes the best host within the best cluster and it is only returned\nif the client asks for it, which is determined by\n*PlaceVmsXClusterSpec.hostRecommRequired*. If\n*PlaceVmsXClusterSpec.hostRecommRequired* is set to true, then\nthe targetHost is returned with a valid value and if it is either set to\nfalse or left unset, then targetHost is also left unset. When this field\nis unset, then it means that the client did not ask for the target host\nwithin the recommended cluster. It does not mean that there is no\nrecommended host for placing this VM in the recommended cluster.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pool": {
            "description": "The chosen resource pool for placing the virtual machine.\n\nThis is non-\noptional because recommending the best cluster (by recommending the\nresource pool in the best cluster) is the primary use case for the\n*ClusterClusterInitialPlacementAction*.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "configSpec": {
            "description": "The config spec of the virtual machine to be placed.\n\nThe *Folder.PlaceVmsXCluster* method takes\ninput of *VirtualMachineConfigSpec* from client and populates the backing\nfor each virtual disk and the VM home path in it unless the input\nConfigSpec already provides them. The existing settings in the input\nConfigSpec are preserved and not overridden in the returned ConfigSpec\nin this action as well as the resulting\n*ClusterRecommendation*. This field is set based on whether\nthe client needs *Folder.PlaceVmsXCluster* to recommend a\nbacking datastore for the disks of the candidate VMs or not, which is\nspecified via *PlaceVmsXClusterSpec.datastoreRecommRequired*.\nIf *PlaceVmsXClusterSpec.datastoreRecommRequired* is set to\ntrue, then this\n*ClusterClusterInitialPlacementAction.configSpec* is also set\nwith the backing of each disk populated. If\n*PlaceVmsXClusterSpec.datastoreRecommRequired* is either set to\nfalse or left unset, then this field is also left unset. When this field\nis left unset, then it means that the client did not ask to populate the\nbacking datastore for the disks of the candidate VMs.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          }
        },
        "required": [
          "pool"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAction"
          }
        ]
      },
      "ArrayOfClusterClusterInitialPlacementAction": {
        "type": "object",
        "description": "A boxed array of *ClusterClusterInitialPlacementAction*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterClusterInitialPlacementAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterConfigInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *ClusterConfigInfoEx*.\n\nA complete cluster configuration.\n",
        "properties": {
          "dasConfig": {
            "description": "Cluster-wide configuration of the vSphere HA service.\n",
            "$ref": "#/components/schemas/ClusterDasConfigInfo"
          },
          "dasVmConfig": {
            "description": "List of virtual machine configurations for the vSphere HA\nservice.\n\nEach entry applies to one virtual machine.\n\nIf a virtual machine is not specified in this array, the service uses\nthe default settings for that virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasVmConfigInfo"
            }
          },
          "drsConfig": {
            "description": "Cluster-wide configuration of the VMware DRS service.\n",
            "$ref": "#/components/schemas/ClusterDrsConfigInfo"
          },
          "drsVmConfig": {
            "description": "List of virtual machine configurations for the VMware DRS\nservice.\n\nEach entry applies to one virtual machine.\n\nIf a virtual machine is not specified in this array, the service uses\nthe default settings for that virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsVmConfigInfo"
            }
          },
          "rule": {
            "description": "Cluster-wide rules.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleInfo"
            }
          }
        },
        "required": [
          "dasConfig",
          "drsConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterConfigInfoEx": {
        "type": "object",
        "description": "The *ClusterConfigInfoEx* data object describes a complete cluster\nconfiguration.\n\nFor information about configuring a cluster, see\n*ClusterConfigSpecEx*.\n",
        "properties": {
          "systemVMsConfig": {
            "description": "Configuration for vCLS system VMs deployment.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "$ref": "#/components/schemas/ClusterSystemVMsConfigInfo"
          },
          "dasConfig": {
            "description": "Cluster-wide configuration of the vSphere HA service.\n",
            "$ref": "#/components/schemas/ClusterDasConfigInfo"
          },
          "dasVmConfig": {
            "description": "List of virtual machine configurations for the vSphere HA\nservice.\n\nEach entry applies to one virtual machine.\n\nIf a virtual machine is not specified in this array, the service uses\nthe default settings for that virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasVmConfigInfo"
            }
          },
          "drsConfig": {
            "description": "Cluster-wide configuration of the VMware DRS service.\n",
            "$ref": "#/components/schemas/ClusterDrsConfigInfo"
          },
          "drsVmConfig": {
            "description": "List of virtual machine configurations for the VMware DRS\nservice.\n\nEach entry applies to one virtual machine.\n\nIf a virtual machine is not specified in this array, the service uses\nthe default settings for that virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsVmConfigInfo"
            }
          },
          "rule": {
            "description": "Cluster-wide rules.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleInfo"
            }
          },
          "orchestration": {
            "description": "Cluster-wide configuration of VM orchestration.\n",
            "$ref": "#/components/schemas/ClusterOrchestrationInfo"
          },
          "vmOrchestration": {
            "description": "List of virtual machine configurations that apply during cluster wide\nVM orchestration.\n\nEach entry applies to one virtual machine.\n\nIf a virtual machine is not specified in this array, the service uses\nthe default settings for that virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVmOrchestrationInfo"
            }
          },
          "dpmConfigInfo": {
            "description": "Cluster-wide configuration of the VMware DPM service.\n",
            "$ref": "#/components/schemas/ClusterDpmConfigInfo"
          },
          "dpmHostConfig": {
            "description": "List of host configurations for the VMware DPM\nservice.\n\nEach entry applies to one host.\n\nIf a host is not specified in this array, the service uses\nthe cluster default settings for that host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDpmHostConfigInfo"
            }
          },
          "vsanConfigInfo": {
            "description": "Cluster-wide configuration of the VMware VSAN service.\n",
            "$ref": "#/components/schemas/VsanClusterConfigInfo"
          },
          "vsanHostConfig": {
            "description": "List of host configurations for the VMware VSAN service.\n\nEach entry applies to one host.\n\nIf a host is not specified in this array, the service uses\nthe cluster default settings for that host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostConfigInfo"
            }
          },
          "group": {
            "description": "Cluster-wide groups.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterGroupInfo"
            }
          },
          "infraUpdateHaConfig": {
            "description": "Cluster-wide configuration of the VMware InfraUpdateHA service.\n",
            "$ref": "#/components/schemas/ClusterInfraUpdateHaConfigInfo"
          },
          "proactiveDrsConfig": {
            "description": "Cluster-wide configuration of the ProactiveDRS service.\n",
            "$ref": "#/components/schemas/ClusterProactiveDrsConfigInfo"
          },
          "cryptoConfig": {
            "description": "Cluster-wide configuration of the encryption mode.\n",
            "$ref": "#/components/schemas/ClusterCryptoConfigInfo"
          }
        },
        "required": [
          "dasConfig",
          "drsConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ComputeResourceConfigInfo"
          }
        ]
      },
      "ArrayOfClusterConfigInfoEx": {
        "type": "object",
        "description": "A boxed array of *ClusterConfigInfoEx*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterConfigInfoEx"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterConfigSpec": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *ClusterConfigSpecEx*.\n\nA complete cluster configuration.\n\nAll fields are defined as\noptional. In case of a reconfiguration, unset fields are\nunchanged.\n",
        "properties": {
          "dasConfig": {
            "description": "Changes to the configuration of vSphere HA.\n",
            "$ref": "#/components/schemas/ClusterDasConfigInfo"
          },
          "dasVmConfigSpec": {
            "description": "Changes to the per-virtual-machine vSphere HA settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasVmConfigSpec"
            }
          },
          "drsConfig": {
            "description": "Changes to the configuration of the VMware DRS service.\n",
            "$ref": "#/components/schemas/ClusterDrsConfigInfo"
          },
          "drsVmConfigSpec": {
            "description": "Changes to the per-virtual-machine DRS settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsVmConfigSpec"
            }
          },
          "rulesSpec": {
            "description": "Changes to the set of rules.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleSpec"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterConfigSpecEx": {
        "type": "object",
        "description": "The *ClusterConfigSpecEx* data object provides a set of update\nspecifications for complete cluster configuration.\n\nYou can configure a cluster when you create a new cluster\n(the *Folder.CreateClusterEx* method) or when you\nreconfigure an existing cluster\n(the *ComputeResource.ReconfigureComputeResource_Task* method).\n\nAll fields are optional. If you set the <code>modify</code>\nparameter to <code>true</code> when you call\n*ComputeResource.ReconfigureComputeResource_Task*, an unset property has no effect\non the existing property value in the cluster configuration on the Server.\nIf you set the <code>modify</code> parameter to <code>false</code> when you\nreconfigure a cluster, the cluster configuration is reverted to the default\nvalues, then the new configuration values are applied.\n\nUse the properties defined for this object to configure\nthe following services:\n- HA (High Availability) -\n  provides failover protection for virtual machines\n  running in a cluster of ESX Server hosts.\n  The virtual machines are located in a *Datastore*, which\n  provides shared storage for the cluster.\n  When a failure occurs that affects a protected virtual machine,\n  HA will restart the virtual machine on another host.\n  When HA detects a host failure, either the host has failed or it may be\n  isolated from the network. The HA agent on an isolated host will power off\n  or shutdown the virtual machines running on that host so that they\n  can be restarted elsewhere.\n  See *ClusterDasVmSettingsIsolationResponse_enum* for information\n  about how a host handles network isolation.\n  \n  When it chooses a failover host, HA selects a host that is compatible\n  with the virtual machine and that can support resource allocation for\n  that virtual machine so that service level guarantees remain intact.\n  HA does not consider hosts that are in maintenance mode, standby mode,\n  or which are disconnected from the vCenter Server. When a host powers\n  on or becomes available again, HA is reenabled on that host,\n  so it becomes available for failover again.\n  VMware recommends that you configure hosts and virtual machines\n  so that all virtual machines can run on all hosts in the cluster.\n  This will maximize the chances of restarting a VM after a failure.\n  \n  HA also restarts a virtual machine after a guest operating system failure.\n  In this case, the virtual machine health monitoring service detects\n  the guest failure, and HA restarts the virtual machine on the same host.\n  The service monitors heartbeats from the VmTools service and optionally\n  heartbeats that are generated by a third-party application monitor.\n  See *ClusterVmToolsMonitoringSettings* and\n  *ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring*.\n  \n  To enable HA for a cluster, set the\n  *ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled*\n  property to <code>true</code> and the\n  *ClusterDasConfigInfo*.*ClusterDasConfigInfo.hostMonitoring*\n  property to *enabled*.\n  (The vSphere API uses the substring \"das\" in object, property,\n  and method names for HA.<sup>1</sup>)\n- DRS (Distributed Resource Scheduling) - provides automatic initial\n  virtual machine placement on any of the hosts in the cluster. DRS\n  also makes automatic resource relocation and optimization decisions\n  as hosts or virtual machines are added or removed from the cluster.\n  You can also configure DRS for manual control, so that it only makes\n  recommendations that you can review and carry out.\n  \n  To enable DRS for a cluster, set the\n  *ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.enabled*\n  property to <code>true</code>.\n- DPM (Distributed Power Management) - supports optimized power\n  consumption on the cluster. When virtual machines in a DRS\n  cluster require fewer resources, DPM consolidates workloads\n  onto fewer servers while maintaining quality of service guarantees\n  and powers off the rest to reduce power consumption.\n  When more resources are required, DPM brings the powered-down hosts online.\n  \n  To enable DPM for a cluster, set the\n  *ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.enabled*\n  property to <code>true</code>.\n- VSAN - aggregrates hosts' local disks to present a single\n  shared datastore to the cluster.\n  \n  To enable VSAN for a cluster, set the\n  *VsanClusterConfigInfo.enabled* property to\n  <code>true</code> for *ClusterConfigSpecEx.vsanConfig*.\n- InfraUpdateHA (Infrastructure update HA) - supports automatic\n  migration of virtual machines to hosts with low risk of a\n  catastrophic failure. Similar to DRS, you can also configure\n  InfraUpdateHA for manual control to only makes recommendations that\n  you can review and carry out. The health state of the hosts are\n  propagated to HA to enable restarting of virtual machines in healthy\n  hosts as possible.\n  \n  To enable InfraUpdateHA for a cluster, set the\n  *ClusterInfraUpdateHaConfigInfo*.*ClusterInfraUpdateHaConfigInfo.enabled* property to\n  <code>true</code>.\n- ProactiveDRS (Proactive Distributed Resources Scheduling) - supports\n  virtual machine load balancing decisions that take predicted\n  resource demand information into account.\n  \n  To enable ProactiveDRS for a cluster, set the\n  *ClusterProactiveDrsConfigInfo*.*ClusterProactiveDrsConfigInfo.enabled* property to\n  <code>true</code>.\n  \nThe HA, DRS, and DPM services are integrated with the FT (Fault Tolerance)\nand EVC (Enhanced vMotion Compatibility) services.\nUse the *VirtualMachine.CreateSecondaryVM_Task* method to establish\nfault tolerance for a virtual machine. Use the vSphere Client to configure EVC.\nThe HA, DRS, DPM, FT, and EVC services interact under\nthe following circumstances.\n- To determine initial placement of a virtual machine, DRS\n  checks to see if the HA admission control policy on a\n  potential host supports the addition of the powered on\n  virtual machine. With the default setting, DRS will not\n  power on more than four FT virtual machines per host.\n  You can use the configuration editor in the vSphere Client\n  to set the HA advanced option <code>das.maxFtVmsPerHost</code>\n  to the desired number or to zero to disable.\n- When a host fails, HA determines placement within\n  the cluster when it restarts the virtual machines.\n  If there is insufficient capacity, and DPM has put one or more\n  compatible hosts into standby, HA relies on DPM to bring more\n  capacity online.\n- To use FT in a cluster, the cluster must be HA-enabled.\n- You can disable HA in a cluster while there are FT virtual\n  machines registered on hosts in the cluster.\n  While HA is disabled, powered on FT virtual machines will continue\n  to run, but HA will not restart any virtual machines after a failure.\n  When HA is disabled, you cannot use the following FT operations:\n  - Turn on FT (*VirtualMachine.CreateSecondaryVM_Task*)\n  - Enable FT (*VirtualMachine.EnableSecondaryVM_Task*)\n  - Power on an FT virtual machine\n    (*VirtualMachine.PowerOnVM_Task*)\n  - Test failover and test secondary restart\n    (*VirtualMachine.TerminateFaultTolerantVM_Task*)\n- In a cluster using DRS and HA with admission control turned on\n  (*ClusterDasConfigInfo*.*ClusterDasConfigInfo.admissionControlEnabled*),\n  the vCenter Server might not migrate virtual machines from hosts\n  entering maintenance mode. This is because resources are reserved\n  to maintain the failover level. You must use vMotion to manually\n  migrate the virtual machines off the hosts.\n  \n  When admission control is disabled, failover resource constraints\n  are not passed on to DRS and DPM. The constraints are not enforced.\n  - DRS determines virtual machine placement and status\n    (maintenance mode, standby mode) regardless of the impact\n    this might have on failover requirements.\n  - DPM powers off hosts (places them in standby mode)\n    even if doing so violates failover requirements.\n    If there is insufficient capacity when a failover\n    occurs, DPM will attempt to bring more capacity online\n    in order to correct the situation.\n- You must enable EVC in a cluster to enable DRS to manage FT primary\n  and secondary virtual machine pairs in the cluster.\n  For information about EVC clusters, see *EVCMode*.\n  \n  If EVC is disabled, vCenter automatically creates overrides\n  to disable DRS for FT primary/secondary pairs in the cluster.\n  vCenter will still use DRS to place a secondary virtual machine\n  when it powers on.\n  Attempts to remove the overrides or to enable DRS operations\n  will fail.\n- EVC clusters support load balancing of powered on FT primary\n  and secondary virtual machines. DRS behavior\n  is governed by the overrides defined for the primary virtual\n  machine. The secondary inherits DRS behavior from its primary.\n  If you do not configure a DRS override for an FT virtual\n  machine, DRS uses the cluster default\n  (*ClusterDrsConfigInfo.defaultVmBehavior*).\n  \n<sup>1</sup>High Availability was previously called Distributed\nAvailability Services.\n",
        "properties": {
          "systemVMsConfig": {
            "description": "Configuration for vCLS system VMs deployment.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "$ref": "#/components/schemas/ClusterSystemVMsConfigSpec"
          },
          "dasConfig": {
            "description": "HA configuration; includes default settings for virtual machines.\n",
            "$ref": "#/components/schemas/ClusterDasConfigInfo"
          },
          "dasVmConfigSpec": {
            "description": "HA configuration for individual virtual machines.\n\nThe entries in this array override the cluster default\nsettings\n(*ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings*).\nYou cannot specify an HA override for a secondary FT virtual\nmachine. The secondary virtual machine will inherit whatever\nsettings apply to its primary virtual machine. If you\ninclude an entry for a secondary, the reconfigure method\nwill throw the fault\n*CannotChangeHaSettingsForFtSecondary*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasVmConfigSpec"
            }
          },
          "drsConfig": {
            "description": "DRS configuration; includes default settings for virtual machines.\n",
            "$ref": "#/components/schemas/ClusterDrsConfigInfo"
          },
          "drsVmConfigSpec": {
            "description": "DRS configuration for individual virtual machines.\n\nThe entries in this array override the cluster default\nsettings\n(*ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.defaultVmBehavior*).\nYou cannot specify a DRS override for a secondary FT virtual\nmachine. The secondary virtual machine will inherit whatever\nsetting applies to its primary virtual machine. If you\ninclude an entry for a secondary, the reconfigure method\nwill throw the fault\n*CannotChangeDrsBehaviorForFtSecondary*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsVmConfigSpec"
            }
          },
          "rulesSpec": {
            "description": "Cluster affinity and anti-affinity rule configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleSpec"
            }
          },
          "orchestration": {
            "description": "Cluster configuration of VM orchestration.\n",
            "$ref": "#/components/schemas/ClusterOrchestrationInfo"
          },
          "vmOrchestrationSpec": {
            "description": "List of specific VM configurations that apply during cluster wide\nVM orchestration.\n\nEach entry applies to one virtual machine, and\noverrides the cluster default settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVmOrchestrationSpec"
            }
          },
          "dpmConfig": {
            "description": "DPM configuration; includes default settings for hosts.\n",
            "$ref": "#/components/schemas/ClusterDpmConfigInfo"
          },
          "dpmHostConfigSpec": {
            "description": "DPM configuration for individual hosts.\n\nThe entries in this array override the cluster default\nsettings\n(*ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.defaultDpmBehavior*).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDpmHostConfigSpec"
            }
          },
          "vsanConfig": {
            "description": "VSAN configuration; includes default settings for hosts.\n\nWhen it is requested to change, vSAN related sub tasks will be\ngenerated automatically per member hosts, which are identified\nby using cluster reconfiguration task id as\n*TaskInfo.parentTaskKey*, and should be monitored\nand tracked separatedly.\n",
            "$ref": "#/components/schemas/VsanClusterConfigInfo"
          },
          "vsanHostConfigSpec": {
            "description": "VSAN configuration for individual hosts.\n\nThe entries in this array override the cluster default settings\nas specified in *VsanClusterConfigInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostConfigInfo"
            }
          },
          "groupSpec": {
            "description": "Cluster-wide group configuration.\n\nThe array contains one or more group specification objects.\nA group specification object contains a virtual machine group\n(*ClusterVmGroup*) or a host group (*ClusterHostGroup*).\nGroups can be related; see *ClusterVmHostRuleInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterGroupSpec"
            }
          },
          "infraUpdateHaConfig": {
            "description": "InfraUpdateHA configuration.\n",
            "$ref": "#/components/schemas/ClusterInfraUpdateHaConfigInfo"
          },
          "proactiveDrsConfig": {
            "description": "ProactiveDrs configuration.\n",
            "$ref": "#/components/schemas/ClusterProactiveDrsConfigInfo"
          },
          "inHciWorkflow": {
            "description": "Flag to place the cluster in the HCI workflow during cluster creation.\n\nThis flag is specified only at the time of cluster creation.\nA cluster cannot be reconfigured to place it in the HCI workflow.\n",
            "type": "boolean"
          },
          "cryptoConfig": {
            "description": "Cluster-wide configuration of encryption mode.\n",
            "$ref": "#/components/schemas/ClusterCryptoConfigInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ComputeResourceConfigSpec"
          }
        ]
      },
      "ArrayOfClusterConfigSpecEx": {
        "type": "object",
        "description": "A boxed array of *ClusterConfigSpecEx*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterConfigSpecEx"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterCryptoConfigInfo": {
        "type": "object",
        "properties": {
          "cryptoMode": {
            "description": "The cluster encryption mode.\n\nSee *ClusterCryptoConfigInfoCryptoMode_enum* for supported values.\n",
            "type": "string"
          },
          "policy": {
            "description": "The encryption mode policy for the cluster.\n\nWhen unset, host keys will be automatically generated using the current\ndefault key provider.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/ClusterComputeResourceCryptoModePolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterCryptoConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterCryptoConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterCryptoConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasAamHostInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, this object is no longer returned by\nvCenter Server. Availability information is now reported using\n*HostRuntimeInfo.dasHostState*.\n\nThe *ClusterDasAamHostInfo* object contains a list of the ESX hosts\nin an HA cluster and a list that identifies the _primary_ hosts.\n\n(AAM is a component of the HA service.)\nThe primary hosts share the joint responsibility of maintaining all cluster\nstate and one will initiate failover actions should a failure occur.\n\nWhen you add an ESX host to a vSphere HA cluster, the host\ndownloads HA agent components from the vCenter Server.\nThe HA agent maintains communication with the vCenter Server.\n\nWhen the host downloads the HA agent, the host configures the agent\nto communicate with other agents in the cluster. A host that joins\nthe cluster communicates with an existing primary host to complete\nits configuration (except when you are adding the first host to the cluster).\n- The first five hosts added to the cluster are designated\n  as primary hosts. All subsequent hosts are designated as secondary hosts.\n- If a primary host is removed from the cluster,\n  the vCenter Server promotes another host to primary status.\n- There must be at least one functional primary host for vSphere HA\n  to operate correctly. If there is not an available primary host\n  (no response), host configuration for HA will fail.\n  If there is a total cluster failure, HA will begin restarting virtual\n  machines as soon as one host recovers and its HA agent is up and running.\n  \nOne of the primary hosts assumes the role of the active primary host.\nThe active primary host responsibilities include the following activities:\n- Decides where to restart virtual machines.\n- Tracks failed restart attempts.\n- Determines when it is appropriate to continue attempts to restart\n  a virtual machine.\n  \nIf the active primary host fails, another primary host replaces it.\n",
        "properties": {
          "hostDasState": {
            "description": "The state of HA on the hosts.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasAamNodeState"
            }
          },
          "primaryHosts": {
            "description": "The list of primary hosts.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDasHostInfo"
          }
        ]
      },
      "ArrayOfClusterDasAamHostInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDasAamHostInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasAamHostInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasAamNodeState": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, this object is no longer returned by\nvCenter Server. See *HostRuntimeInfo.dasHostState* for a\ndescription of the objects now used.\n\nThe *ClusterDasAamNodeState* data object represents the state\nof the HA service on an ESX host.\n\n(AAM is a component of this service.)\n",
        "properties": {
          "host": {
            "description": "Reference to the host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "Name of the host\n(*HostSystem*.*ManagedEntity.name*).\n",
            "type": "string"
          },
          "configState": {
            "description": "Configuration state of the HA agent on the host.\n\nThe property can be one of the following values:\n\nconfiguring  \nerror  \nunconfiguring  \nrunning  \n\n<code>configState</code> represents setting or resetting the HA\nconfiguration on the host. If the configuration operation is\nsuccessful, the value of <code>configState</code> changes\nto <code>running</code>. See *ClusterDasAamNodeStateDasState_enum*.\n",
            "type": "string"
          },
          "runtimeState": {
            "description": "The runtime state of the HA agent on the node.\n\nThe property can be one of the following values:\n\nuninitialized  \ninitialized  \nrunning  \nerror  \nagentShutdown  \nnodeFailed\n\nSee *ClusterDasAamNodeStateDasState_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "host",
          "name",
          "configState",
          "runtimeState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasAamNodeState": {
        "type": "object",
        "description": "A boxed array of *ClusterDasAamNodeState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasAamNodeState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasAdmissionControlInfo": {
        "type": "object",
        "description": "Base class for admission control related information of a vSphere HA cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasAdmissionControlInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDasAdmissionControlInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasAdmissionControlInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasAdmissionControlPolicy": {
        "type": "object",
        "description": "Base class for specifying how admission control should be done for vSphere HA.\n",
        "properties": {
          "resourceReductionToToleratePercent": {
            "description": "Percentage of resource reduction that a cluster of VMs can tolerate\nin case of a failover.\n",
            "type": "integer",
            "format": "int32"
          },
          "pMemAdmissionControlEnabled": {
            "description": "Flag that determines whether strict admission control for persistent\nmemory is enabled.\n\nBy default, this value is false.\nThis flag can only be set to true if\n*ClusterDasConfigInfo.admissionControlEnabled* is set to true.\nWhen you use persistent memory admission control, the following\noperations are prevented, if doing so would violate the\n*ClusterDasConfigInfo.admissionControlEnabled*.\n- Creating a virtual machine with persistent memory.\n- Adding a virtual persistent memory device to a virtual machine.\n- Increasing the capacity of a virtual persistent memory device.\n  \n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasAdmissionControlPolicy": {
        "type": "object",
        "description": "A boxed array of *ClusterDasAdmissionControlPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasAdmissionControlPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasAdvancedRuntimeInfo": {
        "type": "object",
        "description": "Base class for advanced runtime information related to the high\navailability service for a cluster.\n",
        "properties": {
          "dasHostInfo": {
            "description": "The information pertaining to the HA agents on the hosts\n",
            "$ref": "#/components/schemas/ClusterDasHostInfo"
          },
          "vmcpSupported": {
            "description": "Whether HA VM Component Protection can be enabled for the cluster.\n",
            "$ref": "#/components/schemas/ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo"
          },
          "heartbeatDatastoreInfo": {
            "description": "The map of a datastore to the set of hosts that are using\nthe datastore for storage heartbeating.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasHeartbeatDatastoreInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasAdvancedRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDasAdvancedRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasAdvancedRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasHeartbeatDatastoreInfo": {
        "type": "object",
        "description": "Class for the selection of heartbeat datastores\n",
        "properties": {
          "datastore": {
            "description": "Refers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hosts": {
            "description": "Refers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "datastore",
          "hosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDasHeartbeatDatastoreInfo": {
        "type": "object",
        "description": "A boxed array of *DasHeartbeatDatastoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasHeartbeatDatastoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo": {
        "type": "object",
        "description": "Class for capability to support VM Component Protection\n",
        "properties": {
          "storageAPDSupported": {
            "description": "If all hosts in the cluster support the reaction of VM Component Protection\nto storage All Paths Down timeout\n(@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\\_Timeout}\n",
            "type": "boolean"
          },
          "storagePDLSupported": {
            "description": "If all hosts in the cluster support the reaction of VM Component Protection\nto storage Permanent Device Loss\n(@link vim.host.MountInfo.InaccessibleReason#PermanentDeviceLoss}\n",
            "type": "boolean"
          }
        },
        "required": [
          "storageAPDSupported",
          "storagePDLSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasConfigInfo": {
        "type": "object",
        "description": "The *ClusterDasConfigInfo* data object contains configuration data\nabout the HA service on a cluster.\n\nAll fields are optional. If you set the <code>modify</code>\nparameter to <code>true</code> when you call\n*ComputeResource.ReconfigureComputeResource_Task*, an unset property has no effect\non the existing property value in the cluster configuration on the Server.\nIf you set the <code>modify</code> parameter to <code>false</code> when you\nreconfigure a cluster, the cluster configuration is reverted to the default\nvalues, then the new configuration values are applied.\n",
        "properties": {
          "enabled": {
            "description": "Flag to indicate whether or not vSphere HA feature is enabled.\n",
            "type": "boolean"
          },
          "vmMonitoring": {
            "description": "Level of HA Virtual Machine Health Monitoring Service.\n\nYou can monitor both guest and application heartbeats, guest heartbeats only,\nor you can disable the service. See *ClusterDasConfigInfoVmMonitoringState_enum*.\nThe default value is *vmMonitoringDisabled*.\n\nThe Service level specified for the cluster determines\nthe possible monitoring settings that you can use for individual virtual machines.\nSee *ClusterVmToolsMonitoringSettings*.*ClusterVmToolsMonitoringSettings.vmMonitoring*.\n",
            "type": "string"
          },
          "hostMonitoring": {
            "description": "Determines whether HA restarts virtual machines after a host fails.\n\nThe default value is\n*ClusterDasConfigInfoServiceState_enum*.*enabled*.\nThis property is meaningful only when\n*ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled* is <code>true</code>.\n\nWhen <code>hostMonitoring</code> is\n*enabled*, HA restarts virtual machines\nafter a host fails.\n\nWhen <code>hostMonitoring</code> is\n*disabled*, HA does not restart\nvirtual machines after a host fails.\nThe status of Host Monitoring does not affect other services such\nas virtual machine Health Monitoring or Fault Tolerance.\nThe rest of the cluster operations follow normal processing.\nNo configuration information is lost and re-enabling the service\nis a quick operation.\n",
            "type": "string"
          },
          "vmComponentProtecting": {
            "description": "This property indicates if vSphere HA VM Component Protection service\nis enabled.\n\nThe default value is *disabled*.\n\nWhen <code>vmComponentProtecting</code> is set to\n*disabled*, reaction to all types of VM\ncomponent failures is disabled.\n\nWhen <code>vmComponentProtecting</code> is set to\n*enabled*, VM Component Protection service\nwill detect and react to component failures. The actual reaction is determined\nby *ClusterVmComponentProtectionSettings* which is referenced by both cluster\nlevel configuration (*ClusterDasConfigInfo.defaultVmSettings*) and per-VM\noverride *ClusterConfigInfoEx.dasVmConfig*.\n",
            "type": "string"
          },
          "failoverLevel": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0, use\n*ClusterFailoverLevelAdmissionControlPolicy* to set\n*ClusterDasConfigInfo.admissionControlPolicy*.\n\nConfigured failover level.\n\nThis is the number of physical host failures\nthat can be tolerated without impacting the ability to satisfy the\nminimums for all running virtual machines. Acceptable values range from one to\nfour.\n",
            "type": "integer",
            "format": "int32"
          },
          "admissionControlPolicy": {
            "description": "Virtual machine admission control policy for vSphere HA.\n\nThe policies specify resource availability for failover support.\n- Failover host admission policy\n  *ClusterFailoverHostAdmissionControlPolicy* -\n  specify one or more dedicated failover hosts.\n- Failover level policy\n  *ClusterFailoverLevelAdmissionControlPolicy* -\n  the limit of host failures for which resources are reserved.\n  When you use the failover level policy,\n  HA partitions resources into slots. A slot represents the minimum\n  CPU and memory resources that are required to support\n  any powered on virtual machine in the cluster.\n  To retrieve information about partitioned resources, use the\n  *ClusterComputeResource.RetrieveDasAdvancedRuntimeInfo*\n  method.\n- Resources admission policy\n  *ClusterFailoverResourcesAdmissionControlPolicy* -\n  CPU and memory resources reserved for failover support.\n  When you use the resources policy, you can reserve\n  a percentage of the aggregate cluster resource for failover.\n",
            "$ref": "#/components/schemas/ClusterDasAdmissionControlPolicy"
          },
          "admissionControlEnabled": {
            "description": "Flag that determines whether strict admission control is enabled.\n\nWhen you use admission control, the following operations are\nprevented, if doing so would violate the *ClusterDasConfigInfo.admissionControlPolicy*.\n- Powering on a virtual machine in the cluster.\n- Migrating a virtual machine into the cluster.\n- Increasing the CPU or memory reservation of powered-on\n  virtual machines in the cluster.\n  \nWith admission control disabled, there is no assurance that\nall virtual machines in the HA cluster can be restarted after\na host failure. VMware recommends that you do not disable\nadmission control, but you might need to do so temporarily,\nfor the following reasons:\n- If you need to violate the failover constraints when there\n  are not enough resources to support them (for example,\n  if you are placing hosts in standby mode to test them\n  for use with DPM).\n- If an automated process needs to take actions that might\n  temporarily violate the failover constraints (for example,\n  as part of an upgrade directed by VMware Update Manager).\n- If you need to perform testing or maintenance operations.\n",
            "type": "boolean"
          },
          "defaultVmSettings": {
            "description": "Cluster-wide defaults for virtual machine HA settings.\n\nWhen a virtual machine has no HA configuration\n(*ClusterDasVmConfigSpec*), it uses the values\nspecified here.\n",
            "$ref": "#/components/schemas/ClusterDasVmSettings"
          },
          "option": {
            "description": "Advanced settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          },
          "heartbeatDatastore": {
            "description": "The list of preferred datastores to use for storage heartbeating.\n\nEach of the specified datastores should be active and mounted\nby more than one host. There is no limit on the number of specified\ndatastores and no priority among them.\nThe specified datastores will replace those previously specified and\nan empty list will delete all such earlier specified ones.\n\nvCenter Server chooses the heartbeat datastores for a host from the\nset specified by *ClusterDasConfigInfo.hBDatastoreCandidatePolicy*.\nThe choice is made based on datastore connectivity and storage array\nredundancy (in case of VMFS).\n\nThe final set of selected heartbeat datastores is reported via\n*ClusterDasAdvancedRuntimeInfo.heartbeatDatastoreInfo*.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "hBDatastoreCandidatePolicy": {
            "description": "The policy on what datastores will be used by vCenter Server to choose\nheartbeat datastores.\n\nSee *ClusterDasConfigInfoHBDatastoreCandidate_enum* for all options.\nThe default value is\n*allFeasibleDsWithUserPreference*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDasConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasData": {
        "type": "object",
        "description": "Base class for DAS data for high availability service for a cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasData": {
        "type": "object",
        "description": "A boxed array of *ClusterDasData*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasData"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasDataSummary": {
        "type": "object",
        "description": "This class contains the summary of the data that DAS needs/uses.\n\nThe actual data is available in *ClusterDasDataDetails* and can be retrieved\nusing the *ClusterComputeResource.RetrieveDasData* method.\nThis class is meant for VMware internal use only.\n",
        "properties": {
          "hostListVersion": {
            "description": "The version corresponding to the hostList\n",
            "type": "integer",
            "format": "int64"
          },
          "clusterConfigVersion": {
            "description": "The version corresponding to the clusterConfig\n",
            "type": "integer",
            "format": "int64"
          },
          "compatListVersion": {
            "description": "The version corresponding to the compatList\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "hostListVersion",
          "clusterConfigVersion",
          "compatListVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDasData"
          }
        ]
      },
      "ArrayOfClusterDasDataSummary": {
        "type": "object",
        "description": "A boxed array of *ClusterDasDataSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasDataSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasFailoverLevelAdvancedRuntimeInfo": {
        "type": "object",
        "description": "Advanced runtime information related to the high availability service\nfor a cluster that has been configured with a failover level admission control\npolicy.\n\nSee *ClusterFailoverLevelAdmissionControlPolicy*.\n",
        "properties": {
          "slotInfo": {
            "description": "Slot information for this cluster.\n",
            "$ref": "#/components/schemas/ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo"
          },
          "totalSlots": {
            "description": "The total number of slots available in the cluster.\n\nSee also *ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo*.\n",
            "type": "integer",
            "format": "int32"
          },
          "usedSlots": {
            "description": "The number of slots currently being used.\n\nSee also *ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo*.\n",
            "type": "integer",
            "format": "int32"
          },
          "unreservedSlots": {
            "description": "The number of slots that are not used by currently powered on virtual machines\nand not reserved to satisfy the configured failover level.\n\nThis number gives\nan indication of how many additional virtual machines can be powered on in\nthis cluster without violating the failover level (assuming the new virtual\nmachine's reservations are satisfied by the current slot size).\nThis value is computed as follows (where m is the configured failover level):\nRemove the m largest hosts (ie. the ones with the most slots) from the list\nof \"good\" hosts (see *ClusterDasFailoverLevelAdvancedRuntimeInfo.totalGoodHosts*). Sum up the number of slots on\nthe remaining hosts and deduct the number of currently used slots\n(see *ClusterDasFailoverLevelAdvancedRuntimeInfo.usedSlots*). If this number is negative, use zero instead.\n\nSee also *ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo*.\n",
            "type": "integer",
            "format": "int32"
          },
          "totalVms": {
            "description": "The total number of powered on vms in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "totalHosts": {
            "description": "The total number of hosts in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "totalGoodHosts": {
            "description": "The total number of connected hosts that are not in maintance mode and that\ndo not have any DAS-related config issues on them.\n",
            "type": "integer",
            "format": "int32"
          },
          "hostSlots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"
            }
          },
          "vmsRequiringMultipleSlots": {
            "description": "The list of virtual machines whose reservations and memory overhead are not\nsatisfied by a single slot.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"
            }
          }
        },
        "required": [
          "slotInfo",
          "totalSlots",
          "usedSlots",
          "unreservedSlots",
          "totalVms",
          "totalHosts",
          "totalGoodHosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDasAdvancedRuntimeInfo"
          }
        ]
      },
      "ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDasFailoverLevelAdvancedRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasFailoverLevelAdvancedRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots": {
        "type": "object",
        "properties": {
          "host": {
            "description": "The reference to the host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "slots": {
            "description": "The number of slots in this host.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "host",
          "slots"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots": {
        "type": "object",
        "description": "A boxed array of *ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo": {
        "type": "object",
        "description": "A slot represents an amount of memory and cpu resources on a physical host for use\nby a virtual machine.\n\nIt is used in computing the resources to be reserved for\nfailover.\n",
        "properties": {
          "numVcpus": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0, the number of vcpus is no longer used\nfor slot calculations.\n\nThe number of virtual cpus of a slot is defined as the maximum number of\nvirtual cpus any powered on virtual machine has.\n",
            "type": "integer",
            "format": "int32"
          },
          "cpuMHz": {
            "description": "The cpu speed of a slot is defined as the maximum cpu reservation of any\npowered on virtual machine in the cluster, or any otherwise defined minimum,\nwhichever is larger.\n",
            "type": "integer",
            "format": "int32"
          },
          "memoryMB": {
            "description": "The memory size of a slot is defined as the maximum memory reservation plus\nmemory overhead of any powered on virtual machine in the cluster, or any\notherwise defined minimum, whichever is larger.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "numVcpus",
          "cpuMHz",
          "memoryMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots": {
        "type": "object",
        "properties": {
          "vm": {
            "description": "The reference to the virtual machine\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "slots": {
            "description": "The number of slots required by this virtual machine\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vm",
          "slots"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots": {
        "type": "object",
        "description": "A boxed array of *ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasFdmHostState": {
        "type": "object",
        "description": "The *ClusterDasFdmHostState* data object\ndescribes the availability state of each active host in a\nvSphere HA enabled cluster.\n\nIn a vSphere HA cluster, the active hosts form a fault domain.\nA host is inactive if it is in standby or maintenance mode, or\nit has been disconnected from vCenter Server. A vSphere HA\nagent, called the Fault Domain Manager (FDM), runs on each host in the\nfault domain.\n\nOne FDM serves as the master and the remaining FDMs as its slaves.\nThe master is responsible for monitoring the availability of the hosts\nand VMs in the cluster, and restarting any VMs that fail due to a\nhost failure or non-user-initiated power offs. The master is also\nresponsible for reporting fault-domain state to vCenter Server.\n\nThe master FDM is determined through election by the FDMs that are\nalive at the time. An election occurs in the following circumstances:\n- When the vSphere HA feature is enabled for the cluster.\n- When the master's host fails.\n- When the management network is partitioned. In a network partition\n  there will be a master for each partition. However, only one master\n  will be responsible for a given VM. When the partition is\n  resolved, all but one of the masters will abdicate.\n- After a host in a vSphere HA cluster powers back up following a failure\n  that caused all hosts in the cluster to power off.\n  \nThe slaves are responsible for reporting state updates to the master and\nrestarting VMs as required. All FDMs provide the VM/Application Health\nMonitoring Service.\n",
        "properties": {
          "state": {
            "description": "The Availability State of a host based on information\nreported by the entity given by the\n*ClusterDasFdmHostState.stateReporter* property.\n\nSee\n*ClusterDasFdmAvailabilityState_enum* for the set of\nstates.\n",
            "type": "string"
          },
          "stateReporter": {
            "description": "The entity reporting the state of the host.\n\nIf the reporter is a host,\nthe property reports which host, whereas if the reporter is vCenter Server,\nthe property is unset.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasFdmHostState": {
        "type": "object",
        "description": "A boxed array of *ClusterDasFdmHostState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasFdmHostState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasHostInfo": {
        "type": "object",
        "description": "HA specific advanced information pertaining to the hosts in the cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasHostInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDasHostInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasHostInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasHostRecommendation": {
        "type": "object",
        "description": "A host recommendation for a virtual machine managed by the VMware\nHA Service.\n",
        "properties": {
          "host": {
            "description": "The recommended host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "drsRating": {
            "description": "Rating as computed by DRS for a DRS-enabled cluster.\n\nRating\nrange from 1 to 5, and the higher the rating, the stronger DRS\nsuggests this host is picked for the operation.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasHostRecommendation": {
        "type": "object",
        "description": "A boxed array of *ClusterDasHostRecommendation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasHostRecommendation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasVmConfigInfo": {
        "type": "object",
        "description": "The *ClusterDasVmConfigInfo* data object contains\nthe HA configuration for a single virtual machine.\n\nAll fields are optional. If you set the <code>modify</code>\nparameter to <code>true</code> when you call\n*ComputeResource.ReconfigureComputeResource_Task*, an unset property has no effect\non the existing property value in the cluster configuration on the Server.\nIf you set the <code>modify</code> parameter to <code>false</code> when you\nreconfigure a cluster, the cluster configuration is reverted to the default\nvalues, then the new configuration values are applied.\n",
        "properties": {
          "key": {
            "description": "Reference to the virtual machine.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "restartPriority": {
            "deprecated": true,
            "description": "Deprecated as of VI API 2.5, use\n*ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.restartPriority*.\nIf you specify *ClusterDasVmConfigInfo.restartPriority* here and in\n*ClusterDasVmSettings*, the value in *ClusterDasVmSettings*\nhas precedence.\n\nRestart priority for a virtual machine.\n\nIf there is nothing specified here, then the defaults are picked up from\n*ClusterDasConfigInfo.defaultVmSettings*.\n",
            "$ref": "#/components/schemas/DasVmPriority_enum"
          },
          "powerOffOnIsolation": {
            "deprecated": true,
            "description": "Deprecated as of VI API 2.5, use\n*ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.isolationResponse*.\nIf you specify both *ClusterDasVmConfigInfo.powerOffOnIsolation* and\n*ClusterDasVmSettings.isolationResponse*, the value in\n*ClusterDasVmSettings.isolationResponse* has precedence.\n\nFlag to indicate whether or not the virtual machine should be powered off if a\nhost determines that it is isolated from the rest of the compute resource.\n\nIf there is nothing specified here, then the defaults are picked up from\n*ClusterDasConfigInfo.defaultVmSettings*.\n",
            "type": "boolean"
          },
          "dasSettings": {
            "description": "HA settings that apply to this virtual machine.\n\nValues specified in this object override the cluster-wide\ndefaults for virtual machines (*ClusterDasConfigInfo.defaultVmSettings*).\n",
            "$ref": "#/components/schemas/ClusterDasVmSettings"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasVmConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDasVmConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasVmConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasVmConfigSpec": {
        "type": "object",
        "description": "An incremental update to the per-virtual-machine vSphere HA configuration.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ClusterDasVmConfigInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfClusterDasVmConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterDasVmConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasVmConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasVmSettings": {
        "type": "object",
        "description": "The *ClusterDasVmSettings* data object contains the HA configuration\nsettings specified for a single virtual machine (identified by\n*ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.key*)\nor as cluster-wide defaults\n*ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings*\n\nAll fields are optional. If you set the <code>modify</code> parameter to\n<code>true</code> when you call *ComputeResource.ReconfigureComputeResource_Task*,\nan unset property has no effect on the existing property value in the\ncluster configuration on the Server. If you set the <code>modify</code>\nparameter to <code>false</code> when you reconfigure a cluster, the cluster\nconfiguration is reverted to the default values, then the new configuration\nvalues are applied.\n",
        "properties": {
          "restartPriority": {
            "description": "Restart priority for a virtual machine.\n\nIf not specified at either the cluster level or\nthe virtual machine level, this will default to <code>medium</code>.\n\nSee also *ClusterDasVmSettingsRestartPriority_enum*.\n",
            "type": "string"
          },
          "restartPriorityTimeout": {
            "description": "This setting is used to specify a maximum time the lower priority VMs\nshould wait for the higher priority VMs to be ready.\n\nIf the higher\npriority Vms are not ready by this time, then the lower priority VMs\nare restarted irrespective of the VM ready state. This timeout can be\nused to prevent the failover of lower priority VMs to be stuck\ninfinitely.\n\nThis timeout is not used if ready condition is\n*none*\n\nTimeout specified in seconds. To use cluster setting for a VM override,\nset to -1 in per-VM.\nsetting.\n",
            "type": "integer",
            "format": "int32"
          },
          "isolationResponse": {
            "description": "Indicates whether or not the virtual machine should be powered off if a\nhost determines that it is isolated from the rest of the compute\nresource.\n\nIf not specified at either the cluster level or\nthe virtual machine level, this will default to <code>powerOff</code>.\n\nSee also *ClusterDasVmSettingsIsolationResponse_enum*.\n",
            "type": "string"
          },
          "vmToolsMonitoringSettings": {
            "description": "Configuration for the VM Health Monitoring Service.\n",
            "$ref": "#/components/schemas/ClusterVmToolsMonitoringSettings"
          },
          "vmComponentProtectionSettings": {
            "description": "Configuration for the VM Component Protection Service.\n",
            "$ref": "#/components/schemas/ClusterVmComponentProtectionSettings"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDasVmSettings": {
        "type": "object",
        "description": "A boxed array of *ClusterDasVmSettings*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDasVmSettings"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDatastoreUpdateSpec": {
        "type": "object",
        "description": "An incremental update to a Datastore list.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "datastore": {
            "description": "Refers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfClusterDatastoreUpdateSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterDatastoreUpdateSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDatastoreUpdateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDependencyRuleInfo": {
        "type": "object",
        "description": "The *ClusterDependencyRuleInfo* data object indentifies VM-to-VM\ndependencies.\n\nA VM-VM Dependency rule identifies the following groups.\n- A virtual machine group - *ClusterDependencyRuleInfo.vmGroup*\n- A \"depends on\" virtual machine group - *ClusterDependencyRuleInfo.dependsOnVmGroup*.\n  \nThe VMs in *ClusterDependencyRuleInfo.vmGroup* depends on the list of VMs specified in *ClusterDependencyRuleInfo.dependsOnVmGroup*.\n\nFor example, this rule is used during vSphere HA VM recovery\norchestration. vSphere HA will not restart the VMs in *ClusterDependencyRuleInfo.vmGroup*\nuntil all the VMs in *ClusterDependencyRuleInfo.dependsOnVmGroup* are deemded \"ready\" (See\n*ClusterVmReadiness*).\n\nAll the virtual machines referenced by this rule must be in\nthe same cluster.\n",
        "properties": {
          "vmGroup": {
            "description": "Virtual group name.\n\nThe virtual group may contain one or more virtual\nmachines.\n*ClusterVmGroup*.*ClusterGroupInfo.name*\n",
            "type": "string"
          },
          "dependsOnVmGroup": {
            "description": "Depdendency virtual group name\n(*ClusterVmGroup*.*ClusterGroupInfo.name*).\n\nThe virtual group may contain one or more virtual machines.\n",
            "type": "string"
          }
        },
        "required": [
          "vmGroup",
          "dependsOnVmGroup"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterRuleInfo"
          }
        ]
      },
      "ArrayOfClusterDependencyRuleInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDependencyRuleInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDependencyRuleInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDpmConfigInfo": {
        "type": "object",
        "description": "Configuration of the VMware DPM service.\n\nAll fields are defined as optional. In case of a reconfiguration,\nunset fields are not changed.\n",
        "properties": {
          "enabled": {
            "description": "Flag indicating whether or not the service is enabled.\n\nThis\nservice can not be enabled, unless DRS is enabled as well.\n",
            "type": "boolean"
          },
          "defaultDpmBehavior": {
            "description": "Specifies the default VMware DPM behavior for\nhosts.\n\nThis default behavior can be overridden on a per host\nbasis using the *ClusterDpmHostConfigInfo* object.\n",
            "$ref": "#/components/schemas/DpmBehavior_enum"
          },
          "hostPowerActionRate": {
            "description": "DPM generates only those recommendations that are above the\nspecified rating.\n\nRatings vary from 1 to 5. This setting applies\nto both manual and automated (@link DpmBehavior) DPM clusters.\n",
            "type": "integer",
            "format": "int32"
          },
          "option": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.1, use\n*ClusterDrsConfigInfo.option*.\n\nAdvanced settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDpmConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDpmConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDpmConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDpmHostConfigInfo": {
        "type": "object",
        "description": "DPM configuration for a single host.\n\nThis makes\nit possible to override the default behavior for an individual\nhost.\n",
        "properties": {
          "key": {
            "description": "Reference to the host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "enabled": {
            "description": "Flag to indicate whether or not VirtualCenter is allowed to perform any\npower related operations or recommendations for this host.\n\nIf this flag is false, the host is effectively excluded from\nDPM service.\n\nIf no individual DPM specification exists for a host,\nthis property defaults to true.\n",
            "type": "boolean"
          },
          "behavior": {
            "description": "Specifies the particular DPM behavior for this host.\n\nSee also *ClusterDpmConfigInfo*.\n",
            "$ref": "#/components/schemas/DpmBehavior_enum"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDpmHostConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDpmHostConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDpmHostConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDpmHostConfigSpec": {
        "type": "object",
        "description": "The *ClusterDpmHostConfigSpec* data object provides information\nthat the Server uses to update the DPM configuration for a\nsingle host (identified by the\n*ClusterDpmHostConfigInfo.key* property).\n\nThe host DPM configuration overrides the cluster\ndefault DPM setting\n(*ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmConfig*).\n\nThe vSphere API defines three update operations\n(*ArrayUpdateSpec*.*ArrayUpdateSpec.operation*).\n- add: Define DPM behavior for a host. If the cluster\n  configuration already includes a DPM behavior override\n  for the specified host, this operation\n  removes the existing override and adds the new one.\n  The new DPM override will use the cluster default value\n  if you do not specify the behavior property\n  (*ClusterDpmConfigInfo.defaultDpmBehavior*).\n- edit: Perform an incremental update to an existing\n  DPM configuration entry for a host.\n  The reconfigure method changes only the properties\n  that you set in the data object. The entry must exist\n  in the\n  *ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmHostConfigSpec* array.\n- remove: Remove the DPM override for the specified\n  host. To identify the host to delete, use the\n  *ArrayUpdateSpec.removeKey* property\n  to specify the *ClusterDpmHostConfigInfo.key*\n  in the host override.\n  \nUse the *ComputeResource.ReconfigureComputeResource_Task* method\nto update the DPM configuration. If you set the modify parameter\nto true, you can use any of the three operations (add, edit, or remove).\nIf you set the modify parameter to false, you can use only the\nadd operation.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ClusterDpmHostConfigInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfClusterDpmHostConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterDpmHostConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDpmHostConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDrsConfigInfo": {
        "type": "object",
        "description": "The *ClusterDrsConfigInfo* data object contains configuration information\nfor the VMware DRS service.\n\nAll fields are optional. If you set the <code>modify</code>\nparameter to <code>true</code> when you call\n*ComputeResource.ReconfigureComputeResource_Task*, an unset property has no effect\non the existing property value in the cluster configuration on the Server.\nIf you set the <code>modify</code> parameter to <code>false</code> when you\nreconfigure a cluster, the cluster configuration is reverted to the default\nvalues, then the new configuration values are applied.\n",
        "properties": {
          "enabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 7.0.\nTo disable DRS load balancing, please use the lowest DRS aggressiveness\nlevel, setting *ClusterDrsConfigInfo.vmotionRate* to 5, and/or\nsetting *ClusterDrsConfigInfo.defaultVmBehavior* to manual.\nThe former only generates manadatory move recommendations, not load\nbalancing recommendations. The latter only generates recommendations,\nwithout executing them.\nTo remove all the child resource pools, please find the root resource\npool *ComputeResource.resourcePool*, and destroy all its\nchildren *ResourcePool.DestroyChildren*.\nVice versa.\n\nFlag indicating whether or not DRS service is enabled.\n",
            "type": "boolean"
          },
          "enableVmBehaviorOverrides": {
            "description": "Flag that dictates whether DRS Behavior overrides for individual\nvirtual machines (*ClusterDrsVmConfigInfo*) are enabled.\n\nThe default\nvalue is <code>true</code>.\n\nWhen this flag is <code>true</code>, the\n*ClusterConfigSpecEx*.*ClusterConfigSpecEx.drsVmConfigSpec*\nvalues override the *ClusterDrsConfigInfo.defaultVmBehavior*.\n\nWhen this flag is <code>false</code>, the\n*ClusterDrsConfigInfo.defaultVmBehavior* value applies to all virtual\nmachines, with the following exception: in a cluster that has EVC disabled,\nyou cannot override the virtual machine setting\n(*ClusterConfigSpecEx.drsVmConfigSpec*)\nfor Fault Tolerance virtual machines.\n",
            "type": "boolean"
          },
          "defaultVmBehavior": {
            "description": "Specifies the cluster-wide default DRS behavior for virtual machines.\n\nYou can override the default behavior for a virtual machine\nby using the *ClusterDrsVmConfigInfo* object.\n",
            "$ref": "#/components/schemas/DrsBehavior_enum"
          },
          "vmotionRate": {
            "description": "Threshold for generated *ClusterRecommendation*s.\n\nDRS generates only those recommendations that are above the\nspecified vmotionRate. Ratings vary from 1 to 5. This setting applies\nto manual, partiallyAutomated, and fullyAutomated\nDRS clusters. See *DrsBehavior_enum*.\n",
            "type": "integer",
            "format": "int32"
          },
          "scaleDescendantsShares": {
            "description": "Specifies the scaling behavior of the shares of all resource pools\nin the cluster.\n\nSee *ResourceConfigSpecScaleSharesBehavior_enum*\nfor possible values. If any scaling behavior other than\n*disabled* is specified,\nthe system will scale the CPU and memory shares allocated to each\nresource pool with the total shares of all powered on virtual machines\nunder each respective pool. The system will also use the\n*SharesInfo* set on each resource pool as a multiplier for the\nscale. Setting the\n*ClusterDrsConfigInfo.scaleDescendantsShares* on the cluster\nis equivalent to setting the\n*ResourceConfigSpec.scaleDescendantsShares* on the root\nresource pool.\n",
            "type": "string"
          },
          "option": {
            "description": "Advanced settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDrsConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDrsConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDrsFaults": {
        "type": "object",
        "description": "The faults generated by DRS when it tries to make recommendations\nfor rule enforcement, power management, etc., and indexed in a tree\nstructure with reason for recommendations and VM to migrate (optional)\nas the index keys.\n",
        "properties": {
          "reason": {
            "description": "A reason code explaining why this set of recommendations were attempted\nby DRS when it generated the faults.\n",
            "type": "string"
          },
          "faultsByVm": {
            "description": "The faults grouped by VMs that DRS was trying to migrate.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsFaultsFaultsByVm"
            }
          }
        },
        "required": [
          "reason",
          "faultsByVm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDrsFaults": {
        "type": "object",
        "description": "A boxed array of *ClusterDrsFaults*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsFaults"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDrsFaultsFaultsByVirtualDisk": {
        "type": "object",
        "description": "The faults generated by storage DRS when it tries to move a virtual disk.\n",
        "properties": {
          "disk": {
            "description": "The virtual disk that storage DRS was trying to migrate when it\ngenerated the faults.\n\nIf this property is NULL, the fault is not\nassociated with a particular virtual disk.\n",
            "$ref": "#/components/schemas/VirtualDiskId"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDrsFaultsFaultsByVm"
          }
        ]
      },
      "ArrayOfClusterDrsFaultsFaultsByVirtualDisk": {
        "type": "object",
        "description": "A boxed array of *ClusterDrsFaultsFaultsByVirtualDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsFaultsFaultsByVirtualDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDrsFaultsFaultsByVm": {
        "type": "object",
        "description": "FaultsByVm is the faults generated by DRS when it tries to\nmove a VM.\n",
        "properties": {
          "vm": {
            "description": "The VM that DRS was trying to migrate when it generated the faults.\n\nIf this property is NULL, the fault is not associated with a particular VM.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "fault": {
            "description": "The faults generated by DRS when it was trying to move the given VM.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDrsFaultsFaultsByVm": {
        "type": "object",
        "description": "A boxed array of *ClusterDrsFaultsFaultsByVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsFaultsFaultsByVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDrsMigration": {
        "type": "object",
        "description": "Describes a single virtual machine migration.\n",
        "properties": {
          "key": {
            "description": "A unique key that identifies this recommendation.\n\nThis\nis used as an argument to\nComputeResource.applyRecommendation.\n",
            "type": "string"
          },
          "time": {
            "description": "The time this recommendation was computed.\n",
            "type": "string",
            "format": "date-time"
          },
          "vm": {
            "description": "The virtual machine selected for migration.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "cpuLoad": {
            "description": "Current CPU load for the virtual machine, in MHz.\n\nThis property is only populated for recommendations.\n",
            "type": "integer",
            "format": "int32"
          },
          "memoryLoad": {
            "description": "Current memory load for the virtual machine, in bytes.\n\nThis field is only populated for recommendations.\n",
            "type": "integer",
            "format": "int64"
          },
          "source": {
            "description": "Source host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "sourceCpuLoad": {
            "description": "Current CPU load on the source host, in MHz.\n",
            "type": "integer",
            "format": "int32"
          },
          "sourceMemoryLoad": {
            "description": "Current memory usage on the source host, in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "destination": {
            "description": "Destination host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destinationCpuLoad": {
            "description": "Current CPU load on the destination host, in MHz.\n",
            "type": "integer",
            "format": "int32"
          },
          "destinationMemoryLoad": {
            "description": "Current memory usage on the destination host, in bytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "key",
          "time",
          "vm",
          "source",
          "destination"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDrsMigration": {
        "type": "object",
        "description": "A boxed array of *ClusterDrsMigration*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsMigration"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDrsRecommendation": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5 use *ClusterRecommendation*.\n\nDrsRecommendation describes a recommendation to migrate\none or more virtual machines.\n",
        "properties": {
          "key": {
            "description": "Key to identify the recommendation when calling applyRecommendation.\n",
            "type": "string"
          },
          "rating": {
            "description": "A rating of the recommendation.\n\nValid values range from 1 (lowest confidence) to 5 (highest confidence).\n",
            "type": "integer",
            "format": "int32"
          },
          "reason": {
            "description": "A reason code explaining why this set of migrations is being suggested.\n",
            "type": "string"
          },
          "reasonText": {
            "description": "Text that provides more information about the reason code for the suggested\nset of migrations.\n",
            "type": "string"
          },
          "migrationList": {
            "deprecated": true,
            "description": "Deprecated a more general *recommendation* list should be used. This recommendation type\nand the migrationList is kept for backward compatibility.\n\nList of migrations in this recommendation and all the parent\nrecommendations on which this recommendation depends.\n\nAll the\nmigrations in this list can be constructed from *ClusterRecommendation.prerequisite* and *ClusterRecommendation.action*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsMigration"
            }
          }
        },
        "required": [
          "key",
          "rating",
          "reason",
          "reasonText",
          "migrationList"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDrsRecommendation": {
        "type": "object",
        "description": "A boxed array of *ClusterDrsRecommendation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsRecommendation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDrsVmConfigInfo": {
        "type": "object",
        "description": "DRS configuration for a single virtual machine.\n\nThis makes it possible\nto override the default behavior for an individual virtual machine.\n",
        "properties": {
          "key": {
            "description": "Reference to the virtual machine.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "enabled": {
            "description": "Flag to indicate whether or not VirtualCenter is allowed to perform any\nDRS migration or initial placement recommendations for this virtual\nmachine.\n\nIf this flag is false, the virtual machine is effectively excluded from\nDRS.\n\nIf no individual DRS specification exists for a virtual machine,\nthis property defaults to true.\n",
            "type": "boolean"
          },
          "behavior": {
            "description": "Specifies the particular DRS behavior for this virtual machine.\n\nSee also *ClusterDrsConfigInfo*.\n",
            "$ref": "#/components/schemas/DrsBehavior_enum"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterDrsVmConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterDrsVmConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsVmConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDrsVmConfigSpec": {
        "type": "object",
        "description": "Updates the per-virtual-machine DRS configuration.\n\nTo update the DRS configuration of a virtual machine, a copy of this object\nis included in the *ClusterConfigSpecEx* object passed to the method\n*ComputeResource.ReconfigureComputeResource_Task*.\n\nIf _reconfigureEx_ is used to\nincrementally update the cluster configuration (i.e., the parameter **modify** is true),\nthen three operations are provided for updating the DRS configuration for a virtual machine.\nThese operations are listed below (see *ArrayUpdateSpec* for more\ninformation on these operations).\n- add: add a configuration for the virtual machine, overwritting the existing\n  configuration if one exists\n- edit: incrmentally update the existing configuration; an existing configuration\n  must exist\n- remove: remove the existing configuration; an existing configuration must exist\n  \nIf, instead, this method is used to overwrite the cluster configuration (i.e., the parameter\n**modify** is false) thereby creating a new configuration, only the add operation is allowed.\nIn this case, _add_ creates a DRS configuration for a virtual machine in the new cluster\nconfiguration.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ClusterDrsVmConfigInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfClusterDrsVmConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterDrsVmConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDrsVmConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterEVCManagerCheckResult": {
        "type": "object",
        "properties": {
          "evcModeKey": {
            "description": "The EVC mode being tested for legal application.\n",
            "type": "string"
          },
          "error": {
            "description": "A problem that would prevent applying the desired EVC mode.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "host": {
            "description": "The set of hosts which would generate the fault described by the\n*ClusterEVCManagerCheckResult.error* property when the desired EVC mode is applied.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "evcModeKey",
          "error"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterEVCManagerCheckResult": {
        "type": "object",
        "description": "A boxed array of *ClusterEVCManagerCheckResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterEVCManagerCheckResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterEVCManagerEVCState": {
        "type": "object",
        "properties": {
          "supportedEVCMode": {
            "description": "All supported EVC modes.\n\nIdentical to\n*Capability.supportedEVCMode*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCMode"
            }
          },
          "currentEVCModeKey": {
            "description": "If unset, then EVC is disabled.\n\nIf set, then EVC is enabled, and the\nvalue references an EVC mode described in one of the elements of the\n*ClusterEVCManagerEVCState.supportedEVCMode* array property. The EVC mode determines the\nset of guaranteed clusterwide CPU features. While EVC is enabled, CPU\ncompatibility issues will not block any VMotion within the cluster\n(unless some VM is specifically configured to do different CPUID\noverrides).\n",
            "type": "string"
          },
          "guaranteedCPUFeatures": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5 use *ClusterEVCManagerEVCState.featureCapability*.\n\nWhen EVC is enabled, this array contains the CPU feature bits that are\nguaranteed (by EVC) to be the same among all hosts in the cluster.\n\nThis property has the same value as the guaranteedCPUFeatures property\nof the configured EVC mode. On any host in the EVC cluster, the CPU\nfeatures either naturally match these values because of the CPU\nhardware, or else CPU feature override is used to mask out differences\nand enforce a match. This array is empty when EVC is disabled.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuIdInfo"
            }
          },
          "featureCapability": {
            "description": "When EVC is enabled, this array contains the feature capabilities that\nare guaranteed (by EVC) to be the same among all hosts in the cluster.\n\nThis property has the same value as the featureCapability property\nof the configured EVC mode. On any host in the EVC cluster, the feature\ncapabilities either naturally match these values because of the CPU\nhardware, or else feature masks are used to mask out differences and\nenforce a match. This array is empty when EVC is disabled.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureCapability"
            }
          },
          "featureMask": {
            "description": "The masks (modifications to a host's feature capabilities) that limit a\nhost's capabilities to that of the EVC mode baseline.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureMask"
            }
          },
          "featureRequirement": {
            "description": "The conditions that must be true of a host's feature capabilities in order\nfor the host to meet the minimum requirements of the EVC mode baseline.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFeatureRequirement"
            }
          }
        },
        "required": [
          "supportedEVCMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterEVCManagerEVCState": {
        "type": "object",
        "description": "A boxed array of *ClusterEVCManagerEVCState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterEVCManagerEVCState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterEnterMaintenanceResult": {
        "type": "object",
        "description": "EnterMaintenanceResult is the base class of the result returned to the\n*ClusterComputeResource.ClusterEnterMaintenanceMode* method.\n",
        "properties": {
          "recommendations": {
            "description": "The list of recommendations for hosts that Virtual Center will\nbe able to evacuate.\n\nEach recommendation consists of a host\nmaintenance action *ClusterAction* for a host, along\nwith zero or more vmotions for evacuation. Application of the\nrecommendations is not supported currently. The client will have\nto put the hosts into maintenance mode by calling the separate\nmethod *HostSystem.EnterMaintenanceMode_Task*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRecommendation"
            }
          },
          "fault": {
            "description": "The faults that explain why the Virtual Center cannot evacuate\nsome hosts.\n",
            "$ref": "#/components/schemas/ClusterDrsFaults"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterEnterMaintenanceResult": {
        "type": "object",
        "description": "A boxed array of *ClusterEnterMaintenanceResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterEnterMaintenanceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterFailoverHostAdmissionControlInfo": {
        "type": "object",
        "description": "The current admission control related information if the cluster was configured\nwith a FailoverHostAdmissionControlPolicy.\n",
        "properties": {
          "hostStatus": {
            "description": "Status of the failover hosts in the cluster.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFailoverHostAdmissionControlInfoHostStatus"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDasAdmissionControlInfo"
          }
        ]
      },
      "ArrayOfClusterFailoverHostAdmissionControlInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterFailoverHostAdmissionControlInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFailoverHostAdmissionControlInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterFailoverHostAdmissionControlInfoHostStatus": {
        "type": "object",
        "description": "Data object containing the status of a failover host.\n",
        "properties": {
          "host": {
            "description": "The failover host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "status": {
            "description": "The status of the failover host.\n\nThe status is green for a connected host with no vSphere HA errors and\nno virtual machines running on it.\nThe status is yellow for a connected host with no vSphere HA errors and\nsome virtual machines running on it.\nThe status red for a disconnected or not responding host, a host that\nis in maintenance or standby mode or that has a vSphere HA error on it.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          }
        },
        "required": [
          "host",
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus": {
        "type": "object",
        "description": "A boxed array of *ClusterFailoverHostAdmissionControlInfoHostStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFailoverHostAdmissionControlInfoHostStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterFailoverHostAdmissionControlPolicy": {
        "type": "object",
        "description": "The *ClusterFailoverHostAdmissionControlPolicy* dedicates\none or more hosts for use during failover.\n\nWhen a host fails with this policy in place, vSphere HA attempts\nto restart its virtual machines on a dedicated failover host.\nIf this is not possible, for example the failover host itself has failed\nor it has insufficient resources, HA attempts to restart those virtual\nmachines on another host in the cluster.\n\nTo support the availabilty of a failover host,\nthe vCenter Server will prevent users from powering on virtual machines\non that host, or from using vMotion to migrate virtual machines to the host.\nAlso, DRS does not use the failover host for load balancing.\n\nTo obtain the status of a failover host, use the\n*ClusterFailoverHostAdmissionControlInfo.hostStatus*\nproperty\n(*ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.admissionControlInfo*.*ClusterFailoverHostAdmissionControlInfo.hostStatus*).\n",
        "properties": {
          "failoverHosts": {
            "description": "List of managed object references to failover hosts.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "failoverLevel": {
            "description": "Number of host failures that should be tolerated, still guaranteeing\nsufficient resources to restart virtual machines on available hosts.\n\nIf not set, we assume 1.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDasAdmissionControlPolicy"
          }
        ]
      },
      "ArrayOfClusterFailoverHostAdmissionControlPolicy": {
        "type": "object",
        "description": "A boxed array of *ClusterFailoverHostAdmissionControlPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFailoverHostAdmissionControlPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterFailoverLevelAdmissionControlInfo": {
        "type": "object",
        "description": "The current admission control related information if the cluster was\nconfigured with a FailoverLevelAdmissionControlPolicy.\n",
        "properties": {
          "currentFailoverLevel": {
            "description": "Current failover level.\n\nThis is the number of physical host failures that\ncan be tolerated without impacting the ability to satisfy the minimums for\nall running virtual machines. This represents the current value, as\nopposed to desired value configured by the user.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "currentFailoverLevel"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDasAdmissionControlInfo"
          }
        ]
      },
      "ArrayOfClusterFailoverLevelAdmissionControlInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterFailoverLevelAdmissionControlInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFailoverLevelAdmissionControlInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterFailoverLevelAdmissionControlPolicy": {
        "type": "object",
        "description": "The *ClusterFailoverLevelAdmissionControlPolicy*\ndefines the number of host failures that should be tolerated and still\nguarantee enough unfragmented resources to failover all powered on virtual\nmachines on those failed hosts.\n\nWhen you use the failover level policy, vSphere HA partitions resources\ninto slots. A slot represents the minimum CPU and memory resources\nthat are required to support any powered-on virtual machine in the cluster.\n\nWith the failover level policy in place, HA uses the following slot\ncalculations to control virtual machine migration within the cluster:\n1. Calculate the slot size from CPU and memory reservations.\n   The CPU value is the largest CPU reservation for all powered-on\n   virtual machines in the cluster. The memory value is the largest\n   memory reservation (plus memory overhead).\n   \n   If your cluster contains any virtual machines that have much larger\n   reservations than the others, they will distort slot size calculation.\n   To avoid this, you can specify an upper bound for slot sizes;\n   use the configuration editor in the vSphere Client to set the\n   das.slotCpuInMHz and das.slotMemInMB attributes. When you use these\n   attributes, there is a risk that resource fragmentation will cause\n   virtual machines with resource requirements larger than the slot size\n   to be assigned multiple slots. In a cluster that is close to capacity,\n   there might be enough slots in aggregate for HA to successfully\n   failover a virtual machine. However, if those slots are located\n   on multiple hosts, a virtual machine assigned multiple slots cannot\n   use them because a virtual machine can run on only a single host\n   at a time.\n2. Determine how many slots each host in the cluster can hold.\n   HA uses the CPU and memory resources in a host's root resource pool\n   to determine host slot capacity, not the total physical resources\n   of the host. Resources used for virtualization purposes are not\n   included. HA uses connected hosts that are not in maintenance mode\n   and that do not have any HA errors.\n   \n   The CPU slot resource is the host CPU resource amount divided\n   by the CPU component of the slot size; the result is rounded down.\n   HA makes the same calculation for host memory resource amount.\n   HA compares the results; the lower of the two numbers is the\n   host slot capacity.\n3. Determine the current failover capacity of the cluster. This is the\n   number of hosts (starting from the largest) that can fail and still\n   leave enough slots to satisfy all of the powered-on virtual machines.\n4. Compare the current failover capacity to the configured\n   *ClusterFailoverLevelAdmissionControlPolicy.failoverLevel*.\n   If the current failover capacity is less than the configured\n   failover level, HA disallows the operation.\n",
        "properties": {
          "failoverLevel": {
            "description": "Number of host failures that should be tolerated, still guaranteeing\nsufficient resources to restart virtual machines on available hosts.\n",
            "type": "integer",
            "format": "int32"
          },
          "slotPolicy": {
            "description": "A policy for how to compute the slot size.\n\nIf left unset, the slot is\ncomputed using the maximum reservations and memory overhead of any\npowered on virtual machine in the cluster.\n",
            "$ref": "#/components/schemas/ClusterSlotPolicy"
          }
        },
        "required": [
          "failoverLevel"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDasAdmissionControlPolicy"
          }
        ]
      },
      "ArrayOfClusterFailoverLevelAdmissionControlPolicy": {
        "type": "object",
        "description": "A boxed array of *ClusterFailoverLevelAdmissionControlPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFailoverLevelAdmissionControlPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterFailoverResourcesAdmissionControlInfo": {
        "type": "object",
        "description": "The current admission control related information if the cluster was configured\nwith a FailoverResourcesAdmissionControlPolicy.\n",
        "properties": {
          "currentCpuFailoverResourcesPercent": {
            "description": "The percentage of cpu resources in the cluster available for failover.\n",
            "type": "integer",
            "format": "int32"
          },
          "currentMemoryFailoverResourcesPercent": {
            "description": "The percentage of memory resources in the cluster available for failover.\n",
            "type": "integer",
            "format": "int32"
          },
          "currentPMemFailoverResourcesPercent": {
            "description": "The percentage of persistent memory resources in the cluster available\nfor failover.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "currentCpuFailoverResourcesPercent",
          "currentMemoryFailoverResourcesPercent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDasAdmissionControlInfo"
          }
        ]
      },
      "ArrayOfClusterFailoverResourcesAdmissionControlInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterFailoverResourcesAdmissionControlInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFailoverResourcesAdmissionControlInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterFailoverResourcesAdmissionControlPolicy": {
        "type": "object",
        "description": "The *ClusterFailoverResourcesAdmissionControlPolicy*\nreserves a specified percentage of aggregate cluster resources for failover.\n\nWith the resources failover policy in place, vSphere HA uses the following\ncalculations to control virtual machine migration in the cluster.\n1. Calculate the total resource requirements for all powered-on\n   virtual machines in the cluster.\n2. Calculate the total host resources available for virtual machines.\n3. Calculate the Current CPU failover capacity, memory failover\n   capacity and optionally, persistent memory failover capacity\n   for the cluster.\n4. Compare the current CPU failover capacity and current memory failover\n   capacity with the configured resource percentages\n   (*ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent*\n   and\n   *ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent*).\n   If either current capacity is less than the corresponding configured\n   capacity, HA does not allow the operation.\n   \nHA uses the actual reservations of the virtual machines. If a virtual machine\ndoes not have reservations, meaning that the reservation is 0, a default\nof 0MB memory and 256MHz CPU is applied. This is controlled by the same\nHA advanced options used for the failover level policy\n(*ClusterFailoverLevelAdmissionControlPolicy*).\n",
        "properties": {
          "cpuFailoverResourcesPercent": {
            "description": "Percentage of CPU resources in the cluster to reserve for failover.\n\nYou can specify up to 100% of CPU resources for failover.\n",
            "type": "integer",
            "format": "int32"
          },
          "memoryFailoverResourcesPercent": {
            "description": "Percentage of memory resources in the cluster to reserve for failover.\n\nYou can specify up to 100% of memory resources for failover.\n",
            "type": "integer",
            "format": "int32"
          },
          "failoverLevel": {
            "description": "Number of host failures that should be tolerated, still guaranteeing\nsufficient resources to restart virtual machines on available hosts.\n\nIf not set, we assume 1.\n",
            "type": "integer",
            "format": "int32"
          },
          "autoComputePercentages": {
            "description": "Flag to enable user input values for\n*ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent*\nand\n*ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent*\nBy default, this is true and the default calculation is using the\n*ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel*\nhosts' resources.\n\nIf users want to override the percentage values,\nthey must disable the auto-compute by setting this field to false.\n",
            "type": "boolean"
          },
          "pMemFailoverResourcesPercent": {
            "description": "Percentage of persistent memory resources in the cluster to reserve for\nthe failover.\n\nYou can specify up to 100% of persistent memory resources for failover.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "integer",
            "format": "int32"
          },
          "autoComputePMemFailoverResourcesPercent": {
            "description": "Flag to enable user input values for\n*ClusterFailoverResourcesAdmissionControlPolicy.pMemFailoverResourcesPercent*\nBy default, this is true and the default calculation is done using the\n*ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel* hosts' resources.\n\nIf a user wants to override the percentage values, they\nmust disable the auto-compute by setting this field to false.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "cpuFailoverResourcesPercent",
          "memoryFailoverResourcesPercent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterDasAdmissionControlPolicy"
          }
        ]
      },
      "ArrayOfClusterFailoverResourcesAdmissionControlPolicy": {
        "type": "object",
        "description": "A boxed array of *ClusterFailoverResourcesAdmissionControlPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFailoverResourcesAdmissionControlPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterFixedSizeSlotPolicy": {
        "type": "object",
        "description": "This policy allows setting a fixed slot size\n",
        "properties": {
          "cpu": {
            "description": "The cpu component of the slot size (in MHz)\n",
            "type": "integer",
            "format": "int32"
          },
          "memory": {
            "description": "The memory component of the slot size (in megabytes)\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "cpu",
          "memory"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterSlotPolicy"
          }
        ]
      },
      "ArrayOfClusterFixedSizeSlotPolicy": {
        "type": "object",
        "description": "A boxed array of *ClusterFixedSizeSlotPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFixedSizeSlotPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterFtVmHostRuleInfo": {
        "type": "object",
        "description": "An *ClusterFtVmHostRuleInfo* object provides control of the\nplacement of virtual machines across two host groups. The virtual machines\nand hosts referenced by an FT VM-Host rule must be in the same cluster.\n\nAn FT VM-Host rule identifies the following groups.\n- A virtual machine group name (*ClusterVmGroup*).\n- An array of two host groups (*ClusterHostGroup*).\n  \n*ClusterFtVmHostRuleInfo* stores only the names of the relevant\nvirtual machine and host groups. The group contents are stored in\nthe virtual machine and host group objects.\n\nWhen employing this rule, take care to ensure that the specified\nhost groups have sufficient resources to support the requirements\nof all VMs specified.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "vmGroupName": {
            "description": "Virtual machine group name\n(*ClusterVmGroup*.*ClusterGroupInfo.name*).\n\nThe named virtual machine group may have zero or more VMs.\nA virtual machine in this group may be a normal virtual machine\nor a fault tolerant primary virtual machine; it cannot\nbe a fault tolerant secondary virtual machine.\n\nControl of FT secondary virtual machines is implied by the presence\nof the primary FT virtual machine.\n\nA virtual machine in this group should not be referenced in any other\nFT VM-Host rule or VM-Host rule *ClusterVmHostRuleInfo*.\n",
            "type": "string"
          },
          "hostGroupName": {
            "description": "Array of two Host Groups (*ClusterHostGroup*).\n\nThe hostGroup array must have two host groups. Each host group in the\nhostGroup array will have a set of hosts. For each Fault Tolerance primary\nVM that is part of VmGroup, the primary and secondary VMs would be placed\non hosts that are not part of the same host group.\n\nThe members of each host group should be disjoint from the members\nof all other host group specified.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vmGroupName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterRuleInfo"
          }
        ]
      },
      "ArrayOfClusterFtVmHostRuleInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterFtVmHostRuleInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFtVmHostRuleInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterGroupInfo": {
        "type": "object",
        "description": "*ClusterGroupInfo* is the base type for all virtual machine\nand host groups.\n\nAll virtual machines and hosts that are part of a group\nmust be part of the same cluster.\n",
        "properties": {
          "name": {
            "description": "Unique name of the group.\n",
            "type": "string"
          },
          "userCreated": {
            "description": "Flag to indicate whether the group is created by the user or the system.\n",
            "type": "boolean"
          },
          "uniqueID": {
            "description": "Unique ID for the group.\n\nuniqueID is unique within a cluster.\nGroups residing in different clusters might share a uniqueID.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterGroupInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterGroupInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterGroupInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterGroupSpec": {
        "type": "object",
        "description": "An incremental update to the cluster-wide groups.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ClusterGroupInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfClusterGroupSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterGroupSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterGroupSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterHostGroup": {
        "type": "object",
        "description": "The *ClusterHostGroup* data object identifies hosts for VM-Host rules.\n\nVM-Host rules determine placement of virtual machines on hosts in a cluster.\nThe logic specified in a *ClusterVmHostRuleInfo* object\ndetermines where virtual machines can be powered-on.\n",
        "properties": {
          "host": {
            "description": "List of hosts that are part of this group.\n\nA host group can contain zero or more hosts.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterGroupInfo"
          }
        ]
      },
      "ArrayOfClusterHostGroup": {
        "type": "object",
        "description": "A boxed array of *ClusterHostGroup*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterHostGroup"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterHostInfraUpdateHaModeAction": {
        "type": "object",
        "description": "Describes a HostSystem's quarantine or maintenance mode change action.\n",
        "properties": {
          "operationType": {
            "description": "Specify the action type.\n\nValues are of type\n*OperationType*.\n",
            "type": "string"
          }
        },
        "required": [
          "operationType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAction"
          }
        ]
      },
      "ArrayOfClusterHostInfraUpdateHaModeAction": {
        "type": "object",
        "description": "A boxed array of *ClusterHostInfraUpdateHaModeAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterHostInfraUpdateHaModeAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterHostPowerAction": {
        "type": "object",
        "description": "Describes a single host power action.\n",
        "properties": {
          "operationType": {
            "description": "Specify whether the action is power on or power off\n",
            "$ref": "#/components/schemas/HostPowerOperationType_enum"
          },
          "powerConsumptionWatt": {
            "description": "Estimated power consumption of the host.\n\nIn case of power-on,\nthis is the projected increase in the cluster's power\nconsumption. In case of power off, this is the projected\ndecrease in the cluster's power consumption\n",
            "type": "integer",
            "format": "int32"
          },
          "cpuCapacityMHz": {
            "description": "CPU capacity of the host in units of MHz.\n\nIn case of power-on\naction, this is the projected increase in the cluster's CPU\ncapacity. In case of power off, this is the projected decrease\nin the cluster's CPU capacity.\n",
            "type": "integer",
            "format": "int32"
          },
          "memCapacityMB": {
            "description": "Memory capacity of the host in units of MM.\n\nIn case of power-on\naction, this is the projected increase in the cluster's memory\ncapacity. In case of power off, this is the projected decrease\nin the cluster's memory capacity.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "operationType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAction"
          }
        ]
      },
      "ArrayOfClusterHostPowerAction": {
        "type": "object",
        "description": "A boxed array of *ClusterHostPowerAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterHostPowerAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterHostRecommendation": {
        "type": "object",
        "description": "A DRS recommended host for either powering on, resuming or\nreverting a virtual machine, or migrating a virtual machine from\noutside the cluster.\n",
        "properties": {
          "host": {
            "description": "The recommended host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "rating": {
            "description": "Rating for the recommendation.\n\nRatings range from 1 to 5, and\nthe higher the rating, the stronger DRS suggests this host is\npicked for the operation.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "host",
          "rating"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterHostRecommendation": {
        "type": "object",
        "description": "A boxed array of *ClusterHostRecommendation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterHostRecommendation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterInfraUpdateHaConfigInfo": {
        "type": "object",
        "description": "Configuration of the vSphere InfraUpdateHA service.\n\nAll fields are defined as optional. In case of a reconfiguration,\nunset fields are not changed.\n",
        "properties": {
          "enabled": {
            "description": "Flag indicating whether or not the service is enabled.\n\nInfraUpdateHA\nwill not be active, unless DRS is enabled as well.\n",
            "type": "boolean"
          },
          "behavior": {
            "description": "Configured behavior.\n\nValues are of type\n*BehaviorType*.\n",
            "type": "string"
          },
          "moderateRemediation": {
            "description": "Configured remediation for moderately degraded hosts.\n\nValues are of type\n*RemediationType*.\nConfiguring MaintenanceMode for moderateRemedation and QuarantineMode for\nsevereRemediation is not supported and will throw InvalidArgument.\n",
            "type": "string"
          },
          "severeRemediation": {
            "description": "Configured remediation for severely degraded hosts.\n\nValues are of type\n*RemediationType*.\n",
            "type": "string"
          },
          "providers": {
            "description": "The list of health update providers configured for this cluster.\n\nProviders are identified by their id.\n\nWhen reconfiguring the cluster, a list with a single element {\"\"} will\nclear the list of providers.\n\nIf the provider list is empty, InfraUpdateHA will not be active.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterInfraUpdateHaConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterInfraUpdateHaConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterInfraUpdateHaConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterInitialPlacementAction": {
        "type": "object",
        "description": "Describes an initial placement of a single virtual machine\n",
        "properties": {
          "targetHost": {
            "description": "The host where the virtual machine should be initially placed.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pool": {
            "description": "The resource pool to place the virtual machine into in case this\naction is for migrating from outside cluster.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "targetHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAction"
          }
        ]
      },
      "ArrayOfClusterInitialPlacementAction": {
        "type": "object",
        "description": "A boxed array of *ClusterInitialPlacementAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterInitialPlacementAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterMigrationAction": {
        "type": "object",
        "description": "Describes a single VM migration action.\n",
        "properties": {
          "drsMigration": {
            "description": "The details of the migration action\n",
            "$ref": "#/components/schemas/ClusterDrsMigration"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAction"
          }
        ]
      },
      "ArrayOfClusterMigrationAction": {
        "type": "object",
        "description": "A boxed array of *ClusterMigrationAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterMigrationAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterNotAttemptedVmInfo": {
        "type": "object",
        "description": "This data class reports one virtual machine powerOn failure.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine that can not be powered on.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "fault": {
            "description": "The exception returned.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "vm",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterNotAttemptedVmInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterNotAttemptedVmInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterNotAttemptedVmInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterOrchestrationInfo": {
        "type": "object",
        "description": "vSphere cluster VM orchestration settings.\n\nUsed by vSphere HA when restarting failed VMs. For example, if a host\nfails, vSphere HA identifies the list of VMs to be restarted. The order in\nwhich the failed VMs to be restarted is determined by:\n- VM restart priority setting (*ClusterDasVmSettings.restartPriority*).\n  Lower priority VMs are restarted only after higher priority VMs are\n  restarted and ready (*ClusterVmReadiness*).\n- VM dependency rule (*ClusterDependencyRuleInfo*). If a VM\n  depends on other VMs, then it will be restarted only after all the VMs in\n  its dependency list are ready. Cyclic dependency is not permitted across\n  VMs. Also, higher priority VMs cannot depend on lower priority VMs.\n",
        "properties": {
          "defaultVmReadiness": {
            "description": "Cluster-wide defaults for virtual machine readiness\n",
            "$ref": "#/components/schemas/ClusterVmReadiness"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterOrchestrationInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterOrchestrationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterOrchestrationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PlacementAction": {
        "type": "object",
        "description": "Describes a placement action of a single virtual machine.\n\nOne or more of such actions can be included in a placement recommendation,\nand such recommendations can be generated by the\n*ClusterComputeResource.PlaceVm* method.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine reference.\n\nUnset if the VM has not been created.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "targetHost": {
            "description": "The host where the virtual machine should be placed.\n\nUnset if no host recommendation is provided.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "relocateSpec": {
            "description": "Specification for placing the configuration files and the virtual\ndisks of the virtual machine on one or more datastores.\n\nUnset if no datastore recommendation is provided.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAction"
          }
        ]
      },
      "ArrayOfPlacementAction": {
        "type": "object",
        "description": "A boxed array of *PlacementAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlacementAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PlacementResult": {
        "type": "object",
        "description": "*ClusterComputeResource.PlaceVm* method can invoke DRS\nfor recommendations for target hosts and datastores for placing a\nvirtual machine and its virtual disks using xVMotion.\n\nPlacementResult is the class of the result returned by that method.\n",
        "properties": {
          "recommendations": {
            "description": "The list of recommendations for where to place the virtual machine\nand its virtual disks.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRecommendation"
            }
          },
          "drsFault": {
            "description": "Information about any fault in case DRS fails to make a recommendation.\n",
            "$ref": "#/components/schemas/ClusterDrsFaults"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPlacementResult": {
        "type": "object",
        "description": "A boxed array of *PlacementResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlacementResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PlacementSpec": {
        "type": "object",
        "description": "PlacementSpec encapsulates all of the information passed to the\n*ClusterComputeResource.PlaceVm* method, which asks\nDRS for recommendations for target hosts and datastores for placing\na virtual machine and its virtual disks in a cluster using\nunified VMotion.\n",
        "properties": {
          "priority": {
            "description": "Priority of the migration operation.\n\nThe default value is defaultPriority.\n",
            "$ref": "#/components/schemas/VirtualMachineMovePriority_enum"
          },
          "vm": {
            "description": "The virtual machine to be placed.\n\nFor an intra-vCenter migration, this argument is required.\nFor a cross-vCenter migration, this argument should be unset,\nand the caller is responsible for applying the DRS-recommended\nplacement to the correct vm.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "configSpec": {
            "description": "Configuration information for the virtual machine.\n\nFor an intra-vCenter migration, this argument should be unset.\nFor a cross-vCenter migration, this argument is required.\nIn the latter case, the following elements of the configSpec\nwill be expected: version, cpuAllocation, memoryAllocation, numCPUs,\nmemoryMB, files, swapPlacement; in addition, the configSpec.deviceChange\nshould contain all the virtual disks of the virtual machine to be migrated.\nIf configSpec.deviceChange is empty, the vm will be treated as a\ndiskless vm.\nIf a storage profile is specified for a virtual disk or vm configuration,\nonly datastores that match this profile will be considered for that\nvirtual disk or vm configuration.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          },
          "relocateSpec": {
            "description": "Specification for relocating a virtual machine.\n\nCan be used to optionally specify a target host, a target datastore,\nor a target resource pool. If a target host is specified, this host\nbecomes the recommended host; if a target datastore is specified,\nthis datastore becomes the recommended datastore; if no resource\npool is specified, the virtual machine will be attached to the\ncluster root resource pool; if the target resource pool specified\nis a VirtualApp, an InvalidArgument fault will be thrown.\nIf a storage profile is specified for a virtual disk or vm configuration,\nonly datastores that match this profile will be considered for that\nvirtual disk or vm configuration.\nFor cross-vCenter migration, the caller\nshould set the service and the folder arguments properly either in\nthe input relocateSpec or in the output relocateSpec in the placement\nrecommendation before passing the relocateSpec to the RelocateVM API.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
          },
          "hosts": {
            "description": "A list of compatible hosts for the virtual machine.\n\nThis list is ignored if relocateSpec.host is set.\nFor both intra-vCenter and cross-vCenter migrations, this list is required\nif relocateSpec.host is unset.\nIf neither relocateSpec.host nor a list of compatible hosts are specified,\nall hosts in the cluster will be considered, in which case, the selected\nhosts in the PlacementResult are not guaranteed to be compatible with the\nincoming virtual machine.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "datastores": {
            "description": "A list of compatible datastores for the virtual machine.\n\nThis list is ignored if relocateSpec.datastore is set.\nFor both intra-vCenter and cross-vCenter migrations, this list is required\nif relocateSpec.datastore is unset.\nIf neither relocateSpec.datastore nor a list of compatible datastores are\nspecified, all datastores connected to hosts in the cluster will be\nconsidered, in which case, the selected datastores in the PlacementResult\nare not guaranteed to be compatible with the incoming virtual machine.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "storagePods": {
            "description": "A list of compatible datastore clusters for the virtual machine.\n\nThis list is ignored if relocateSpec.datastore is set.\nFor both intra-vCenter and cross-vCenter migrations, this list can be\nempty, in which case, the user should set either RelocateSpec.datastore\nor PlacementSpec.datastores as the target datastore or the list of\ncompatible datastores.\n\nRefers instances of *StoragePod*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "disallowPrerequisiteMoves": {
            "description": "Specification for whether to disable pre-requisite vmotions or storage\nvmotions for virtual machine placement.\n\nThe default value is true,\nthat is, to disallow such prerequisite moves.\n",
            "type": "boolean"
          },
          "rules": {
            "description": "A list of rules to respect while placing the virtual machine on\ntarget cluster.\n\nIf the list is empty, rules will not be considered during placement,\nin case of cross-cluster placement within a VC and cross VC\nplacement across VCs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleInfo"
            }
          },
          "key": {
            "description": "Client generated identifier as a reference to the placement request\n",
            "type": "string"
          },
          "placementType": {
            "description": "Type of the placement.\n\nThe set of possible values are described in\n*PlacementSpecPlacementType_enum*\n",
            "type": "string"
          },
          "cloneSpec": {
            "description": "Specification for a virtual machine clone operation\n",
            "$ref": "#/components/schemas/VirtualMachineCloneSpec"
          },
          "cloneName": {
            "description": "Name for the cloned virtual machine, if the operation type is a clone\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPlacementSpec": {
        "type": "object",
        "description": "A boxed array of *PlacementSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlacementSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterPowerOnVmResult": {
        "type": "object",
        "description": "PowerOnVmResult is the base class of the result returned to the\n*Datacenter.PowerOnMultiVM_Task* method.\n",
        "properties": {
          "attempted": {
            "description": "The list of virtual machines the Virtual Center has attempted to power on.\n\nFor a virtual machine not managed by DRS, a task ID is also returned.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAttemptedVmInfo"
            }
          },
          "notAttempted": {
            "description": "The list of virtual machines DRS can not find suitable hosts for powering on.\n\nThere is one fault associated with each virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterNotAttemptedVmInfo"
            }
          },
          "recommendations": {
            "description": "The list of recommendations that need the client to approve manually.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRecommendation"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterPowerOnVmResult": {
        "type": "object",
        "description": "A boxed array of *ClusterPowerOnVmResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterPowerOnVmResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterPreemptibleVmPairInfo": {
        "type": "object",
        "description": "The *ClusterPreemptibleVmPairInfo* data object contains the monitored and the\npreemptible VM pair in a HA-enabled cluster.\n\nMonitored virtual machine is a desired protected virtual machine in\nHA-enabled cluster when it is powered on. Any failures of this VM will\ncontinue to be handled by HA based on the VM's settings in cluster.\n\nPreemptible virtual machine is the desired protected virtual machine in HA\nwhen it is powered on. The lowest restart priority \"disabled\"\n*ClusterDasVmSettingsRestartPriority_enum* will be enforced for the\n*ClusterPreemptibleVmPairInfo.preemptibleVm*. A virtual machine can be marked as preemptible\nirrespective of its *powerState* but its\nextra configuration should identify it as preemptible.\n\nIn case of failure of *ClusterPreemptibleVmPairInfo.monitoredVm*, the *ClusterPreemptibleVmPairInfo.preemptibleVm* will\nbe terminated. This will free up any resources associated with\n*ClusterPreemptibleVmPairInfo.preemptibleVm*.\n\nIn case of insufficient resources for failover of any VM in the cluster, the\n*ClusterPreemptibleVmPairInfo.preemptibleVm* will be terminated to free up resources.\n\nThis data object is intended for VMware use and other usage is not\nsupported. This data object will be removed in a future release.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "id": {
            "description": "Server-assigned unique ID for pairs.\n\nWhen adding a new pair, do not\nspecify this property. The server will assign the key and any assigned\nvalue will be ignored.\n",
            "type": "integer",
            "format": "int32"
          },
          "monitoredVm": {
            "description": "The virtual machine whose failure will cause the virtual machine specified\nby *ClusterPreemptibleVmPairInfo.preemptibleVm* to be terminated.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "preemptibleVm": {
            "description": "The preemptible virtual machine associated with the virtual machine\nspecified as *ClusterPreemptibleVmPairInfo.monitoredVm*.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "monitoredVm",
          "preemptibleVm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterPreemptibleVmPairInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterPreemptibleVmPairInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterPreemptibleVmPairInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterPreemptibleVmPairSpec": {
        "type": "object",
        "description": "Provides monitored and preemptible VM pair along with any of the operations\n(add, edit or remove) to append, modify or remove this pair info from\n*ClusterPreemptibleVmPairInfo* list.\n\nThis data object is intended for VMware use and other usage is not supported.\nThis data object will be removed in a future release.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ClusterPreemptibleVmPairInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfClusterPreemptibleVmPairSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterPreemptibleVmPairSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterPreemptibleVmPairSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterProactiveDrsConfigInfo": {
        "type": "object",
        "properties": {
          "enabled": {
            "description": "Flag indicating whether or not the service is enabled.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterProactiveDrsConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterProactiveDrsConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterProactiveDrsConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterRecommendation": {
        "type": "object",
        "description": "Recommendation is the base class for any packaged group of\nactions that are intended to take the system from one\nstate to another one.\n",
        "properties": {
          "key": {
            "description": "Key to identify the recommendation when calling applyRecommendation.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of the recommendation.\n\nThis differentiates between various\nof recommendations aimed at achieving different goals.\n",
            "type": "string"
          },
          "time": {
            "description": "The time this recommendation was computed.\n",
            "type": "string",
            "format": "date-time"
          },
          "rating": {
            "description": "A rating of the recommendation.\n\nValid values range from 1 (lowest confidence) to 5 (highest confidence).\n",
            "type": "integer",
            "format": "int32"
          },
          "reason": {
            "description": "A reason code explaining why this set of migrations is being suggested.\n",
            "type": "string"
          },
          "reasonText": {
            "description": "Text that provides more information about the reason code for the suggested\nset of migrations.\n",
            "type": "string"
          },
          "warningText": {
            "description": "Text that provides warnings about potential adverse implications of\napplying this recommendation\n",
            "type": "string"
          },
          "warningDetails": {
            "description": "Warning about potential adverse implications of applying a recommendation\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          },
          "prerequisite": {
            "description": "This recommendation may depend on some other recommendations.\n\nThe prerequisite recommendations are listed by their keys.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "action": {
            "description": "List of actions that are executed as part of this recommendation\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterAction"
            }
          },
          "target": {
            "description": "The target object of this recommendation.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "key",
          "type",
          "time",
          "rating",
          "reason",
          "reasonText"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterRecommendation": {
        "type": "object",
        "description": "A boxed array of *ClusterRecommendation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRecommendation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterResourceUsageSummary": {
        "type": "object",
        "description": "This class contains cpu, memory and storage usage information at cluster\nlevel.\n",
        "properties": {
          "cpuUsedMHz": {
            "type": "integer",
            "format": "int32"
          },
          "cpuCapacityMHz": {
            "type": "integer",
            "format": "int32"
          },
          "memUsedMB": {
            "type": "integer",
            "format": "int32"
          },
          "memCapacityMB": {
            "type": "integer",
            "format": "int32"
          },
          "pMemAvailableMB": {
            "type": "integer",
            "format": "int64"
          },
          "pMemCapacityMB": {
            "type": "integer",
            "format": "int64"
          },
          "storageUsedMB": {
            "type": "integer",
            "format": "int64"
          },
          "storageCapacityMB": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "cpuUsedMHz",
          "cpuCapacityMHz",
          "memUsedMB",
          "memCapacityMB",
          "storageUsedMB",
          "storageCapacityMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterResourceUsageSummary": {
        "type": "object",
        "description": "A boxed array of *ClusterResourceUsageSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterResourceUsageSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterRuleInfo": {
        "type": "object",
        "description": "The *ClusterRuleInfo* data object is the base type for affinity\nand anti-affinity rules.\n\nThe affinity and anti-affinity rules\nare DRS (Distributed Resource Scheduling) rules that affect the placement\nof virtual machines in a cluster. Hosts and virtual machines referenced\nin a DRS rule must be in the same cluster.\n\nNote: DRS rules are different than an individual host's CPU affinity rules\n(*VirtualMachineAffinityInfo*).\n\nThe Server uses DRS rule objects to describe the current rule configuration\n(*ClusterConfigInfoEx*.*ClusterConfigInfoEx.rule*).\nYour client application uses rule objects to configure the affinity and\nanti-affinity rules\n(*ClusterConfigSpecEx*.*ClusterConfigSpecEx.rulesSpec*).\n\nYou can create the following types of rules:\n- An affinity rule defines a set of virtual machines that should run\n  on the same host.\n  The *ClusterAffinityRuleSpec* object describes a rule that\n  identifies virtual machines, but does not identify any specific host.\n- An anti-affinity rule defines a set of virtual machines that should run\n  on different hosts.\n  The *ClusterAntiAffinityRuleSpec* object describes a rule that\n  identifies virtual machines, but does not identify any specific host.\n- A VM-Host rule defines affinity and anti-affinity relationships between\n  virtual machines and hosts.\n  The *ClusterVmHostRuleInfo* object describes a rule that identifies\n  a virtual machine group (*ClusterVmGroup*) and affinity and\n  anti-affinity host groups (*ClusterHostGroup*).\n  \nRule configuration is a dynamic process. When you create or modify a DRS rule,\nthe Server applies the rule to the cluster. If the existing cluster configuration\nviolates the rule, the Server attempts to correct the situation. If that is not\npossible, the Server generates a fault and produces a log event.\nDRS rules do not have precedence; all rules are applied equally.\nDRS does not validate one rule against another. If you create conflicting\nrules, the older rule takes precedence and DRS disables the newer rule.\n\nImproperly used, DRS rules can fragment the cluster and inhibit the proper\nfunctioning of DRS, HA, and DPM services. vSphere services never\ntake any actions that would result in the violation of mandatory DRS rules.\nAn operation that violates a mandatory rule would produce the following\nconsequences.\n- DRS does not evacuate virtual machines to place a host in maintenance\n  mode.\n- DRS does not place virtual machines for power-on or load balance virtual\n  machines.\n- HA does not perform failovers.\n- DPM does not optimize power management by placing hosts into standby\n  mode.\n  \nTo avoid these situations, exercise caution when creating more than one\nmandatory rule, or consider using only optional rules. Make sure that\nthe number of hosts with which a virtual machine is related by affinity rule\nis large enough that losing a host does not prevent the virtual machine\nfrom running.\n\nFor manual and partially automated DRS clusters, the Server produces migration\nrecommendations to satisfy the DRS rules. You are not required to act on the\nrecommendations, but the Server maintains the recommendations until the rules\nare satisfied.\n",
        "properties": {
          "key": {
            "description": "Unique ID for rules.\n\nWhen adding a new rule, do not specify this property.\nThe Server will assign the key.\n",
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "description": "Flag to indicate whether or not the rule is currently satisfied.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "enabled": {
            "description": "Flag to indicate whether or not the rule is enabled.\n\nSet this property\nwhen you configure the rule. The default value is false (disabled).\nIf there is a rule conflict, the Server can override the setting to disable\na rule.\n",
            "type": "boolean"
          },
          "name": {
            "description": "Name of the rule.\n",
            "type": "string"
          },
          "mandatory": {
            "description": "Flag to indicate whether compliance with this rule is mandatory or optional.\n\nThe default value is false (optional).\n- A mandatory rule will prevent a virtual machine from being powered on\n  or migrated to a host that does not satisfy the rule.\n- An optional rule specifies a preference. DRS takes an optional rule\n  into consideration when it places a virtual machine in the cluster.\n  DRS will act on an optional rule as long as it does not impact\n  the ability of the host to satisfy current CPU or memory requirements\n  for virtual machines on the system. (As long as the operation does not\n  cause any host to be more than 100% utilized.)\n",
            "type": "boolean"
          },
          "userCreated": {
            "description": "Flag to indicate whether the rule is created by the user or the system.\n",
            "type": "boolean"
          },
          "inCompliance": {
            "description": "Flag to indicate whether or not the placement of Virtual Machines is currently\nin compliance with this rule.\n\nThe Server does not currently use this property.\n",
            "type": "boolean"
          },
          "ruleUuid": {
            "description": "UUID for the rule.\n\nWhen adding a new rule, do not specify this\nproperty. The Server will assign the key.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterRuleInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterRuleInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterRuleSpec": {
        "type": "object",
        "description": "An incremental update to the cluster rules.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ClusterRuleInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfClusterRuleSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterRuleSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterSlotPolicy": {
        "type": "object",
        "description": "The base class *ClusterSlotPolicy* is used for specifying how\nthe slot size is to be computed for the failover level HA admission control\npolicy.\n\nBy default, vSphere HA defines the slot size using the largest memory\nand cpu reservations of any powered on virtual machine in the cluster.\nSubclasses of this class define various policies to modify how the slot size\nis chosen to prevent outlier virtual machines (i.e. those with much larger\nreservations than the average) from skewing the slot size. If such a policy is chosen,\noutlier virtual machines will use multiple slots. Using such a policy introduces\na risk that vSphere HA will be unable to failover these virtual machines because\nof resource fragmentation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterSlotPolicy": {
        "type": "object",
        "description": "A boxed array of *ClusterSlotPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterSlotPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterSystemVMsConfigInfo": {
        "type": "object",
        "description": "Configuration for System VMs deployment.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "allowedDatastores": {
            "description": "The only datastores which can be used for System VMs deployment.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "notAllowedDatastores": {
            "description": "Datastores which cannot be used for System VMs deployment.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "dsTagCategoriesToExclude": {
            "description": "Tag categories identifying datastores, which cannot be used for System VMs\ndeployment.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deploymentMode": {
            "description": "The System VM deployment mode for vSphere clusters.\n\nSupported values are enumerated by the\n*DeploymentMode*\ntype.\nAn unset value implies SYSTEM\\_MANAGED,\nunless the cluster is put in \"Retreat Mode\".\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterSystemVMsConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterSystemVMsConfigInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterSystemVMsConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterSystemVMsConfigSpec": {
        "type": "object",
        "description": "Configuration for System VMs deployment.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "allowedDatastores": {
            "description": "The only datastores which can be used for System VMs deployment.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDatastoreUpdateSpec"
            }
          },
          "notAllowedDatastores": {
            "description": "Datastores which cannot be used for System VMs deployment.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDatastoreUpdateSpec"
            }
          },
          "dsTagCategoriesToExclude": {
            "description": "Tag categories identifying datastores, which cannot be used for System VMs\ndeployment.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterTagCategoryUpdateSpec"
            }
          },
          "deploymentMode": {
            "description": "The System VM deployment mode for vSphere clusters.\n\nSupported values are enumerated by the\n*DeploymentMode*\ntype.\nProviding an unset value does not modify deploymentMode.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterSystemVMsConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterSystemVMsConfigSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterSystemVMsConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterTagCategoryUpdateSpec": {
        "type": "object",
        "description": "An incremental update to a TagCategory list.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "category": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfClusterTagCategoryUpdateSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterTagCategoryUpdateSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterTagCategoryUpdateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterUsageSummary": {
        "type": "object",
        "description": "This class contains cluster usage summary that is populated\nby DRS and used by Cloud Placement Engine in VCD.\n",
        "properties": {
          "totalCpuCapacityMhz": {
            "description": "Total CPU capacity of the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "totalMemCapacityMB": {
            "description": "Total memory capacity of the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "cpuReservationMhz": {
            "description": "Sum of CPU reservation of all the Resource Pools and powered-on VMs in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "memReservationMB": {
            "description": "Sum of memory reservation of all the Resource Pools and powered-on VMs in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "poweredOffCpuReservationMhz": {
            "description": "Sum of CPU reservation of all the powered-off VMs in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "poweredOffMemReservationMB": {
            "description": "Sum of memory reservation of all the powered-off VMs in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "cpuDemandMhz": {
            "description": "Sum of CPU demand of all the powered-on VMs in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "memDemandMB": {
            "description": "Sum of memory demand of all the powered-on VMs in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "statsGenNumber": {
            "description": "Generation number of the usage stats.\n\nUpdated during every DRS load\nbalancing call.\n",
            "type": "integer",
            "format": "int64"
          },
          "cpuEntitledMhz": {
            "description": "This is the current CPU entitlement across the cluster\n",
            "type": "integer",
            "format": "int32"
          },
          "memEntitledMB": {
            "description": "This is the current memory entitlement across the cluster\n",
            "type": "integer",
            "format": "int32"
          },
          "poweredOffVmCount": {
            "description": "The number of powered off VMs in the cluster\n",
            "type": "integer",
            "format": "int32"
          },
          "totalVmCount": {
            "description": "The number of VMs in the cluster\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "totalCpuCapacityMhz",
          "totalMemCapacityMB",
          "cpuReservationMhz",
          "memReservationMB",
          "cpuDemandMhz",
          "memDemandMB",
          "statsGenNumber",
          "cpuEntitledMhz",
          "memEntitledMB",
          "poweredOffVmCount",
          "totalVmCount"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterUsageSummary": {
        "type": "object",
        "description": "A boxed array of *ClusterUsageSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterUsageSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterVmComponentProtectionSettings": {
        "type": "object",
        "description": "vSphere HA Virtual Machine Component Protection Service settings.\n\nvSphere HA Virtual Machine Component Protection Service detects\nand reacts to storage failures that do not necessarily cause a\nvirtual machine to go down, but may impact the health or QoS of\nthe virtual machine.\n\nAll fields are defined as optional. In case of a reconfiguration, fields left unset\nare not changed.\n",
        "properties": {
          "vmStorageProtectionForAPD": {
            "description": "VM storage protection setting for storage failures categorized as All Paths\nDown (APD).\n\nAPD is a condition where a storage has become inaccessible\nfor unknown reasons. It only indicates loss of connectivity and does not indicate\nstorage device failure or LUN removal (Permenant Device Loss or PDL). The details\nof APD and PDL are described in *HostMountInfoInaccessibleReason_enum*.\n\nThis property is meaningful only when vSphere HA is turned on. Valid values are\nspecified by *ClusterVmComponentProtectionSettingsStorageVmReaction_enum*. The default value is\n*disabled* for cluster setting and\n*clusterDefault* for per-VM setting.\n\nWhen an APD condition happens and the host begins timing out I/Os\n(@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\\_Timeout}, VM Component\nProtection service will react based on the specific value of this property:\n- ***disabled***, no reaction, i.e., no\n  VM failover and no event reporting for the failures.\n- ***warning***, service will issue events,\n  alarms and/or config issues for component failures.\n- ***restartConservative***, service will\n  terminate the impacted VMs after a preconfigured time interval\n  (*ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec*) if they are to be restarted.\n- ***restartAggressive***, service might\n  terminate the impacted VMs after a preconfigured time interval\n  (*ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec*). In some cases, a VM is terminated\n  even if it may not able to be restarted or lose Fault Tolerance redundancy.\n- ***clusterDefault***, service will implement\n  cluster default.\n",
            "type": "string"
          },
          "enableAPDTimeoutForHosts": {
            "description": "This property indicates if APD timeout will be enabled for all the hosts\nin the cluster when vSphere HA is configured.\n\nThe details of APD timeout are\ndescribed in *HostMountInfoInaccessibleReason_enum*.\n\nIf *ClusterDasConfigInfo.vmComponentProtecting* is *disabled*,\nthe property will be ignored. Otherwise, for each host in the cluster,\nAPD timeout will be enabled. Note that no change will be made for a host if it\nalready had APD timeout enabled.\n\nThis property is meaningful only for cluster setting. It is ignored if specified at VM level.\nThe default value is false if not specified.\n\nNote that this property is not persisted by vSphere backend. It does not impact any cluster\nreconfiguration or host operation (such as adding a host to a cluster) that might happen later.\n",
            "type": "boolean"
          },
          "vmTerminateDelayForAPDSec": {
            "description": "The time interval after an APD timeout has been declared and before VM Component\nProtection service will terminate the VM.\n\nThe value only applies if\n*ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD* is set to *restartConservative* or\n*restartAggressive*.\n\nThe default value is 180 seconds if not specified. To use cluster setting for a VM override,\nset to -1 in per-VM setting.\n",
            "type": "integer",
            "format": "int32"
          },
          "vmReactionOnAPDCleared": {
            "description": "Action taken by VM Component Protection service for a powered on VM when APD\ncondition clears after APD timeout.\n\nThis property is meaningful only when vSphere HA is turned on. Valid values are\nspecified by *ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared_enum*. The default value is\n*none* for cluster setting and\n*useClusterDefault* for per-VM setting.\n",
            "type": "string"
          },
          "vmStorageProtectionForPDL": {
            "description": "VM storage protection setting for storage failures categorized as Permenant Device\nLoss (PDL).\n\nPDL indicates storage device failure or LUN removal. In case of PDL,\nthe failed datastore or device is unlikely to recover. The details of PDL are\ndescribed in *HostMountInfoInaccessibleReason_enum*.\n\nThis property is meaningful only when vSphere HA is turned on. Valid values are\n*disabled*, *warning*,\n*restartAggressive* and *clusterDefault*.\nThe default value is *disabled* for cluster setting and\n*clusterDefault* for per-VM setting.\n\nWhen set to *restartAggressive*, VM Component Protection service\nwill immediately terminate the VMs impacted by PDL and will attempt to restart the VMs\nwith best effort. When set to the other values, the behavior is the same as described for\n*ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterVmComponentProtectionSettings": {
        "type": "object",
        "description": "A boxed array of *ClusterVmComponentProtectionSettings*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVmComponentProtectionSettings"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterVmGroup": {
        "type": "object",
        "description": "The *ClusterVmGroup* data object identifies virtual machines\nfor VM-Host rules.\n\nVM-Host rules determine placement of virtual machines\non hosts in a cluster.\nThe logic specified in a *ClusterVmHostRuleInfo* object\ndetermines where virtual machines can be powered-on.\n\nIf a virtual machine is removed from the cluster, it loses its DRS group\naffiliation. The Server does not restore any group affiliations if the\nvirtual machine is returned to the cluster.\n",
        "properties": {
          "vm": {
            "description": "List of virtual machines that are part of this group.\n\nA virtual machine group can contain zero or more virtual machines.\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterGroupInfo"
          }
        ]
      },
      "ArrayOfClusterVmGroup": {
        "type": "object",
        "description": "A boxed array of *ClusterVmGroup*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVmGroup"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterVmHostRuleInfo": {
        "type": "object",
        "description": "A *ClusterVmHostRuleInfo* object identifies virtual machines\nand host groups that determine virtual machine placement. The virtual\nmachines and hosts referenced by a VM-Host rule must be in the same cluster.\n\nA VM-Host rule identifies the following groups.\n- A virtual machine group (*ClusterVmGroup*).\n- Two host groups - an affine host group and an anti-affine host group\n  (*ClusterHostGroup*).\n  At least one of the groups must contain one or more hosts.\n  \n*ClusterVmHostRuleInfo* stores only the names of the relevant\nvirtual machine and host groups. The group contents are stored in\nthe virtual machine and host group objects.\n\nWhen you modify a VM-Host rule, only the fields that are specified are set.\n",
        "properties": {
          "vmGroupName": {
            "description": "Virtual group name (*ClusterVmGroup*.*ClusterGroupInfo.name*).\n\nThe virtual group may contain one or more virtual machines.\n",
            "type": "string"
          },
          "affineHostGroupName": {
            "description": "Name of the affine host group\n(*ClusterHostGroup*.*ClusterGroupInfo.name*).\n\nThe affine host group identifies hosts on which\n*ClusterVmHostRuleInfo.vmGroupName* virtual machines can be powered-on.\nThe value of the *ClusterRuleInfo.mandatory* property\ndetermines how the Server interprets the rule.\n",
            "type": "string"
          },
          "antiAffineHostGroupName": {
            "description": "Name of the anti-affine host group\n(*ClusterHostGroup*.*ClusterGroupInfo.name*).\n\nThe anti-affine host group identifies hosts on which\n*ClusterVmHostRuleInfo.vmGroupName* virtual machines should not\nbe powered-on.\nThe value of the *ClusterRuleInfo.mandatory* property\ndetermines how the Server interprets the rule.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterRuleInfo"
          }
        ]
      },
      "ArrayOfClusterVmHostRuleInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterVmHostRuleInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVmHostRuleInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterVmOrchestrationInfo": {
        "type": "object",
        "description": "The *ClusterVmOrchestrationInfo* data object contains the orchestration\nconfiguration for a single virtual machine.\n\nThis makes it possible to\noverride the defaut behavior for an individual virtual machine.\n",
        "properties": {
          "vm": {
            "description": "Reference to the VM that the ready state is applied to.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmReadiness": {
            "description": "Readiness policy that apply to this virtual machine.\n\nValues specified in this object override the cluster-wide\ndefaults for virtual machines.\n*ClusterOrchestrationInfo.defaultVmReadiness*\n",
            "$ref": "#/components/schemas/ClusterVmReadiness"
          }
        },
        "required": [
          "vm",
          "vmReadiness"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterVmOrchestrationInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterVmOrchestrationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVmOrchestrationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterVmOrchestrationSpec": {
        "type": "object",
        "description": "An incremental update to the per-VM orchestration config.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ClusterVmOrchestrationInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfClusterVmOrchestrationSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterVmOrchestrationSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVmOrchestrationSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterVmReadiness": {
        "type": "object",
        "description": "VM readiness policy specifies when a VM is deemed ready.\n\nThis is used in cluster VM orchestration settings. For example, vSphere HA\nrestarts lower priority VMs only after higher priority VMs are ready.\n",
        "properties": {
          "readyCondition": {
            "description": "Ready condition for a virtual machine.\n\nSee *ClusterVmReadinessReadyCondition_enum*.\n\nIf not specified at either the cluster level or the virtual machine\nlevel, this will default to *none*.\n",
            "type": "string"
          },
          "postReadyDelay": {
            "description": "Additional delay in seconds after ready condition is met.\n\nA VM is\nconsidered ready at this point.\n\nIf not specified in a VM override, cluster default setting is\nused. Alternatively, set to -1 in per-VM setting to use cluster default\nvalue.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterVmReadiness": {
        "type": "object",
        "description": "A boxed array of *ClusterVmReadiness*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVmReadiness"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterVmToolsMonitoringSettings": {
        "type": "object",
        "description": "The *ClusterVmToolsMonitoringSettings* data object contains\nvirtual machine monitoring settings that are used by the Virtual Machine Health Monitoring Service.\n\nThe Service checks the VMware Tools heartbeat of a virtual machine.\nIf heartbeats have not been received within a specified time interval, the Service\ndeclares the virtual machine as failed and resets the virtual machine.\n\nThese settings are applied to individual virtual machines during cluster reconfiguration\n(*ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.vmToolsMonitoringSettings*). You can also specify them as default values\n(*ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings*).\n\nAll fields are optional. In case of a reconfiguration, fields left unset are not changed.\n",
        "properties": {
          "enabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.1, use *ClusterVmToolsMonitoringSettings.vmMonitoring*.\n\nFlag indicating whether or not the Virtual Machine Health Monitoring\nservice is enabled.\n\nThe Server does not use this property.\n",
            "type": "boolean"
          },
          "vmMonitoring": {
            "description": "Indicates the type of virtual machine monitoring.\n\nSpecify a string value corresponding to one of the\nfollowing *ClusterDasConfigInfoVmMonitoringState_enum* values:\n- <code>vmMonitoringDisabled</code> (the default value)\n- <code>vmMonitoringOnly</code>\n- <code>vmAndAppMonitoring</code>\n  \nThe individual VMware Tools setting for virtual machine monitoring depends on\nthe HA Virtual Machine Health Monitoring Service level that is\ndefined for the cluster\n(*ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring*).\nThe following list indicates the supported VMware Tools <code>vmMonitoring</code> values\naccording to the cluster configuration.\n- If the cluster configuration specifies <code>vmMonitoringDisabled</code>,\n  the Service is disabled and the HA Service ignores the VMware Tools monitoring setting.\n- If the cluster configuration specifies <code>vmMonitoringOnly</code>,\n  the Service supports <code>vmMonitoringOnly</code> or <code>vmMonitoringDisabled</code> only.\n- If the cluster configuration specifies <code>vmAndAppMonitoring</code>,\n  you can use any of the *ClusterDasConfigInfoVmMonitoringState_enum* values.\n  \nThe *ClusterVmToolsMonitoringSettings.clusterSettings* value has no\neffect on the constraint imposed by the HA Virtual Machine Health Monitoring Service\nlevel that is defined for the cluster\n(*ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring*).\n\nApplication monitoring events are generated regardless of the\ncurrently configured type of virtual machine monitoring.\nYou can use these events even if monitoring is being disabled\nor set to <code>vmMonitoringOnly</code>.\n",
            "type": "string"
          },
          "clusterSettings": {
            "description": "Flag indicating whether to use the cluster settings or the per VM settings.\n\nThe default value is true.\n",
            "type": "boolean"
          },
          "failureInterval": {
            "description": "If no heartbeat has been received for at least the specified number of seconds,\nthe virtual machine is declared as failed.\n\nThe default value is 30.\n",
            "type": "integer",
            "format": "int32"
          },
          "minUpTime": {
            "description": "The number of seconds for the virtual machine's heartbeats to stabilize\nafter the virtual machine has been powered on.\n\nThis time should include\nthe guest operating system boot-up time. The virtual machine monitoring\nwill begin only after this period.\n\nThe default value is 120.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxFailures": {
            "description": "Maximum number of failures and automated resets allowed during the time that\n*ClusterVmToolsMonitoringSettings.maxFailureWindow* specifies.\n\nIf *ClusterVmToolsMonitoringSettings.maxFailureWindow* is -1\n(no window), this represents the absolute number of failures after which\nautomated response is stopped.\n\nIf a virtual machine exceeds this threshold, in-depth problem analysis is\nusually needed.\n\nThe default value is 3.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxFailureWindow": {
            "description": "The number of seconds for the window during which up to *ClusterVmToolsMonitoringSettings.maxFailures*\nresets can occur before automated responses stop.\n\nIf set to -1, no failure window is specified.\n\nThe default value is -1.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterVmToolsMonitoringSettings": {
        "type": "object",
        "description": "A boxed array of *ClusterVmToolsMonitoringSettings*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVmToolsMonitoringSettings"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualPort": {
        "type": "object",
        "description": "The *DistributedVirtualPort* data object represents a port in a\n*DistributedVirtualSwitch*.\n\nVirtual ports are part of a distributed\nvirtual portgroup. Servers create virtual ports according to the portgroup type\n(*DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type*).\nSee *DistributedVirtualPortgroupPortgroupType_enum*.\n- To configure host network access by port, set the distributed virtual port\n  in the host virtual NIC specification\n  (*HostVirtualNicSpec*.*HostVirtualNicSpec.distributedVirtualPort*.*DistributedVirtualSwitchPortConnection.portKey*).\n- To configure virtual machine network access by port, set the port\n  in the virtual Ethernet card backing\n  (*VirtualEthernetCard*.*VirtualDevice.backing*.*VirtualEthernetCardDistributedVirtualPortBackingInfo.port*.*DistributedVirtualSwitchPortConnection.portKey*).\n",
        "properties": {
          "key": {
            "description": "Port key.\n",
            "type": "string"
          },
          "config": {
            "description": "Port configuration, including identifying information, network\nsettings, and the set of entities that can connect to the port.\n",
            "$ref": "#/components/schemas/DVPortConfigInfo"
          },
          "dvsUuid": {
            "description": "UUID of the *DistributedVirtualSwitch* to which the port belongs.\n",
            "type": "string"
          },
          "portgroupKey": {
            "description": "Key of the portgroup *DistributedVirtualPortgroup* to which\nthe port belongs, if any.\n",
            "type": "string"
          },
          "proxyHost": {
            "description": "*HostSystem* that services this port.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "connectee": {
            "description": "Entity that connects to the port.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortConnectee"
          },
          "conflict": {
            "description": "Specifies whether the port is a conflict port.\n\nA port could be marked\nas conflict if an entity is discovered connecting to a port that is\nalready occupied, or if the host creates a port without conferring\nwith vCenter Server.\n\nThe distributed virtual switch does not persist the runtime state\nof a conflict port. Also, the port cannot move away from the host.\nvCenter Server will not move a virtual machine (VMotion) that is\nusing a conflict port.\n",
            "type": "boolean"
          },
          "conflictPortKey": {
            "description": "If the port is marked conflict in the case of two entities connecting to\nthe same port (see\n*DistributedVirtualPort.conflict*), this is the\nkey of the port which the connected entity is contending for.\n",
            "type": "string"
          },
          "state": {
            "description": "Runtime state of the port.\n",
            "$ref": "#/components/schemas/DVPortState"
          },
          "connectionCookie": {
            "description": "Cookie representing the current instance of association between a\nport and a virtual or physical NIC.\n\nSee *DistributedVirtualSwitchPortConnection*.\nThe same cookie is present in the physical or virtual NIC configuration\n(*DistributedVirtualSwitchPortConnection*.*DistributedVirtualSwitchPortConnection.connectionCookie*)\nso that the Server can verify that the entity is the rightful\nconnectee of the port.\n",
            "type": "integer",
            "format": "int32"
          },
          "lastStatusChange": {
            "description": "The last time the\n*DistributedVirtualPort.state*.*DVPortState.runtimeInfo*\nvalue was changed.\n",
            "type": "string",
            "format": "date-time"
          },
          "hostLocalPort": {
            "description": "Specifies whether the port is a host local port.\n\nA host local port is created\nto resurrect the management network connection on a VMkernel virtual NIC.\nYou cannot use vCenter Server to reconfigure this port and you cannot\nreassign the port.\n",
            "type": "boolean"
          },
          "externalId": {
            "description": "Populate the Id assigned to vmknic or vnic by external management plane\nto port, if the port is connected to the nics.\n",
            "type": "string"
          },
          "segmentPortId": {
            "description": "Populate the segmentPortId assigned to LSP.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "config",
          "dvsUuid",
          "conflict",
          "lastStatusChange"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualPort": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualPort*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualPort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortConfigInfo": {
        "type": "object",
        "description": "Management related configuration of a DistributedVirtualPort.\n",
        "properties": {
          "name": {
            "description": "The name of the port.\n",
            "type": "string"
          },
          "scope": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5.\n\nThe eligible entities that can connect to the port.\n\nIf unset, there\nis no restriction on which entity can connect to the port. If set,\nonly the entities in the specified list or their child entities are\nallowed to connect to the port. If scopes are defined at both port\nand portgroup level, they are taken as an \"AND\" relationship. If such\na relationship doesn't make sense, the reconfigure operation will\nraise an exception.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "description": {
            "description": "A description string of the port.\n",
            "type": "string"
          },
          "setting": {
            "description": "The network configuration of the port.\n",
            "$ref": "#/components/schemas/DVPortSetting"
          },
          "configVersion": {
            "description": "The version string of the configuration.\n",
            "type": "string"
          }
        },
        "required": [
          "configVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVPortConfigInfo": {
        "type": "object",
        "description": "A boxed array of *DVPortConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortConfigSpec": {
        "type": "object",
        "description": "Specification to reconfigure a *DistributedVirtualPort*.\n",
        "properties": {
          "operation": {
            "description": "The operation to remove or modify the existing ports.\n\nThe valid values\nare:\n- *edit*\n- *remove*\n",
            "type": "string"
          },
          "key": {
            "description": "Key of the port to be reconfigured.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the port.\n",
            "type": "string"
          },
          "scope": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5.\n\nThe eligible entities that can connect to the port, for detail see\n*DVPortConfigInfo.scope*.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "description": {
            "description": "The description string of the port.\n",
            "type": "string"
          },
          "setting": {
            "description": "The network setting of the port.\n",
            "$ref": "#/components/schemas/DVPortSetting"
          },
          "configVersion": {
            "description": "The version string of the configuration.\n",
            "type": "string"
          }
        },
        "required": [
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVPortConfigSpec": {
        "type": "object",
        "description": "A boxed array of *DVPortConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsFilterConfig": {
        "type": "object",
        "description": "This class defines Network Filter configuration.\n\n** Supported Qualifier and Actions **\n<table border=\"1\"width=\"100%\">\n<tr>\n<th>Network Filter Config</th>\n<th>Supported classes</th>\n</tr>\n<tr>\n<td>Qualifiers supported</td>\n<td>*SingleIp*, *IpRange*,\n*SingleMac*, *MacRange*,\n*DvsSingleIpPort*,\n*DvsSystemTrafficNetworkRuleQualifier*\n</td>\n</tr>\n<tr>\n<td>Actions Supported</td>\n<td>*DvsDropNetworkRuleAction*,\n*DvsAcceptNetworkRuleAction*,\n*DvsPuntNetworkRuleAction*,\n*DvsCopyNetworkRuleAction*,\n*DvsMacRewriteNetworkRuleAction*,\n*DvsGreEncapNetworkRuleAction*,\n*DvsLogNetworkRuleAction*,\n*DvsUpdateTagNetworkRuleAction*,\n*DvsRateLimitNetworkRuleAction*\n</td>\n</tr>\n",
        "properties": {
          "key": {
            "description": "The key of Network Filter Config.\n",
            "type": "string"
          },
          "agentName": {
            "description": "The name of the network traffic filter agent.\n",
            "type": "string"
          },
          "slotNumber": {
            "description": "The slot number of the network filter agent.\n",
            "type": "string"
          },
          "parameters": {
            "description": "Network Filter Parameter\n",
            "$ref": "#/components/schemas/DvsFilterParameter"
          },
          "onFailure": {
            "description": "This property specifies whether to allow all traffic or to deny all\ntraffic when a Network Filter fails to configure.\n\nPlease see *DvsFilterOnFailure_enum*\nfor more details.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfDvsFilterConfig": {
        "type": "object",
        "description": "A boxed array of *DvsFilterConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsFilterConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsFilterConfigSpec": {
        "type": "object",
        "description": "The specification to reconfigure Network Filter.\n\nThis specification allows the user to do fine-grained updates for the\nFilter in the port settings.\nIf the operation is *remove*, only the\n*DistributedVirtualPort.key* needs to be specified.\nIf other fields are specified, they will be ignored. We cannot remove\nan inherited element. Only when the inherited flag is set to false and\nparent does not have an element with same key this operation succeeds.\nIf the operation is *add*, then\n*DistributedVirtualPort.key* should not be specified and\nother fields need to be specified. The inherited flag should be set to\nfalse.\nIf the operation is *edit*, then\n*DistributedVirtualPort.key* needs be specified and\nspecify the other properties that need modification. If the inherited\nflag is set to true, a *DvsFilterConfig* object of same\nkey must exist at the parent's level. The property values in the spec\nobject will be ignored and use the values from the parent's\n*DvsFilterConfig* object instead. If inherited\nflag is set to false, then the new modifications will be applied.\n",
        "properties": {
          "operation": {
            "description": "Operation type.\n\nSee *ConfigSpecOperation_enum* for valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFilterConfig"
          }
        ]
      },
      "ArrayOfDvsFilterConfigSpec": {
        "type": "object",
        "description": "A boxed array of *DvsFilterConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsFilterConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsFilterParameter": {
        "type": "object",
        "description": "This class defines Network Filter parameter.\n",
        "properties": {
          "parameters": {
            "description": "List of parameters for a Network Filter.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsFilterParameter": {
        "type": "object",
        "description": "A boxed array of *DvsFilterParameter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsFilterParameter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsFilterPolicy": {
        "type": "object",
        "description": "This class defines Network Filter Policy.\n",
        "properties": {
          "filterConfig": {
            "description": "List of Network Filter Configurations.\n\nIn an update operation, the array can contain all\n*DvsTrafficFilterConfigSpec* objects\nor all *DvsFilterConfig* and\n*DvsTrafficFilterConfig*\nobject, but not mixed of Config and Spec objects. If array of\n*DvsFilterConfigSpec* and *DvsTrafficFilterConfigSpec* is used\nfor updating Network Filter then only the Network Filters\nmatching *DistributedVirtualPort.key* /\n*DistributedVirtualPort.key*\nis updated.\nIf array of *DvsFilterConfig* and\n*DvsTrafficFilterConfig*\nis used for updating port settings, the Network Filter\nsettings will be overridden with the new array specified. The\nspecified array should only contain *DvsFilterConfig* and\n*DvsTrafficFilterConfig* objects with *InheritablePolicy.inherited* /\n*InheritablePolicy.inherited* set to false.\n*DvsFilterConfig*/*DvsTrafficFilterConfig* objects with\n*InheritablePolicy.inherited*/*InheritablePolicy.inherited* as\ntrue in the specified array will be ignored. The updated result will\ninclude *DvsFilterConfig*/*DvsTrafficFilterConfig* objects\ninherited from parent, if any.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsFilterConfig"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfDvsFilterPolicy": {
        "type": "object",
        "description": "A boxed array of *DvsFilterPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsFilterPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSHostLocalPortInfo": {
        "type": "object",
        "description": "This data object type describes the information about the host local port.\n\nA host local port is created to resurrect the management network connection\non a VMkernel Virtual NIC.\n",
        "properties": {
          "switchUuid": {
            "description": "UUID of the vSphere Distributed Switch that management interface is connected to.\n",
            "type": "string"
          },
          "portKey": {
            "description": "Portkey of the DVPort that management interface is now connected to.\n",
            "type": "string"
          },
          "setting": {
            "description": "The configuration of the new host local port.\n",
            "$ref": "#/components/schemas/DVPortSetting"
          },
          "vnic": {
            "description": "The Virtual NIC device connected to this port\n",
            "type": "string"
          }
        },
        "required": [
          "switchUuid",
          "portKey",
          "setting",
          "vnic"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSHostLocalPortInfo": {
        "type": "object",
        "description": "A boxed array of *DVSHostLocalPortInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSHostLocalPortInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortStatus": {
        "type": "object",
        "description": "The *DVPortStatus* data object\ncontains runtime information about a *DistributedVirtualPort*.\n",
        "properties": {
          "linkUp": {
            "description": "Indicates whether the port is in linkUp status.\n",
            "type": "boolean"
          },
          "blocked": {
            "description": "Indicates whether the port is blocked by switch implementation.\n",
            "type": "boolean"
          },
          "vlanIds": {
            "description": "VLAN ID of the port.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumericRange"
            }
          },
          "trunkingMode": {
            "description": "True if the port VLAN tagging/stripping is disabled.\n",
            "type": "boolean"
          },
          "mtu": {
            "description": "Maximum transmission unit (MTU) of the port.\n\nYou can set the MTU only\nat the switch level\n(*VMwareDVSConfigSpec*).\nIf you attempt to change it at the portgroup or port level,\nthe Server throws an exception.\n",
            "type": "integer",
            "format": "int32"
          },
          "linkPeer": {
            "description": "Name of the connected entity.\n",
            "type": "string"
          },
          "macAddress": {
            "description": "The MAC address that is used at this port.\n",
            "type": "string"
          },
          "statusDetail": {
            "description": "Additional information regarding the current status of the port.\n",
            "type": "string"
          },
          "vmDirectPathGen2Active": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer\nsupported and there is no replacement.\n\nIndicates whether VMDirectPath Gen 2 is active on this port.\n\nIf false, the reason(s) for inactivity will be provided in one or\nmore of *DVPortStatus.vmDirectPathGen2InactiveReasonNetwork*,\n*DVPortStatus.vmDirectPathGen2InactiveReasonOther*,\nand *DVPortStatus.vmDirectPathGen2InactiveReasonExtended*.\n\nIf the host software is not capable of VMDirectPath Gen 2,\nthis property will be unset. See\n*HostCapability*.*HostCapability.vmDirectPathGen2Supported*.\n",
            "type": "boolean"
          },
          "vmDirectPathGen2InactiveReasonNetwork": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer\nsupported and there is no replacement.\n\nIf *DVPortStatus.vmDirectPathGen2Active* is false, this array will be\npopulated with reasons for the inactivity that are related to network\nstate or configuration.\n\nThe reasons are chosen from the\n*DVPortStatusVmDirectPathGen2InactiveReasonNetwork_enum*\nvalues.\n\nOther reasons for inactivity will be provided in\n*DVPortStatus.vmDirectPathGen2InactiveReasonOther*. If there is a reason\nfor inactivity that cannot be described by the available constants,\n*DVPortStatus.vmDirectPathGen2InactiveReasonExtended* will be populated\nwith an additional explanation provided by the platform.\n\nNote that this list of reasons is not guaranteed to be exhaustive.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vmDirectPathGen2InactiveReasonOther": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer\nsupported and there is no replacement.\n\nIf *DVPortStatus.vmDirectPathGen2Active* is false, this array will be\npopulated with reasons for the inactivity that are not related to\nnetwork state or configuration.\n\nThe reasons are chosen from the\n*DVPortStatusVmDirectPathGen2InactiveReasonOther_enum*\nvalues.\n\nNetwork-related reasons for inactivity will be provided in\n*DVPortStatus.vmDirectPathGen2InactiveReasonNetwork*. If there is a reason\nfor inactivity that cannot be described by the available constants,\n*DVPortStatus.vmDirectPathGen2InactiveReasonExtended* will be populated\nwith an additional explanation provided by the platform.\n\nNote that this list of reasons is not guaranteed to be exhaustive.\n\nSee also *HostCapability.vmDirectPathGen2Supported*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vmDirectPathGen2InactiveReasonExtended": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer\nsupported and there is no replacement.\n\nIf *DVPortStatus.vmDirectPathGen2Active* is false, this property may\ncontain an explanation provided by the platform, beyond the reasons\n(if any) listed in *DVPortStatus.vmDirectPathGen2InactiveReasonNetwork*\nand/or *DVPortStatus.vmDirectPathGen2InactiveReasonOther*.\n",
            "type": "string"
          }
        },
        "required": [
          "linkUp",
          "blocked"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVPortStatus": {
        "type": "object",
        "description": "A boxed array of *DVPortStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortSetting": {
        "type": "object",
        "description": "The *DVPortSetting* data object\ndescribes the network configuration of a *DistributedVirtualPort*.\n",
        "properties": {
          "blocked": {
            "description": "Indicates whether this port is blocked.\n\nIf a port is blocked,\npacket forwarding is stopped.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "vmDirectPathGen2Allowed": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nIndicates whether this port is allowed to do VMDirectPath Gen2 network passthrough.\n\nDirect path capability is defined at host, switch, and device levels.\nSee the <code>vmDirectPathGen2Supported</code> properties on the\n*DVSFeatureCapability*,\n*HostCapability*, *PhysicalNic*,\nand *VirtualEthernetCardOption* objects.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "inShapingPolicy": {
            "description": "Network shaping policy for controlling throughput of inbound traffic.\n",
            "$ref": "#/components/schemas/DVSTrafficShapingPolicy"
          },
          "outShapingPolicy": {
            "description": "Network shaping policy for controlling throughput of outbound traffic.\n",
            "$ref": "#/components/schemas/DVSTrafficShapingPolicy"
          },
          "vendorSpecificConfig": {
            "description": "Opaque binary blob that stores vendor specific configuration.\n",
            "$ref": "#/components/schemas/DVSVendorSpecificConfig"
          },
          "networkResourcePoolKey": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0\nUse *DVPortgroupConfigInfo.vmVnicNetworkResourcePoolKey* instead\nto reference the virtual NIC network resource pool.\n\nThe key of user defined network resource pool to be associated with a port.\n\nThe default value for this property is \"-1\", indicating that\nthis port is not associated with any network resource pool.\n",
            "$ref": "#/components/schemas/StringPolicy"
          },
          "filterPolicy": {
            "description": "Configuration for Network Filter Policy.\n",
            "$ref": "#/components/schemas/DvsFilterPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVPortSetting": {
        "type": "object",
        "description": "A boxed array of *DVPortSetting*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortSetting"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortState": {
        "type": "object",
        "description": "The state of a DistributedVirtualPort.\n",
        "properties": {
          "runtimeInfo": {
            "description": "Run time information of the port.\n\nThis property is set only when the port is running.\n",
            "$ref": "#/components/schemas/DVPortStatus"
          },
          "stats": {
            "description": "Statistics of the port.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortStatistics"
          },
          "vendorSpecificState": {
            "description": "Opaque binary blob that stores vendor-specific runtime state data.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchKeyedOpaqueBlob"
            }
          }
        },
        "required": [
          "stats"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVPortState": {
        "type": "object",
        "description": "A boxed array of *DVPortState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsTrafficFilterConfig": {
        "type": "object",
        "description": "This class defines Traffic Filter configuration.\n\n** Supported Qualifier and Actions **\n<table border=\"1\"width=\"100%\">\n<tr>\n<th>Traffic Filter Config</th>\n<th>Supported classes</th>\n</tr>\n<tr>\n<td>Qualifiers supported</td>\n<td>*SingleIp*, *IpRange*,\n*SingleMac*, *MacRange*,\n*DvsSingleIpPort*,\n*DvsSystemTrafficNetworkRuleQualifier*\n</td>\n</tr>\n<tr>\n<td>Actions Supported</td>\n<td>*DvsDropNetworkRuleAction*,\n*DvsAcceptNetworkRuleAction*,\n*DvsPuntNetworkRuleAction*,\n*DvsCopyNetworkRuleAction*,\n*DvsMacRewriteNetworkRuleAction*,\n*DvsGreEncapNetworkRuleAction*,\n*DvsLogNetworkRuleAction*,\n*DvsUpdateTagNetworkRuleAction*,\n*DvsRateLimitNetworkRuleAction*\n</td>\n</tr>\n",
        "properties": {
          "trafficRuleset": {
            "description": "Network Traffic Ruleset\n",
            "$ref": "#/components/schemas/DvsTrafficRuleset"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFilterConfig"
          }
        ]
      },
      "ArrayOfDvsTrafficFilterConfig": {
        "type": "object",
        "description": "A boxed array of *DvsTrafficFilterConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsTrafficFilterConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsTrafficFilterConfigSpec": {
        "type": "object",
        "description": "The specification to reconfigure Traffic Filter.\n\nThis specification allows the user to do fine-grained updates for the\nTraffic Filter in the port settings.\nIf the operation is *remove*, only the\n*DistributedVirtualPort.key* needs to be specified.\nIf other fields are specified, they will be ignored. We cannot remove\nan inherited element. Only when the inherited flag is set to false and\nparent does not have an element with same key this operation succeeds.\nIf the operation is *add*, then\n*DistributedVirtualPort.key* should not be specified and\nother fields need to be specified. The inherited flag should be set to\nfalse.\nIf the operation is *edit*, then\n*DistributedVirtualPort.key* needs be specified and\nspecify the other properties that need modification. If the inherited\nflag is set to true, a *DvsTrafficFilterConfig* object of same\nkey must exist at the parent's level. The property values in the spec\nobject will be ignored and use the values from the parent's\n*DvsTrafficFilterConfig* object instead. If inherited\nflag is set to false, then the new modifications will be applied.\n",
        "properties": {
          "operation": {
            "description": "Operation type.\n\nSee *ConfigSpecOperation_enum* for valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsTrafficFilterConfig"
          }
        ]
      },
      "ArrayOfDvsTrafficFilterConfigSpec": {
        "type": "object",
        "description": "A boxed array of *DvsTrafficFilterConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsTrafficFilterConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSTrafficShapingPolicy": {
        "type": "object",
        "description": "This data object type describes traffic shaping policy.\n",
        "properties": {
          "enabled": {
            "description": "The flag to indicate whether or not traffic shaper is enabled on\nthe port.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "averageBandwidth": {
            "description": "The average bandwidth in bits per second if shaping is enabled on\nthe port.\n",
            "$ref": "#/components/schemas/LongPolicy"
          },
          "peakBandwidth": {
            "description": "The peak bandwidth during bursts in bits per second if traffic\nshaping is enabled on the port.\n",
            "$ref": "#/components/schemas/LongPolicy"
          },
          "burstSize": {
            "description": "The maximum burst size allowed in bytes if shaping is enabled on\nthe port.\n",
            "$ref": "#/components/schemas/LongPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfDVSTrafficShapingPolicy": {
        "type": "object",
        "description": "A boxed array of *DVSTrafficShapingPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSTrafficShapingPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSVendorSpecificConfig": {
        "type": "object",
        "description": "This data object type describes vendor specific configuration.\n",
        "properties": {
          "keyValue": {
            "description": "An opaque binary blob that stores vendor specific configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchKeyedOpaqueBlob"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfDVSVendorSpecificConfig": {
        "type": "object",
        "description": "A boxed array of *DVSVendorSpecificConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSVendorSpecificConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortgroupConfigInfo": {
        "type": "object",
        "description": "The *DVPortgroupConfigInfo* data object defines\nthe configuration of a *DistributedVirtualPortgroup*.\n",
        "properties": {
          "key": {
            "description": "Key of the portgroup.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the portgroup.\n",
            "type": "string"
          },
          "numPorts": {
            "description": "Number of ports in the portgroup.\n",
            "type": "integer",
            "format": "int32"
          },
          "distributedVirtualSwitch": {
            "description": "Distributed virtual switch that the portgroup is defined on.\n\nThis property should always be set unless the user's setting\ndoes not have System.Read privilege on the object referred to\nby this property.\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "defaultPortConfig": {
            "description": "Common network setting for all the ports in the portgroup.\n",
            "$ref": "#/components/schemas/DVPortSetting"
          },
          "description": {
            "description": "Description of the portgroup.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of portgroup.\n\nSee\n*DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum*\nfor possible values.\n",
            "type": "string"
          },
          "backingType": {
            "description": "Backing type of portgroup.\n\nSee\n*DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum*\nfor possible values.\nThe default value is \"standard\"\n",
            "type": "string"
          },
          "policy": {
            "description": "Portgroup policy.\n",
            "$ref": "#/components/schemas/DVPortgroupPolicy"
          },
          "portNameFormat": {
            "description": "If set, a name will be automatically generated based on this format\nstring for a port when it is created in or moved into the portgroup.\n\nThe format string can contain meta tags that will be resolved\nto the corresponding values in generating a name, if applicable for\nthe port at the time of name generation.\n\nTo insert a meta tag in the format string,\nenclose the names defined as meta tag names inside angle brackets.\nSee *DistributedVirtualPortgroupMetaTagName_enum* for a list of\ncurrently available meta tags. For example,\n\"redNetwork-&lt;portIndex&gt;\" and \"&lt;dvsName&gt;-pnic&lt;portIndex&gt;\"\nresult in generated port names like \"redNetwork-2\" and \"switch-pnic3\".\n\nIf a meta tag is recognized, but there is no applicable value, the tag\nwill be expanded to empty string. If an arbitrary name appears inside\na \"&lt;&gt;\" pair and is not recognized as one of the defined meta tags,\nthe substring is treated as-is and appear unchanged in the generated name.\n\nTo prevent a meta tag from being expanded, prefix the meta tag with a\n'\\\\' (backslash). For example, the format string \"abc\\\\&lt;portIndex&gt;def\"\nresults in the generated port name \"abc&lt;portIndex&gt;def\".\n",
            "type": "string"
          },
          "scope": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5.\n\nEligible entities that can connect to the portgroup.\n\nIf unset,\nthere is no restriction on which entity can connect to the portgroup.\nIf set, only the entities in the specified list or their child\nentities are allowed to connect to the portgroup. If scopes are\ndefined at both port and portgroup level, they are taken as an \"AND\"\nrelationship. If such a relationship doesn't make sense, the\nreconfigure operation will raise an exception.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "vendorSpecificConfig": {
            "description": "Opaque binary blob that stores vendor specific configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchKeyedOpaqueBlob"
            }
          },
          "configVersion": {
            "description": "Configuration version number.\n",
            "type": "string"
          },
          "autoExpand": {
            "description": "If set to true, this property ignores the limit on the number of ports in the\nportgroup.\n\nWhen a Virtual Machine/Host tries to connect to the portgroup and there\nare no free ports available in the portgroup, new ports will be automatically\nadded to the portgroup. The flag is currently supported only for static portgroups.\n\nWhen this property is set to true, the portgroup becomes a potential candidate for\nauto-shrink. Once the portgroup has auto-expanded then its disconnected ports are\nlikely to be deleted automatically, as a part of auto-shrink step, if there are more\nthan certain number of free ports. If the portgroup never auto-expanded, then it will\nnever lose any free ports.\n",
            "type": "boolean"
          },
          "vmVnicNetworkResourcePoolKey": {
            "description": "The key of virtual NIC network resource pool to be associated with a portgroup.\n\nThe default value for this property is unset, indicating that\nthis portgroup is not associated with any virtual NIC network resource pool.\nTo clear the value of this property and revert to unset, set the\n*DVPortgroupConfigSpec.vmVnicNetworkResourcePoolKey*\nto \"-1\" in an update operation.\n",
            "type": "string"
          },
          "uplink": {
            "description": "Indicates whether the portgroup is an uplink portroup.\n",
            "type": "boolean"
          },
          "transportZoneUuid": {
            "description": "The UUID of transport zone to be associated with a NSX portgroup.\n",
            "type": "string"
          },
          "transportZoneName": {
            "description": "The name of transport zone to be associated with a NSX portgroup.\n",
            "type": "string"
          },
          "logicalSwitchUuid": {
            "description": "The logical switch UUID, which is used by NSX portgroup\n",
            "type": "string"
          },
          "segmentId": {
            "description": "The segment ID of logical switch\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "name",
          "numPorts",
          "type",
          "policy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVPortgroupConfigInfo": {
        "type": "object",
        "description": "A boxed array of *DVPortgroupConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortgroupConfigSpec": {
        "type": "object",
        "description": "The *DVPortgroupConfigSpec*\ndata object contains configuration data for a\n*DistributedVirtualPortgroup*.\n\nUse the\n*DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task*\nmethod to apply the configuration to the portgroup.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "configVersion": {
            "description": "Version string of the configuration that this spec is trying to\nchange.\n\nThis property is required in reconfiguring a portgroup and\nshould be set to the same value as the\n*DVPortgroupConfigInfo.configVersion*.\nThis property is ignored in creating a portgroup if set.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the portgroup.\n",
            "type": "string"
          },
          "numPorts": {
            "description": "Number of ports in the portgroup.\n\nSetting this number larger than the\nnumber of existing ports in the portgroup causes new ports to\nbe added to the portgroup to meet the number. Setting this property\nsmaller than the number of existing ports deletes the free ports\nfrom the portgroup. If the number cannot be met by deleting free ports,\na fault is raised. If new ports are added to the portgroup, they\nare also added to the switch. For portgroups of type ephemeral this\nproperty is ignored.\n",
            "type": "integer",
            "format": "int32"
          },
          "portNameFormat": {
            "description": "Format of the name of the ports when ports are created in the portgroup.\n\nFor details see *DVPortgroupConfigInfo.portNameFormat*.\n",
            "type": "string"
          },
          "defaultPortConfig": {
            "description": "Default network setting for all the ports in the portgroup.\n",
            "$ref": "#/components/schemas/DVPortSetting"
          },
          "description": {
            "description": "Description of the portgroup.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of portgroup.\n\nSee\n*DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum*\nfor possible values.\n",
            "type": "string"
          },
          "backingType": {
            "description": "Backing type of portgroup.\n\nSee\n*DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum*\nfor possible values.\nThe default value is \"standard\"\n",
            "type": "string"
          },
          "scope": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5.\n\nEligible entities that can connect to the port.\n\nSee\n*DVPortgroupConfigInfo*.*DVPortgroupConfigInfo.scope*.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "policy": {
            "description": "Portgroup policy.\n",
            "$ref": "#/components/schemas/DVPortgroupPolicy"
          },
          "vendorSpecificConfig": {
            "description": "Opaque binary blob that stores vendor specific configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchKeyedOpaqueBlob"
            }
          },
          "autoExpand": {
            "description": "If set to true, this property ignores the limit on the number of ports in the\nportgroup.\n\nWhen a Virtual Machine/Host tries to connect to the portgroup and there\nare no free ports available in the portgroup, new ports will be automatically\nadded to the portgroup. The flag is currently supported only for static portgroups.\n\nSetting this property to true makes the portgroup a potential candidate for\nauto-shrink. Once the portgroup has auto-expanded then its disconnected ports are\nlikely to be deleted automatically, as a part of auto-shrink step, if there are more\nthan certain number of free ports. If the portgroup never auto-expanded, then it will\nnever lose any free ports.\n",
            "type": "boolean"
          },
          "vmVnicNetworkResourcePoolKey": {
            "description": "The key of virtual NIC network resource pool to be associated with a portgroup.\n\nSetting this property to \"-1\", would mean that this portgroup\nis not associated with any virtual NIC network resource pool.\n",
            "type": "string"
          },
          "transportZoneUuid": {
            "description": "The UUID of transport zone to be associated with a NSX portgroup.\n",
            "type": "string"
          },
          "transportZoneName": {
            "description": "The name of transport zone to be associated with a NSX portgroup.\n",
            "type": "string"
          },
          "logicalSwitchUuid": {
            "description": "The logical switch UUID, which is used by NSX portgroup\n",
            "type": "string"
          },
          "segmentId": {
            "description": "The segment ID of logical switch\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVPortgroupConfigSpec": {
        "type": "object",
        "description": "A boxed array of *DVPortgroupConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualPortgroupNsxPortgroupOperationResult": {
        "type": "object",
        "description": "The *DistributedVirtualPortgroupNsxPortgroupOperationResult*\ndata object defines the result of NSX port group operations, including\ncreate, reconfigure and delete.\n",
        "properties": {
          "portgroups": {
            "description": "The management object of NSX port group.\n\nFor add operation, it indicates the port groups created successfully.\nFor reconfigure operation, it indicates the port groups updated\nsuccessfully.\nFor delete operation, it indicates the port groups failed deleted.\n\nRefers instances of *DistributedVirtualPortgroup*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "problems": {
            "description": "The failed port group operation details.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualPortgroupProblem"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualPortgroupNsxPortgroupOperationResult": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualPortgroupNsxPortgroupOperationResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualPortgroupNsxPortgroupOperationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortgroupPolicy": {
        "type": "object",
        "description": "The DistributedVirtualPortgroup policies.\n\nThis field is not applicable\nwhen queried directly against an ESX host.\n",
        "properties": {
          "blockOverrideAllowed": {
            "description": "Allow the *DVPortSetting.blocked* setting\nof an individual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig* of\na portgroup.\n",
            "type": "boolean"
          },
          "shapingOverrideAllowed": {
            "description": "Allow the *DVPortSetting.inShapingPolicy* or\n*DVPortSetting.outShapingPolicy* settings\nof an individual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig* of\na portgroup.\n",
            "type": "boolean"
          },
          "vendorConfigOverrideAllowed": {
            "description": "Allow the *DVPortSetting.vendorSpecificConfig*\nsetting of an individual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig* of\na portgroup.\n",
            "type": "boolean"
          },
          "livePortMovingAllowed": {
            "description": "Allow a live port to be moved in and out of the portgroup.\n",
            "type": "boolean"
          },
          "portConfigResetAtDisconnect": {
            "description": "If true, reset the port network setting back to the portgroup setting\n(thus removing the per-port setting) when the port is disconnected from\nthe connectee.\n",
            "type": "boolean"
          },
          "networkResourcePoolOverrideAllowed": {
            "description": "Allow the setting of\n*DVPortSetting.networkResourcePoolKey* of an\nindividual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig*\nof a portgroup.\n",
            "type": "boolean"
          },
          "trafficFilterOverrideAllowed": {
            "description": "Allow the setting of\n*DVPortSetting.filterPolicy*,\nfor an individual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig* of\na portgroup.\n",
            "type": "boolean"
          }
        },
        "required": [
          "blockOverrideAllowed",
          "shapingOverrideAllowed",
          "vendorConfigOverrideAllowed",
          "livePortMovingAllowed",
          "portConfigResetAtDisconnect"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVPortgroupPolicy": {
        "type": "object",
        "description": "A boxed array of *DVPortgroupPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualPortgroupProblem": {
        "type": "object",
        "description": "The *DistributedVirtualPortgroupProblem*\ndata object defines the error while excuting NSX port group operations.\n",
        "properties": {
          "logicalSwitchUuid": {
            "description": "The problematic logical switch UUID\n",
            "type": "string"
          },
          "fault": {
            "description": "The failure reason for each problematic logical switch UUID\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "logicalSwitchUuid",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualPortgroupProblem": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualPortgroupProblem*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualPortgroupProblem"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualPortgroupInfo": {
        "type": "object",
        "description": "This class describes a DistributedVirtualPortgroup that a device backing\ncan be attached to.\n",
        "properties": {
          "switchName": {
            "description": "The name of the switch.\n",
            "type": "string"
          },
          "switchUuid": {
            "description": "The UUID of the switch.\n",
            "type": "string"
          },
          "portgroupName": {
            "description": "The name of the portgroup.\n",
            "type": "string"
          },
          "portgroupKey": {
            "description": "The key of the portgroup.\n",
            "type": "string"
          },
          "portgroupType": {
            "description": "The type of portgroup.\n\nSee *DistributedVirtualPortgroupPortgroupType_enum*\n",
            "type": "string"
          },
          "uplinkPortgroup": {
            "description": "Whether this portgroup is an uplink portgroup.\n",
            "type": "boolean"
          },
          "portgroup": {
            "description": "The portgroup.\n\nRefers instance of *DistributedVirtualPortgroup*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "networkReservationSupported": {
            "description": "Indicates whether network bandwidth reservation is supported on\nthe portgroup\n",
            "type": "boolean"
          },
          "backingType": {
            "description": "Backing type of portgroup.\n\nSee\n*DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum*\nfor possible values.\nThe default value is \"standard\".\n",
            "type": "string"
          },
          "logicalSwitchUuid": {
            "description": "The logical switch UUID, which is used by NSX portgroup\n",
            "type": "string"
          },
          "segmentId": {
            "description": "The segment ID of logical switch, which is used by NSX portroup\n",
            "type": "string"
          }
        },
        "required": [
          "switchName",
          "switchUuid",
          "portgroupName",
          "portgroupKey",
          "portgroupType",
          "uplinkPortgroup",
          "portgroup"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualPortgroupInfo": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualPortgroupInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualPortgroupInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortgroupSelection": {
        "type": "object",
        "description": "Class to specify selection criteria of list of vNetwork Distributed Portgroups.\n",
        "properties": {
          "dvsUuid": {
            "description": "vSphere Distributed Switch uuid\n",
            "type": "string"
          },
          "portgroupKey": {
            "description": "List of vNetwork Distributed Portgroup keys\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "dvsUuid",
          "portgroupKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SelectionSet"
          }
        ]
      },
      "ArrayOfDVPortgroupSelection": {
        "type": "object",
        "description": "A boxed array of *DVPortgroupSelection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupSelection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchInfo": {
        "type": "object",
        "description": "This class describes a DistributedVirtualSwitch that a device backing\ncan attached to its ports.\n",
        "properties": {
          "switchName": {
            "description": "The name of the switch.\n",
            "type": "string"
          },
          "switchUuid": {
            "description": "The UUID of the switch.\n",
            "type": "string"
          },
          "distributedVirtualSwitch": {
            "description": "The switch.\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "networkReservationSupported": {
            "description": "Indicates whether network bandwidth reservation is supported on\nthe switch\n",
            "type": "boolean"
          }
        },
        "required": [
          "switchName",
          "switchUuid",
          "distributedVirtualSwitch"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchInfo": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchManagerCompatibilityResult": {
        "type": "object",
        "description": "This is the return type for the checkCompatibility method.\n\nThis object\nhas a host property and optionally a fault which would\nbe populated only if that host is not compatible with a given dvsProductSpec.\nIf the host is compatible then the error property would be unset.\n",
        "properties": {
          "host": {
            "description": "The host for which results are annotated.\n\nThe whole object will be\nfiltered out if the caller did not have view permissions on the\nhost entity.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "error": {
            "description": "This property contains the faults that makes the host not compatible\nwith a given DvsProductSpec.\n\nFor example, a host might not be compatible\nbecause it's an older version of ESX that doesn't support DVS.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchManagerCompatibilityResult": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchManagerCompatibilityResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchManagerCompatibilityResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSManagerDvsConfigTarget": {
        "type": "object",
        "description": "Configuration specification for a DistributedVirtualSwitch or\nDistributedVirtualPortgroup.\n",
        "properties": {
          "distributedVirtualPortgroup": {
            "description": "List of any DistributedVirtualPortgroup available for host Virtual NIC connection.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualPortgroupInfo"
            }
          },
          "distributedVirtualSwitch": {
            "description": "List of any DistributedVirtualSwitch available for host Virtual NIC connection.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSManagerDvsConfigTarget": {
        "type": "object",
        "description": "A boxed array of *DVSManagerDvsConfigTarget*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSManagerDvsConfigTarget"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchManagerDvsProductSpec": {
        "type": "object",
        "description": "This class is used to specify ProductSpec for the DVS.\n\nThe two properties are\nstrictly mutually exclusive. If both properties are set, then\nan InvalidArgument fault would be thrown.\n",
        "properties": {
          "newSwitchProductSpec": {
            "description": "The ProductSpec for new DVS\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          },
          "distributedVirtualSwitch": {
            "description": "Get ProductSpec from the existing DVS\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchManagerDvsProductSpec": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchManagerDvsProductSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchManagerDvsProductSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchManagerHostArrayFilter": {
        "type": "object",
        "description": "Check host compatibility against all hosts specified in the array.\n",
        "properties": {
          "host": {
            "description": "List of hosts to consider.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostDvsFilterSpec"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchManagerHostArrayFilter": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchManagerHostArrayFilter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostArrayFilter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchManagerHostContainer": {
        "type": "object",
        "description": "Check host compatibility for all hosts in the container.\n\nIf the recursive\nflag is true, then check hosts at all levels within this container, otherwise\ncheck only at the container level. In case of container being a *Datacenter*,\nthe recursive flag is applied to its HostFolder.\n",
        "properties": {
          "container": {
            "description": "Check compatibility of hosts in this container.\n\nThe supported container\ntypes are Datacenter, Folder, and ComputeResource.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "recursive": {
            "description": "If true, include hosts of all levels in the hierarchy with\ncontainer as root of the tree.\n\nIn case of container being a *Datacenter*,\nthe recursive flag is applied to its HostFolder.\n",
            "type": "boolean"
          }
        },
        "required": [
          "container",
          "recursive"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchManagerHostContainer": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchManagerHostContainer*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostContainer"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchManagerHostContainerFilter": {
        "type": "object",
        "description": "Check host compatibility against all hosts in this\n*DistributedVirtualSwitchManagerHostContainer*\n",
        "properties": {
          "hostContainer": {
            "description": "Container of hosts that are part of the filter.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostContainer"
          }
        },
        "required": [
          "hostContainer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostDvsFilterSpec"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchManagerHostContainerFilter": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchManagerHostContainerFilter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostContainerFilter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchManagerHostDvsFilterSpec": {
        "type": "object",
        "description": "Base class for filters to check host compatibility.\n",
        "properties": {
          "inclusive": {
            "description": "If this flag is true, then the filter returns the hosts in the\n*DistributedVirtualSwitchManagerHostContainer*\nthat satisfy the criteria specified by this filter, otherwise\nit returns hosts that don't meet the criteria.\n",
            "type": "boolean"
          }
        },
        "required": [
          "inclusive"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchManagerHostDvsFilterSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostDvsFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchManagerHostDvsMembershipFilter": {
        "type": "object",
        "description": "Check host compatibility against all hosts in the DVS (or not in the DVS if\ninclusive flag in base class is false)\n",
        "properties": {
          "distributedVirtualSwitch": {
            "description": "Refers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "distributedVirtualSwitch"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostDvsFilterSpec"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchManagerHostDvsMembershipFilter": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchManagerHostDvsMembershipFilter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchManagerHostDvsMembershipFilter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchManagerImportResult": {
        "type": "object",
        "description": "The *DistributedVirtualSwitchManagerImportResult*\ndata object represents the results of a\n*DistributedVirtualSwitchManager.DVSManagerImportEntity_Task*\noperation.\n\nIt contains lists of the switches and portgroups\nthat were created. It also contains a list of faults\nthat occurred during the operation.\n",
        "properties": {
          "distributedVirtualSwitch": {
            "description": "List of distributed virtual switches.\n\nRefers instances of *DistributedVirtualSwitch*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "distributedVirtualPortgroup": {
            "description": "List of distributed virtual portgroups.\n\nRefers instances of *DistributedVirtualPortgroup*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "importFault": {
            "description": "Faults that occurred on the entities during the import operation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportOperationBulkFaultFaultOnImport"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchManagerImportResult": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchManagerImportResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchManagerImportResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSManagerPhysicalNicsList": {
        "type": "object",
        "description": "This class is used to store valid PhysicalNics for a specific host\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "host": {
            "description": "Refers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "physicalNics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNic"
            }
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSManagerPhysicalNicsList": {
        "type": "object",
        "description": "A boxed array of *DVSManagerPhysicalNicsList*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSManagerPhysicalNicsList"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSSelection": {
        "type": "object",
        "description": "Class to specify selection criteria of vSphere Distributed Switch.\n",
        "properties": {
          "dvsUuid": {
            "description": "vSphere Distributed Switch uuid\n",
            "type": "string"
          }
        },
        "required": [
          "dvsUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SelectionSet"
          }
        ]
      },
      "ArrayOfDVSSelection": {
        "type": "object",
        "description": "A boxed array of *DVSSelection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSSelection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EntityBackup": {
        "type": "object",
        "description": "*EntityBackup* is an abstract data object that contains\nthe related entity backup and restore elements for virtual distributed\nswitches and virtual distributed portgroups.\n\nSee the following elements:\n- *EntityBackupConfig*\n- *EntityImportType_enum*\n- *EntityType_enum*\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEntityBackup": {
        "type": "object",
        "description": "A boxed array of *EntityBackup*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityBackup"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EntityBackupConfig": {
        "type": "object",
        "description": "The *EntityBackupConfig* data object\ncontains *VmwareDistributedVirtualSwitch*\nor *DistributedVirtualPortgroup* backup\nconfiguration data produced by the\n*DistributedVirtualSwitchManager.DVSManagerExportEntity_Task*\nmethod.\n\nIt also contains properties that support\n*DistributedVirtualSwitchManager.DVSManagerImportEntity_Task*\noperations.\n\nA *DistributedVirtualSwitchManager.DVSManagerExportEntity_Task* operation\nsets properties that identify the entity instance\n(*EntityBackupConfig.entityType*,\n*EntityBackupConfig.key*, and\n*EntityBackupConfig.name*) and\ninventory location (*EntityBackupConfig.container*).\nWhen you import a backup configuration, you can set\nthe <code>key</code>, <code>name</code>, and <code>container</code>\nproperties in accordance with the <code>importType</code>\nspecified in the call to\n*DistributedVirtualSwitchManager.DVSManagerImportEntity_Task*.\nSee *EntityImportType_enum*.\n",
        "properties": {
          "entityType": {
            "description": "Type of the exported entity\n(*DistributedVirtualSwitchManager.DVSManagerExportEntity_Task*).\n\nSee *EntityType_enum*\nfor valid values.\n",
            "type": "string"
          },
          "configBlob": {
            "description": "Opaque blob that contains the configuration of the entity.\n",
            "type": "string",
            "format": "byte"
          },
          "key": {
            "description": "Unique identifier of the exported entity or the entity to be restored\nthrough an import operation.\n- If you are importing a virtual distributed switch and the import type is\n  *applyToEntitySpecified*,\n  set the <code>key</code> to\n  *DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid*.\n- If you are importing a virtual distributed portgroup and the import type is\n  *applyToEntitySpecified*,\n  set the <code>key</code> to\n  *DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.key*.\n  \nThe Server ignores the key value when the import operation creates a new entity.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the exported entity or the entity to be restored with the backup configuration.\n\nIf you are importing an entity and the import type is\n*applyToEntitySpecified*,\nthe Server will use this value to rename the existing entity.\n",
            "type": "string"
          },
          "container": {
            "description": "Container for this entity.\n\nIf *EntityBackupConfig.entityType* is \"distributedVirtualSwitch\",\nthe container type is *Folder*. If *EntityBackupConfig.entityType*\nis \"distributedVirtualPortgroup\", the container type is\n*DistributedVirtualSwitch*.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "configVersion": {
            "description": "Configuration version.\n",
            "type": "string"
          }
        },
        "required": [
          "entityType",
          "configBlob"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEntityBackupConfig": {
        "type": "object",
        "description": "A boxed array of *EntityBackupConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityBackupConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFilterSpecConnecteeSpec": {
        "type": "object",
        "description": "Base class for connectee filters.\n\nThis class serves as a base for different types of connectee filters.\nIt has three sub-classes.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSFilterSpecConnecteeSpec": {
        "type": "object",
        "description": "A boxed array of *DVSFilterSpecConnecteeSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFilterSpecConnecteeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFilterSpecPnicConnecteeSpec": {
        "type": "object",
        "description": "Sub-class for connectee filters.\n\nThis is for the connectee type to be pnic.\nTwo filters will apply, which are pnicName and hostName.\nThis connectee whole-name will be made up from two names: pnicName and hostName.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "pnicNameSpec": {
            "description": "The pnic name to be filtered in the connectee column.\n\nIf set, port's connectee type being a pnic whose whole-name including this string are qualified.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSFilterSpecConnecteeSpec"
          }
        ]
      },
      "ArrayOfDVSFilterSpecPnicConnecteeSpec": {
        "type": "object",
        "description": "A boxed array of *DVSFilterSpecPnicConnecteeSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFilterSpecPnicConnecteeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFilterSpecPvlanSpec": {
        "type": "object",
        "description": "Sub-class for Vlan filters.\n\nThis is for the Vlan type to be private Vlan.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "pvlanId": {
            "description": "The private VLAN ID for ports.\n\nPossible values:\nA value of 0 specifies that you do not want the port associated\nwith a VLAN.\nA value from 1 to 4094 specifies a VLAN ID for the port.\nIf set, port private vlans matching are qualified.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSFilterSpecVlanSpec"
          }
        ]
      },
      "ArrayOfDVSFilterSpecPvlanSpec": {
        "type": "object",
        "description": "A boxed array of *DVSFilterSpecPvlanSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFilterSpecPvlanSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFilterSpecTrunkVlanSpec": {
        "type": "object",
        "description": "Sub-class for Vlan filters.\n\nThis is for the Vlan type to be trunking.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "range": {
            "description": "The VlanId range for the trunk port.\n\nThe valid VlanId range is\nfrom 0 to 4094. Overlapping ranges are allowed.\nIf set, port trunk ranges matching are qualified.\n",
            "$ref": "#/components/schemas/NumericRange"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSFilterSpecVlanSpec"
          }
        ]
      },
      "ArrayOfDVSFilterSpecTrunkVlanSpec": {
        "type": "object",
        "description": "A boxed array of *DVSFilterSpecTrunkVlanSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFilterSpecTrunkVlanSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFilterSpecVlanIdSpec": {
        "type": "object",
        "description": "Sub-class for Vlan filters.\n\nThis is for the Vlan type to be Vlan.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "vlanId": {
            "description": "The VLAN ID for ports.\n\nPossible values:\nA value of 0 specifies that you do not want the port associated\nwith a VLAN.\nA value from 1 to 4094 specifies a VLAN ID for the port.\nIf set,port vlans matching are qualified.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSFilterSpecVlanSpec"
          }
        ]
      },
      "ArrayOfDVSFilterSpecVlanIdSpec": {
        "type": "object",
        "description": "A boxed array of *DVSFilterSpecVlanIdSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFilterSpecVlanIdSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFilterSpecVlanSpec": {
        "type": "object",
        "description": "Base class for VlanSpec filters.\n\nThis class serves as a base for different types of VlanSpec filters.\nIt has three sub-classes.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSFilterSpecVlanSpec": {
        "type": "object",
        "description": "A boxed array of *DVSFilterSpecVlanSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFilterSpecVlanSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFilterSpecVmConnecteeSpec": {
        "type": "object",
        "description": "Sub-class for connectee filters.\n\nThis is for the connectee type to be vm.\nOnly one filter will apply, whici is vmName.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "vmNameSpec": {
            "description": "The vm name to be filtered in the connectee column.\n\nIf set, port's connectee type being a vm whose name including this string are qualified.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSFilterSpecConnecteeSpec"
          }
        ]
      },
      "ArrayOfDVSFilterSpecVmConnecteeSpec": {
        "type": "object",
        "description": "A boxed array of *DVSFilterSpecVmConnecteeSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFilterSpecVmConnecteeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFilterSpecVmknicConnecteeSpec": {
        "type": "object",
        "description": "Sub-class for connectee filters.\n\nThis is for the connectee type to be vmknic.\nTwo filters will apply, which are vmknicName and hostName.\nThis connectee whole-name will be made up from two names: vmknicName and hostName.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "vmknicNameSpec": {
            "description": "The vmknic name to be filtered in the connectee column.\n\nIf set, port's connectee type being a vmknic whose whole-name including this string are qualified.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSFilterSpecConnecteeSpec"
          }
        ]
      },
      "ArrayOfDVSFilterSpecVmknicConnecteeSpec": {
        "type": "object",
        "description": "A boxed array of *DVSFilterSpecVmknicConnecteeSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFilterSpecVmknicConnecteeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostMember": {
        "type": "object",
        "description": "The *DistributedVirtualSwitchHostMember* data object represents an ESXi host that\nis a member of a distributed virtual switch.\n\nWhen you add a host to a switch\n(*DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host*),\nthe Server creates a proxy switch (*HostProxySwitch*).\nThe host member object contains information about the configuration\nand state of the proxy.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "runtimeState": {
            "description": "Host member runtime state.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberRuntimeState"
          },
          "config": {
            "description": "Host member configuration.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberConfigInfo"
          },
          "productInfo": {
            "description": "Vendor, product and version information for the proxy switch\nmodule.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          },
          "uplinkPortKey": {
            "description": "Port keys of the uplink ports created for the host member.\n\nThese ports\nwill be deleted after the host leaves the switch.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1, use\n*HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.status* instead.\n\nThe host DistributedVirtualSwitch component status.\n\nSee\n*HostComponentState* for valid values.\n",
            "type": "string"
          },
          "statusDetail": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1, use\n*HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.statusDetail* instead.\n\nAdditional information regarding the host's current status.\n",
            "type": "string"
          }
        },
        "required": [
          "config",
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostMember": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostMember*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMember"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostMemberBacking": {
        "type": "object",
        "description": "Base class.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostMemberBacking": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostMemberBacking*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberBacking"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostMemberConfigInfo": {
        "type": "object",
        "description": "The *DistributedVirtualSwitchHostMemberConfigInfo* data object\ncontains membership configuration information for the ESXi host.\n",
        "properties": {
          "host": {
            "description": "ESXi host.\n\nThis property should always be set unless the user's setting\ndoes not have System.Read privilege on the object referred to\nby this property.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "maxProxySwitchPorts": {
            "description": "Maximum number of ports than can be created in the proxy switch.\n\n_ESXi 5.0 and earlier hosts_:\nIf you change the maximum number of ports, you must reboot\nthe host for the new value to take effect.\n",
            "type": "integer",
            "format": "int32"
          },
          "vendorSpecificConfig": {
            "description": "Opaque binary blob that stores vendor specific configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchKeyedOpaqueBlob"
            }
          },
          "backing": {
            "description": "Host membership backing, specifying physical NIC, portgroup, and port\nbindings for the proxy switch.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberBacking"
          },
          "nsxSwitch": {
            "description": "Indicate whether the proxy switch is used by NSX on this particular\nhost member of the VDS.\n",
            "type": "boolean"
          },
          "ensEnabled": {
            "description": "Indicate if ENS is enabled for this particular host member of\nthe VDS.\n\nIt is read only.\n",
            "type": "boolean"
          },
          "ensInterruptEnabled": {
            "description": "Indicate if ENS interrupt mode is enabled for this particular host\nmember of the VDS.\n\nIt is read only.\n",
            "type": "boolean"
          },
          "transportZones": {
            "description": "Indicate which transport zones this host joins by this VDS.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberTransportZoneInfo"
            }
          },
          "nsxtUsedUplinkNames": {
            "description": "Indicate which uplink ports are used by NSX-T.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "networkOffloadingEnabled": {
            "description": "Indicate if network offloading is enabled for this particular host\nmember of the VDS.\n\nUnset implies that network offloading is disabled.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          }
        },
        "required": [
          "maxProxySwitchPorts",
          "backing"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostMemberConfigInfo": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostMemberConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostMemberConfigSpec": {
        "type": "object",
        "description": "Specification to create or reconfigure ESXi host membership\nin a *DistributedVirtualSwitch*.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "operation": {
            "description": "Host member operation type.\n\nSee\n*ConfigSpecOperation_enum* for valid values.\n",
            "type": "string"
          },
          "host": {
            "description": "Identifies a host member of a *DistributedVirtualSwitch*\nfor a *Folder.CreateDVS_Task* or\n*DistributedVirtualSwitch*.*DistributedVirtualSwitch.ReconfigureDvs_Task* operation.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "backing": {
            "description": "Specifies the physical NICs to use as backing for the proxy switch\non the host.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberBacking"
          },
          "maxProxySwitchPorts": {
            "description": "Maximum number of ports allowed in the *HostProxySwitch*.\n\n_ESXi 5.0 and earlier hosts_: If you are reconfiguring an existing\nhost membership, that is, the proxy switch already exists, you must reboot\nthe host for the new setting to take effect.\n",
            "type": "integer",
            "format": "int32"
          },
          "vendorSpecificConfig": {
            "description": "Opaque binary blob that stores vendor specific configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchKeyedOpaqueBlob"
            }
          }
        },
        "required": [
          "operation",
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostMemberConfigSpec": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostMemberConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMemberHealthCheckResult": {
        "type": "object",
        "description": "This class defines healthcheck result of the vSphere Distributed Switch.\n",
        "properties": {
          "summary": {
            "description": "The summary of health check result.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMemberHealthCheckResult": {
        "type": "object",
        "description": "A boxed array of *HostMemberHealthCheckResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMemberHealthCheckResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostMemberHostUplinkState": {
        "type": "object",
        "description": "The runtime state of uplink on the host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "uplinkName": {
            "description": "Name of the uplink.\n",
            "type": "string"
          },
          "state": {
            "description": "The runtime state of the uplink.\n\nSee *DistributedVirtualSwitchHostMemberHostUplinkStateState_enum* for supported values.\n",
            "type": "string"
          }
        },
        "required": [
          "uplinkName",
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostMemberHostUplinkState": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostMemberHostUplinkState*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberHostUplinkState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostMemberPnicBacking": {
        "type": "object",
        "description": "The *DistributedVirtualSwitchHostMemberPnicBacking* data object\nspecifies a set of physical NICs to use for a proxy switch.\n\nWhen you add a host to a distributed virtual switch\n(*DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host*),\nthe host creates a proxy switch that will use the pNICs as uplinks.\n",
        "properties": {
          "pnicSpec": {
            "description": "List of physical NIC specifications.\n\nEach entry identifies\na pNIC to the proxy switch and optionally specifies uplink\nportgroup and port connections for the pNIC.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberPnicSpec"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberBacking"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostMemberPnicBacking": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostMemberPnicBacking*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberPnicBacking"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostMemberPnicSpec": {
        "type": "object",
        "description": "Specification for an individual physical NIC.\n",
        "properties": {
          "pnicDevice": {
            "description": "Name of the physical NIC to be added to the proxy switch.\n\nSee *PhysicalNic*.*PhysicalNic.device*.\n",
            "type": "string"
          },
          "uplinkPortKey": {
            "description": "Key of the port to be connected to the physical NIC.\n",
            "type": "string"
          },
          "uplinkPortgroupKey": {
            "description": "Key of the portgroup to be connected to the physical NIC.\n",
            "type": "string"
          },
          "connectionCookie": {
            "description": "Cookie that represents this *DistributedVirtualSwitchPortConnection*\ninstance for the port.\n\nThe cookie value is generated by the\nServer. The Server ignores any value set by an SDK client.\n\nThe same cookie is present in the distributed virtual port configuration\n(*DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie*)\nso that the Server can verify that the entity is the rightful\nconnectee of the port.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "pnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostMemberPnicSpec": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostMemberPnicSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberPnicSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMemberRuntimeInfo": {
        "type": "object",
        "description": "The *HostMemberRuntimeInfo* data object\ncontains healthcheck and status information about a host\nmember of a distributed virtual switch.\n",
        "properties": {
          "host": {
            "description": "The host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "status": {
            "description": "Host proxy switch status.\n\nSee\n*HostComponentState* for valid values.\nThis property replaces the deprecated\n*DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.status*.\n",
            "type": "string"
          },
          "statusDetail": {
            "description": "Additional information regarding the current membership status of the host.\n\nThis property replaces the deprecated\n*DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.statusDetail*.\n",
            "type": "string"
          },
          "nsxtStatus": {
            "description": "NSX-T component status.\n",
            "type": "string"
          },
          "nsxtStatusDetail": {
            "description": "Additional information regarding the NSX-T component status.\n",
            "type": "string"
          },
          "healthCheckResult": {
            "description": "Health check result for the host that joined the distributed virtual switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMemberHealthCheckResult"
            }
          },
          "hostUplinkState": {
            "description": "Indicate the runtime state of uplink on the host.\n\nIt is only applicable when *DistributedVirtualSwitchHostMemberConfigInfo.networkOffloadingEnabled*\nis true.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberHostUplinkState"
            }
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMemberRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *HostMemberRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMemberRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostMemberRuntimeState": {
        "type": "object",
        "description": "Runtime state of a host member.\n",
        "properties": {
          "currentMaxProxySwitchPorts": {
            "description": "Current maximum number of ports allowed to be created in the\nproxy switch.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "currentMaxProxySwitchPorts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostMemberRuntimeState": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostMemberRuntimeState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberRuntimeState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostMemberTransportZoneInfo": {
        "type": "object",
        "description": "Transport zone information.\n",
        "properties": {
          "uuid": {
            "description": "The UUID of transport zone.\n",
            "type": "string"
          },
          "type": {
            "description": "The type of transport zone.\n\nSee *DistributedVirtualSwitchHostMemberTransportZoneType_enum* for valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "uuid",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostMemberTransportZoneInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberTransportZoneInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMemberUplinkHealthCheckResult": {
        "type": "object",
        "description": "This class defines healthcheck result of a specified Uplink port\nin vSphere Distributed Switch.\n",
        "properties": {
          "uplinkPortKey": {
            "description": "The uplink port key.\n",
            "type": "string"
          }
        },
        "required": [
          "uplinkPortKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostMemberHealthCheckResult"
          }
        ]
      },
      "ArrayOfHostMemberUplinkHealthCheckResult": {
        "type": "object",
        "description": "A boxed array of *HostMemberUplinkHealthCheckResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMemberUplinkHealthCheckResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchHostProductSpec": {
        "type": "object",
        "description": "This data object type is a subset of *AboutInfo*.\n\nAn object of\nthis type can be used to describe the specification for a host.\n",
        "properties": {
          "productLineId": {
            "description": "The product-line name.\n",
            "type": "string"
          },
          "version": {
            "description": "Dot-separated version string.\n\nFor example, \"1.2\".\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchHostProductSpec": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchHostProductSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostProductSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchKeyedOpaqueBlob": {
        "type": "object",
        "description": "This class defines a data structure to hold opaque binary data\nidentified by a key.\n",
        "properties": {
          "key": {
            "description": "A key that identifies the opaque binary blob.\n",
            "type": "string"
          },
          "opaqueData": {
            "description": "The opaque data.\n\nIt is recommended that base64 encoding be used for binary\ndata.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "opaqueData"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchKeyedOpaqueBlob*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchKeyedOpaqueBlob"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchNetworkOffloadSpec": {
        "type": "object",
        "description": "Describe the network offload specification of a\n*VmwareDistributedVirtualSwitch*.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "id": {
            "description": "Identifier of the specification.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the specification.\n",
            "type": "string"
          },
          "types": {
            "description": "DPU types supported in the specification.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchNetworkOffloadSpec": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchNetworkOffloadSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchNetworkOffloadSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSNetworkResourcePool": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0\nUse *DvsHostInfrastructureTrafficResource*\nto manage resource allocation for host infrastructure traffic.\nUse *DVSVmVnicNetworkResourcePool* to manage\nresource allocation for user defined pools.\n\nThe *DVSNetworkResourcePool* data object\ndescribes the resource configuration and management\nof network resource pools.\n",
        "properties": {
          "key": {
            "description": "Key of the network resource pool.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the network resource pool.\n",
            "type": "string"
          },
          "description": {
            "description": "Description of the network resource pool.\n",
            "type": "string"
          },
          "configVersion": {
            "description": "Configuration version for the network resource pool.\n",
            "type": "string"
          },
          "allocationInfo": {
            "description": "Resource settings of the resource pool.\n",
            "$ref": "#/components/schemas/DVSNetworkResourcePoolAllocationInfo"
          }
        },
        "required": [
          "key",
          "configVersion",
          "allocationInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSNetworkResourcePool": {
        "type": "object",
        "description": "A boxed array of *DVSNetworkResourcePool*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSNetworkResourcePool"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSNetworkResourcePoolAllocationInfo": {
        "type": "object",
        "description": "Resource allocation information for a network resource pool.\n",
        "properties": {
          "limit": {
            "description": "Maximum allowed usage for network clients belonging to\nthis resource pool per host.\n\nThe utilization of network clients belonging to this resource pool\nwill not exceed the specified limit even if there are available\nnetwork resources. If set to -1, then there is no limit on the network\nresource usage for clients belonging to this resource pool. Units are\nin Mbits/sec. When setting the allocation of a particular resource\npool, if the property is unset, it is treated as no change and the\nproperty is not updated. An unset limit value while reading back the\nallocation information of a network resource pool indicates that\nthere is no limit on the network resource usage for the clients\nbelonging to this resource group.\n",
            "type": "integer",
            "format": "int64"
          },
          "shares": {
            "description": "Share settings associated with the network resource pool to\nfacilitate proportional sharing of the physical network resources.\n\nIf the property is unset when setting the allocation of a particular\nresource pool, it is treated as unset and the property is not updated.\nThe property is always set when reading back the allocation\ninformation of a network resource pool.\n",
            "$ref": "#/components/schemas/SharesInfo"
          },
          "priorityTag": {
            "description": "802.1p tag to be used for this resource pool.\n\nThe tag is a priority value\nin the range 0..7 for Quality of Service operations on network traffic.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSNetworkResourcePoolAllocationInfo": {
        "type": "object",
        "description": "A boxed array of *DVSNetworkResourcePoolAllocationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSNetworkResourcePoolAllocationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSNetworkResourcePoolConfigSpec": {
        "type": "object",
        "description": "The *DVSNetworkResourcePoolConfigSpec* data object\ncontains properties to create or update a network resource pool\nfor a distributed virtual switch.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "key": {
            "description": "Key of the network resource pool.\n\nThe property is ignored for\n*DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool*\noperations.\n",
            "type": "string"
          },
          "configVersion": {
            "description": "Unique identifier for a given version\nof the configuration.\n\nEach change to the configuration will\nupdate this value. This is typically implemented as a\nnon-decreasing count or a time-stamp. However, a client should\nalways treat this as an opaque string.\n\nIf you specify the configuration version when you update\nthe resource configuration, the Server will apply the changes\nonly if the specified identifier matches the current\n*DVSNetworkResourcePool*.*DVSNetworkResourcePool.configVersion*\nvalue. You can use this field to guard against updates\nthat may have occurred between the time when the client\nreads *DVSNetworkResourcePool.configVersion*\nand when the configuration is applied.\n",
            "type": "string"
          },
          "allocationInfo": {
            "description": "Network resource allocation for the network resource pool.\n",
            "$ref": "#/components/schemas/DVSNetworkResourcePoolAllocationInfo"
          },
          "name": {
            "description": "User defined name for the resource pool.\n\nThe property is required for\n*DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool*\noperations.\n",
            "type": "string"
          },
          "description": {
            "description": "User-defined description for the resource pool.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSNetworkResourcePoolConfigSpec": {
        "type": "object",
        "description": "A boxed array of *DVSNetworkResourcePoolConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSNetworkResourcePoolConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchPortConnectee": {
        "type": "object",
        "description": "Information about the entity that connects to a DistributedVirtualPort.\n",
        "properties": {
          "connectedEntity": {
            "description": "The connected entity.\n\nThis property should always be set unless the user's setting\ndoes not have System.Read privilege on the object referred to\nby this property.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "nicKey": {
            "description": "The key of the virtual NIC that connects to this port.\n",
            "type": "string"
          },
          "type": {
            "description": "The type of the connectee.\n\nSee *ConnecteeType* for valid values.\n",
            "type": "string"
          },
          "addressHint": {
            "description": "A hint on address information of the NIC that connects to this port.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchPortConnectee": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchPortConnectee*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchPortConnectee"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchPortConnection": {
        "type": "object",
        "description": "The *DistributedVirtualSwitchPortConnection* data object represents a connection\nor association between a *DistributedVirtualPortgroup* or a\n*DistributedVirtualPort* and one of the following entities:\n- Virtual machine virtual NIC\n  (*VirtualEthernetCardDistributedVirtualPortBackingInfo*)\n- Host virtual NIC (*HostVirtualNic*)\n- Physical NIC (*HostNetworkInfo*.*HostNetworkInfo.pnic*)\n",
        "properties": {
          "switchUuid": {
            "description": "UUID of the switch (*DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid*).\n",
            "type": "string"
          },
          "portgroupKey": {
            "description": "Key of the portgroup.\n\nIf specified, the connection object represents a connection\nor an association between a *DistributedVirtualPortgroup*\nand a Virtual NIC or physical NIC.\nIn this case, setting the *DistributedVirtualSwitchPortConnection.portKey* is not necessary for a\nearly-binding portgroup and is not allowed for a late-binding portgroup.\nThe *DistributedVirtualSwitchPortConnection.portKey* property will be populated by the implementation\nat the time of port binding.\n",
            "type": "string"
          },
          "portKey": {
            "description": "Key of the port.\n\nIf specified, this object represents a connection\nor an association between an individual *DistributedVirtualPort*\nand a Virtual NIC or physical NIC. See *DistributedVirtualSwitchPortConnection.portgroupKey* for more information on populating\nthis property.\n",
            "type": "string"
          },
          "connectionCookie": {
            "description": "Cookie that represents this *DistributedVirtualSwitchPortConnection*\ninstance for the port.\n\nThe cookie value is generated by the\nServer. The Server ignores any value set by an SDK client.\n\nThe same cookie is present in the distributed virtual port configuration\n(*DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie*)\nso that the Server can verify that the entity is the rightful\nconnectee of the port.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "switchUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchPortConnection": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchPortConnection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchPortConnection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchPortCriteria": {
        "type": "object",
        "description": "The criteria specification for selecting ports.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "connected": {
            "description": "If set, only the connected ports are qualified.\n",
            "type": "boolean"
          },
          "active": {
            "description": "If set, only the active ports are qualified.\n",
            "type": "boolean"
          },
          "uplinkPort": {
            "description": "If set to true, only the uplink ports are qualified.\n\nIf set to false, only\nnon-uplink ports are qualified.\n",
            "type": "boolean"
          },
          "nsxPort": {
            "description": "If set to true, only the NSX ports are qualified.\n\nIf set to false, only\nnon-NSX ports are qualified.\nNSX ports are ports of NSX port group.\n",
            "type": "boolean"
          },
          "scope": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5.\n\nIf set, only the ports of which the scope covers the entity are\nqualified.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "portgroupKey": {
            "description": "The keys of the portgroup that is used for the scope of *DistributedVirtualSwitchPortCriteria.inside*.\n\nIf this property is unset, it means any portgroup. If *DistributedVirtualSwitchPortCriteria.inside*\nis unset, this property is ignored.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "inside": {
            "description": "If unset, all ports in the switch are qualified.\n\nIf set to true, only ports inside *DistributedVirtualSwitchPortCriteria.portgroupKey* or any\nportgroup, if not set, are qualified.\nIf set to false, only ports outside *DistributedVirtualSwitchPortCriteria.portgroupKey* or any\nportgroup, if not set, are qualified.\n",
            "type": "boolean"
          },
          "portKey": {
            "description": "If set, only the ports of which the key is in the array are\nqualified.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "host": {
            "description": "If set, only the ports that are present in one of the host are qualified.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchPortCriteria": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchPortCriteria*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchPortCriteria"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchPortStatistics": {
        "type": "object",
        "description": "Statistic data of a DistributedVirtualPort.\n",
        "properties": {
          "packetsInMulticast": {
            "description": "The number of multicast packets received.\n",
            "type": "integer",
            "format": "int64"
          },
          "packetsOutMulticast": {
            "description": "The number of multicast packets forwarded.\n",
            "type": "integer",
            "format": "int64"
          },
          "bytesInMulticast": {
            "description": "The number of bytes received from multicast packets.\n",
            "type": "integer",
            "format": "int64"
          },
          "bytesOutMulticast": {
            "description": "The number of bytes forwarded from multicast packets.\n",
            "type": "integer",
            "format": "int64"
          },
          "packetsInUnicast": {
            "description": "The number of unicast packets received.\n",
            "type": "integer",
            "format": "int64"
          },
          "packetsOutUnicast": {
            "description": "The number of unicast packets forwarded.\n",
            "type": "integer",
            "format": "int64"
          },
          "bytesInUnicast": {
            "description": "The number of bytes received from unicast packets.\n",
            "type": "integer",
            "format": "int64"
          },
          "bytesOutUnicast": {
            "description": "The number of bytes forwarded from unicast packets.\n",
            "type": "integer",
            "format": "int64"
          },
          "packetsInBroadcast": {
            "description": "The number of broadcast packets received.\n",
            "type": "integer",
            "format": "int64"
          },
          "packetsOutBroadcast": {
            "description": "The number of broadcast packets forwarded.\n",
            "type": "integer",
            "format": "int64"
          },
          "bytesInBroadcast": {
            "description": "The number of bytes received from broadcast packets.\n",
            "type": "integer",
            "format": "int64"
          },
          "bytesOutBroadcast": {
            "description": "The number of bytes forwarded from broadcast packets.\n",
            "type": "integer",
            "format": "int64"
          },
          "packetsInDropped": {
            "description": "The number of received packets dropped.\n",
            "type": "integer",
            "format": "int64"
          },
          "packetsOutDropped": {
            "description": "The number of packets to be forwarded dropped.\n",
            "type": "integer",
            "format": "int64"
          },
          "packetsInException": {
            "description": "The number of packets received that cause an exception.\n",
            "type": "integer",
            "format": "int64"
          },
          "packetsOutException": {
            "description": "The number of packets to be forwarded that cause an exception.\n",
            "type": "integer",
            "format": "int64"
          },
          "bytesInFromPnic": {
            "description": "The number of bytes received at a pnic on the behalf of a port's\nconnectee (inter-host rx).\n",
            "type": "integer",
            "format": "int64"
          },
          "bytesOutToPnic": {
            "description": "The number of bytes transmitted at a pnic on the behalf of a port's\nconnectee (inter-host tx).\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "packetsInMulticast",
          "packetsOutMulticast",
          "bytesInMulticast",
          "bytesOutMulticast",
          "packetsInUnicast",
          "packetsOutUnicast",
          "bytesInUnicast",
          "bytesOutUnicast",
          "packetsInBroadcast",
          "packetsOutBroadcast",
          "bytesInBroadcast",
          "bytesOutBroadcast",
          "packetsInDropped",
          "packetsOutDropped",
          "packetsInException",
          "packetsOutException"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchPortStatistics": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchPortStatistics*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchPortStatistics"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DistributedVirtualSwitchProductSpec": {
        "type": "object",
        "description": "This data object type is a subset of *AboutInfo*.\n\nAn object of\nthis type can be used to describe the specification for a proxy switch module\nof a *DistributedVirtualSwitch*.\n",
        "properties": {
          "name": {
            "description": "Short form of the product name.\n",
            "type": "string"
          },
          "vendor": {
            "description": "Name of the vendor of this product.\n",
            "type": "string"
          },
          "version": {
            "description": "Dot-separated version string.\n\nFor example, \"1.2\".\n",
            "type": "string"
          },
          "build": {
            "description": "Build string for the server on which this call is made.\n\nFor example, x.y.z-num.\nThis string does not apply to the API.\n",
            "type": "string"
          },
          "forwardingClass": {
            "description": "Forwarding class of the distributed virtual switch.\n",
            "type": "string"
          },
          "bundleId": {
            "description": "The ID of the bundle if a host component bundle needs to be installed on\nthe host members to support the functionality of the switch.\n",
            "type": "string"
          },
          "bundleUrl": {
            "description": "The URL of the bundle that VMware Update Manager will use to install\nthe bundle on the host members, if *DistributedVirtualSwitchProductSpec.bundleId* is set.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDistributedVirtualSwitchProductSpec": {
        "type": "object",
        "description": "A boxed array of *DistributedVirtualSwitchProductSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsTrafficRule": {
        "type": "object",
        "description": "This class defines a single rule that will be applied to network traffic.\n",
        "properties": {
          "key": {
            "description": "The key of the rule\n",
            "type": "string"
          },
          "description": {
            "description": "Description of the rule\n",
            "type": "string"
          },
          "sequence": {
            "description": "Sequence of this rule.\n\ni.e, the order in which this rule appears\nin the ruleset.\n",
            "type": "integer",
            "format": "int32"
          },
          "qualifier": {
            "description": "List of Network rule qualifiers.\n\n'AND' of this array of\nnetwork rule qualifiers is applied as one network traffic rule.\nIf the TrafficRule belongs to\n*DvsFilterPolicy* :\nThere can be a maximum of 1 *DvsIpNetworkRuleQualifier*,\n1 *DvsMacNetworkRuleQualifier* and\n1 *DvsSystemTrafficNetworkRuleQualifier* for a total of\n3 *DvsTrafficRule.qualifier*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsNetworkRuleQualifier"
            }
          },
          "action": {
            "description": "Action to be applied for this rule.\n",
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          },
          "direction": {
            "description": "Whether this rule needs to be applied to incoming packets,\nto outgoing packets or both.\n\nSee *DvsNetworkRuleDirectionType_enum* for valid values.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsTrafficRule": {
        "type": "object",
        "description": "A boxed array of *DvsTrafficRule*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsTrafficRule"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsAcceptNetworkRuleAction": {
        "type": "object",
        "description": "This class defines network rule action to accept packets.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          }
        ]
      },
      "ArrayOfDvsAcceptNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsAcceptNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsAcceptNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsNetworkRuleAction": {
        "type": "object",
        "description": "This class is the base class for network rule action.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsCopyNetworkRuleAction": {
        "type": "object",
        "description": "This class defines network rule action to copy the packet to an\nassociated slow-path service Virtual Machine and let the original\nframe continue.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          }
        ]
      },
      "ArrayOfDvsCopyNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsCopyNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsCopyNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsDropNetworkRuleAction": {
        "type": "object",
        "description": "This class defines network rule action to drop packets.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          }
        ]
      },
      "ArrayOfDvsDropNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsDropNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsDropNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsGreEncapNetworkRuleAction": {
        "type": "object",
        "description": "This class defines network rule action to GRE Encapsulate a packet.\n",
        "properties": {
          "encapsulationIp": {
            "description": "Single IP address.\n\nOnly IPv4 is supported for vSphere API 5.5.\n",
            "$ref": "#/components/schemas/SingleIp"
          }
        },
        "required": [
          "encapsulationIp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          }
        ]
      },
      "ArrayOfDvsGreEncapNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsGreEncapNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsGreEncapNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsIpPort": {
        "type": "object",
        "description": "Base class for specifying Ports.\n\nObjects of the base class represent any port (single/range/list).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NegatableExpression"
          }
        ]
      },
      "ArrayOfDvsIpPort": {
        "type": "object",
        "description": "A boxed array of *DvsIpPort*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsIpPort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsIpPortRange": {
        "type": "object",
        "description": "This class defines a range of Ports.\n",
        "properties": {
          "startPortNumber": {
            "description": "Starting port number of the ports range.\n",
            "type": "integer",
            "format": "int32"
          },
          "endPortNumber": {
            "description": "Ending port number of the ports range.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "startPortNumber",
          "endPortNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsIpPort"
          }
        ]
      },
      "ArrayOfDvsIpPortRange": {
        "type": "object",
        "description": "A boxed array of *DvsIpPortRange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsIpPortRange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsIpNetworkRuleQualifier": {
        "type": "object",
        "description": "This class defines the IP Rule Qualifier.\n\nHere IP addresses of source\nand destination will be used for classifying packets.\n",
        "properties": {
          "sourceAddress": {
            "description": "IP qualifier for source.\n\nIf this property is NULL, it will match \"any IPv4 or any IPv6 address\".\n",
            "$ref": "#/components/schemas/IpAddress"
          },
          "destinationAddress": {
            "description": "IP qualifier for destination.\n\nIf this property is NULL, it will match \"any IPv4 or any IPv6 address\".\n",
            "$ref": "#/components/schemas/IpAddress"
          },
          "protocol": {
            "description": "Protocols like TCP, UDP, ICMP etc.\n\nThe valid value for a protocol\nis got from IANA assigned value for the protocol. This can be got\nfrom RFC 5237 and IANA website section related to protocol numbers.\n",
            "$ref": "#/components/schemas/IntExpression"
          },
          "sourceIpPort": {
            "description": "Source IP Port.\n",
            "$ref": "#/components/schemas/DvsIpPort"
          },
          "destinationIpPort": {
            "description": "Destination IP Port.\n",
            "$ref": "#/components/schemas/DvsIpPort"
          },
          "tcpFlags": {
            "description": "TCP flags.\n\nThe valid values can be found at RFC 3168.\nTCP flags are not supported by Traffic Filtering\n",
            "$ref": "#/components/schemas/IntExpression"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleQualifier"
          }
        ]
      },
      "ArrayOfDvsIpNetworkRuleQualifier": {
        "type": "object",
        "description": "A boxed array of *DvsIpNetworkRuleQualifier*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsIpNetworkRuleQualifier"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsLogNetworkRuleAction": {
        "type": "object",
        "description": "This class defines network rule action to just log the rule.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          }
        ]
      },
      "ArrayOfDvsLogNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsLogNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsLogNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsMacNetworkRuleQualifier": {
        "type": "object",
        "description": "This class defines the MAC Rule Qualifier.\n\nHere MAC addresses of source\nand destination will be used for classifying packets.\n",
        "properties": {
          "sourceAddress": {
            "description": "MAC address for source.\n\nIf this property is NULL, it will match \"any MAC address\".\n",
            "$ref": "#/components/schemas/MacAddress"
          },
          "destinationAddress": {
            "description": "MAC address for destination.\n\nIf this property is NULL, it will match \"any MAC address\".\n",
            "$ref": "#/components/schemas/MacAddress"
          },
          "protocol": {
            "description": "Protocol used.\n\nThis corresponds to the EtherType field in Ethernet\nframe. The valid values can be found from IEEE list at:\nhttp://standards.ieee.org/regauth/ as mentioned in RFC 5342.\n",
            "$ref": "#/components/schemas/IntExpression"
          },
          "vlanId": {
            "description": "vlan id.\n",
            "$ref": "#/components/schemas/IntExpression"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleQualifier"
          }
        ]
      },
      "ArrayOfDvsMacNetworkRuleQualifier": {
        "type": "object",
        "description": "A boxed array of *DvsMacNetworkRuleQualifier*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsMacNetworkRuleQualifier"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsMacRewriteNetworkRuleAction": {
        "type": "object",
        "description": "This class defines network rule action to MAC Rewrite.\n",
        "properties": {
          "rewriteMac": {
            "description": "Rewrite Destination MAC with this MAC address.\n",
            "type": "string"
          }
        },
        "required": [
          "rewriteMac"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          }
        ]
      },
      "ArrayOfDvsMacRewriteNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsMacRewriteNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsMacRewriteNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPuntNetworkRuleAction": {
        "type": "object",
        "description": "This class defines network rule action to punt.\n\ni.e, forward packets\nto an associated slow-path service Virtual Machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          }
        ]
      },
      "ArrayOfDvsPuntNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsPuntNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPuntNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsNetworkRuleQualifier": {
        "type": "object",
        "description": "This class is the base class for identifying network traffic.\n",
        "properties": {
          "key": {
            "description": "The key of the Qualifier\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsNetworkRuleQualifier": {
        "type": "object",
        "description": "A boxed array of *DvsNetworkRuleQualifier*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsNetworkRuleQualifier"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsRateLimitNetworkRuleAction": {
        "type": "object",
        "description": "This class defines network rule action to ratelimit packets.\n",
        "properties": {
          "packetsPerSecond": {
            "description": "Rate limit value specified in packets per second.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "packetsPerSecond"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          }
        ]
      },
      "ArrayOfDvsRateLimitNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsRateLimitNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsRateLimitNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsSingleIpPort": {
        "type": "object",
        "description": "This class defines a Single Port\n",
        "properties": {
          "portNumber": {
            "description": "The IP port number.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "portNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsIpPort"
          }
        ]
      },
      "ArrayOfDvsSingleIpPort": {
        "type": "object",
        "description": "A boxed array of *DvsSingleIpPort*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsSingleIpPort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsSystemTrafficNetworkRuleQualifier": {
        "type": "object",
        "description": "This class defines the System Traffic Qualifier.\n\nHere the type of\ntraffic will be used for classifying packets.\n",
        "properties": {
          "typeOfSystemTraffic": {
            "description": "Type of system traffic.\n\nSee *DistributedVirtualSwitchHostInfrastructureTrafficClass_enum*\nfor valid values.\n",
            "$ref": "#/components/schemas/StringExpression"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleQualifier"
          }
        ]
      },
      "ArrayOfDvsSystemTrafficNetworkRuleQualifier": {
        "type": "object",
        "description": "A boxed array of *DvsSystemTrafficNetworkRuleQualifier*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsSystemTrafficNetworkRuleQualifier"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsUpdateTagNetworkRuleAction": {
        "type": "object",
        "description": "This class defines network rule action to tag packets(qos,dscp) or\nclear tags(clear qos, dscp tags) on packets.\n\nOne or both of qos and dscp may be specified.\n",
        "properties": {
          "qosTag": {
            "description": "QOS tag.\n\nIEEE 802.1p supports 3 bit Priority Code Point (PCP).\nThe valid values are between 0-7. Please refer the IEEE 802.1p\ndocumentation for more details about what each value represents.\nIf qosTag is set to 0 then the tag on the packets will be cleared.\n",
            "type": "integer",
            "format": "int32"
          },
          "dscpTag": {
            "description": "DSCP tag.\n\nThe valid values for DSCP tag can be found in\n'Differentiated Services Field Codepoints' section of IANA website.\nThe information can also be got from reading all of the below RFC:\nRFC 2474, RFC 2597, RFC 3246, RFC 5865.\nIf the dscpTag is set to 0 then the dscp tag on packets will be cleared.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsNetworkRuleAction"
          }
        ]
      },
      "ArrayOfDvsUpdateTagNetworkRuleAction": {
        "type": "object",
        "description": "A boxed array of *DvsUpdateTagNetworkRuleAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsUpdateTagNetworkRuleAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsTrafficRuleset": {
        "type": "object",
        "description": "This class defines a ruleset(set of rules) that will be\napplied to network traffic.\n",
        "properties": {
          "key": {
            "description": "The key of the ruleset.\n",
            "type": "string"
          },
          "enabled": {
            "description": "Whether ruleset is enabled or not.\n",
            "type": "boolean"
          },
          "precedence": {
            "description": "Precedence of the ruleset.\n\nRulesets for a port will be executed\nin the order of their precedence.\n",
            "type": "integer",
            "format": "int32"
          },
          "rules": {
            "description": "List of rules belonging to this ruleset.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsTrafficRule"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsTrafficRuleset": {
        "type": "object",
        "description": "A boxed array of *DvsTrafficRuleset*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsTrafficRuleset"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSVmVnicNetworkResourcePool": {
        "type": "object",
        "description": "DataObject describing the resource configuration and management of\nvirtual NIC network resource pools.\n",
        "properties": {
          "key": {
            "description": "The key of the virtual NIC network resource pool.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the virtual NIC network resource pool.\n",
            "type": "string"
          },
          "description": {
            "description": "The description of the virtual NIC network resource pool.\n",
            "type": "string"
          },
          "configVersion": {
            "description": "The config version for the virtual NIC network resource pool.\n",
            "type": "string"
          },
          "allocationInfo": {
            "description": "The resource settings of the virtual NIC network resource pool.\n",
            "$ref": "#/components/schemas/DvsVmVnicResourceAllocation"
          }
        },
        "required": [
          "key",
          "configVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDVSVmVnicNetworkResourcePool": {
        "type": "object",
        "description": "A boxed array of *DVSVmVnicNetworkResourcePool*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSVmVnicNetworkResourcePool"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsVmVnicResourcePoolConfigSpec": {
        "type": "object",
        "description": "The configuration specification data object to update the resource configuration\nfor a virtual NIC network resource pool.\n",
        "properties": {
          "operation": {
            "description": "The type of operation on the virtual NIC network resource pool\nPossible value can be of\n*ConfigSpecOperation_enum*\n",
            "type": "string"
          },
          "key": {
            "description": "The key of the network resource pool.\n\nThe property is ignored for add\noperations.\n",
            "type": "string"
          },
          "configVersion": {
            "description": "The configVersion is a unique identifier for a given version\nof the configuration.\n\nEach change to the configuration will\nupdate this value. This is typically implemented as a\nnon-decreasing count or a time-stamp. However, a client should\nalways treat this as an opaque string.\n\nIf specified when updating the resource configuration, the\nchanges will only be applied if the current configVersion matches the\nspecified configVersion. This field can be used to guard against\nupdates that that may have occurred between the time when configVersion\nwas read and when it is applied.\n",
            "type": "string"
          },
          "allocationInfo": {
            "description": "The resource allocation for the virtual NIC network resource pool.\n",
            "$ref": "#/components/schemas/DvsVmVnicResourceAllocation"
          },
          "name": {
            "description": "The name for the virtual NIC network resource pool.\n\nThe property is required for Add operations.\n",
            "type": "string"
          },
          "description": {
            "description": "The description for the virtual NIC network resource pool.\n",
            "type": "string"
          }
        },
        "required": [
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsVmVnicResourcePoolConfigSpec": {
        "type": "object",
        "description": "A boxed array of *DvsVmVnicResourcePoolConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsVmVnicResourcePoolConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsVmVnicResourceAllocation": {
        "type": "object",
        "description": "Resource allocation information for a virtual NIC network resource pool.\n",
        "properties": {
          "reservationQuota": {
            "description": "Quota for the total amount of virtual machine nic reservation in this pool.\n\nUnit in Mbits/sec.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsVmVnicResourceAllocation": {
        "type": "object",
        "description": "A boxed array of *DvsVmVnicResourceAllocation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsVmVnicResourceAllocation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsVmVnicNetworkResourcePoolRuntimeInfo": {
        "type": "object",
        "description": "This class defines the runtime information for the\nvirtual NIC network resource pool\n",
        "properties": {
          "key": {
            "description": "The key of the virtual NIC network resource pool\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the virtual NIC network resource pool\n",
            "type": "string"
          },
          "capacity": {
            "description": "Capacity: Reservation allocated for this Network Resource Pool.\n\nUnits in Mbits/s.\n",
            "type": "integer",
            "format": "int32"
          },
          "usage": {
            "description": "usage: Reservation taken by all *VirtualEthernetCard* for which the\nbacking is associdated with this *DVSVmVnicNetworkResourcePool*.\n\nUnits in Mbits/s.\n",
            "type": "integer",
            "format": "int32"
          },
          "available": {
            "description": "Available: Current available resource for reservation (capacity - usage).\n\nUnits in Mbits/s.\n",
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "description": "The status of the virtual NIC network resource pool\nSee *ManagedEntityStatus_enum* for possible values\n\n*red* indicates that the\nreservations used by all the virtual network adapters belonging\nto this resource pool exceeds the total reservation quota allocated to the\nresource pool. This can happen due to failure of one or more uplink\nor if the user bypasses VirtualCenter and powers on VMs directly on host.\nThe reservation of one or more virtual network adapters cannot be guaranteed\nand corrective action needs to be taken by the user.\n\n*green* indicates that the resource pool\nis in good state. The reservations for all virtual network adapters can\nbe fulfilled.\n",
            "type": "string"
          },
          "allocatedResource": {
            "description": "The virtual network adapaters that\nare currently associated with the resource pool\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsVnicAllocatedResource"
            }
          }
        },
        "required": [
          "key",
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *DvsVmVnicNetworkResourcePoolRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsVmVnicNetworkResourcePoolRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsVnicAllocatedResource": {
        "type": "object",
        "description": "This class defines the allocated resource information on a virtual NIC\n",
        "properties": {
          "vm": {
            "description": "The virtual machine\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vnicKey": {
            "description": "The virtual NIC key\n",
            "type": "string"
          },
          "reservation": {
            "description": "The reservation specification on the virtual NIC.\n\nUnits in Mbits/s\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "vm",
          "vnicKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsVnicAllocatedResource": {
        "type": "object",
        "description": "A boxed array of *DvsVnicAllocatedResource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsVnicAllocatedResource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSConfigInfo": {
        "type": "object",
        "description": "This class defines the VMware specific configuration for\nDistributedVirtualSwitch.\n",
        "properties": {
          "vspanSession": {
            "description": "The Distributed Port Mirroring sessions in the switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareVspanSession"
            }
          },
          "pvlanConfig": {
            "description": "The PVLAN configured in the switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSPvlanMapEntry"
            }
          },
          "maxMtu": {
            "description": "The maximum MTU in the switch.\n",
            "type": "integer",
            "format": "int32"
          },
          "linkDiscoveryProtocolConfig": {
            "description": "See *LinkDiscoveryProtocolConfig*.\n",
            "$ref": "#/components/schemas/LinkDiscoveryProtocolConfig"
          },
          "ipfixConfig": {
            "description": "Configuration for ipfix monitoring of the switch traffic.\n\nThis must be\nset before ipfix monitoring can be enabled for the switch, or for any\nportgroup or port of the switch.\n\nSee also *VMwareDVSPortSetting.ipfixEnabled*.\n",
            "$ref": "#/components/schemas/VMwareIpfixConfig"
          },
          "lacpGroupConfig": {
            "description": "The Link Aggregation Control Protocol groups in the switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsLacpGroupConfig"
            }
          },
          "lacpApiVersion": {
            "description": "The Link Aggregation Control Protocol group version in the switch.\n\nSee *VMwareDvsLacpApiVersion_enum* for valid values.\n",
            "type": "string"
          },
          "multicastFilteringMode": {
            "description": "The Multicast Filtering mode in the switch.\n\nSee *VMwareDvsMulticastFilteringMode_enum* for valid values.\n",
            "type": "string"
          },
          "networkOffloadSpecId": {
            "description": "Indicate the ID of NetworkOffloadSpec used in the switch.\n\nID \"None\" means that network offload is not allowed in the switch.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          },
          "networkOffloadConfig": {
            "description": "The network offload specific configuration of the switch.\n\nIt is only set when network offload is allowed\n(*VMwareDVSConfigInfo.networkOffloadSpecId*\nis not \"None\").\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchNetworkOffloadConfig"
          }
        },
        "required": [
          "maxMtu"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSConfigInfo"
          }
        ]
      },
      "ArrayOfVMwareDVSConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSConfigSpec": {
        "type": "object",
        "description": "This class defines the VMware specific configuration for\nDistributedVirtualSwitch.\n",
        "properties": {
          "pvlanConfigSpec": {
            "description": "The PVLAN configuration specification.\n\nA *VMwareDVSPvlanMapEntry*\nthat has the same value for\n*VMwareDVSPvlanMapEntry.primaryVlanId* and\n*VMwareDVSPvlanMapEntry.secondaryVlanId*\nis referred to as a primary PVLAN entry.\nOtherwise, the *VMwareDVSPvlanMapEntry*\nis referred to as a secondary PVLAN entry.\n\nThe *VMwareDVSPvlanMapEntry.pvlanType*\nof a primary PVLAN entry must be\n*promiscuous*.\nA secondary PVLAN entry can have a\n*VMwareDVSPvlanMapEntry.pvlanType*\nof either\n*community* or\n*isolated*.\n\nPrimary PVLAN entries must be explicitly added.\nIf there is no primary PVLAN entry corresponding to the\n*VMwareDVSPvlanMapEntry.primaryVlanId*\nof a secondary PVLAN entry, a fault is thrown.\n\nWhile deleting a primary PVLAN entry, any associated secondary PVLAN\nentries must be explicitly deleted.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSPvlanConfigSpec"
            }
          },
          "vspanConfigSpec": {
            "description": "The Distributed Port Mirroring configuration specification.\n\nThe VSPAN\nsessions in the array cannot be of the same key.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSVspanConfigSpec"
            }
          },
          "maxMtu": {
            "description": "The maximum MTU in the switch.\n",
            "type": "integer",
            "format": "int32"
          },
          "linkDiscoveryProtocolConfig": {
            "description": "See *LinkDiscoveryProtocolConfig*.\n",
            "$ref": "#/components/schemas/LinkDiscoveryProtocolConfig"
          },
          "ipfixConfig": {
            "description": "Configuration for ipfix monitoring of the switch traffic.\n\nThis must be\nset before ipfix monitoring can be enabled for the switch, or for any\nportgroup or port of the switch.\n\nSee also *VMwareDVSPortSetting.ipfixEnabled*.\n",
            "$ref": "#/components/schemas/VMwareIpfixConfig"
          },
          "lacpApiVersion": {
            "description": "The Link Aggregation Control Protocol group version in the switch.\n\nSee *VMwareDvsLacpApiVersion_enum* for valid values.\n",
            "type": "string"
          },
          "multicastFilteringMode": {
            "description": "The Multicast Filtering mode in the switch.\n\nSee *VMwareDvsMulticastFilteringMode_enum* for valid values.\n",
            "type": "string"
          },
          "networkOffloadSpecId": {
            "description": "Indicate the ID of NetworkOffloadSpec used in the switch.\n\nUnset it when network offload is not allowed when creating a switch.\nUse ID \"None\" to change network offload from allowed to not allowed.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          },
          "networkOffloadConfig": {
            "description": "The network offload specific configuration of the switch.\n\nThis can be set only when network offload is allowed\n(*VMwareDVSConfigInfo.networkOffloadSpecId*\nis not \"None\").\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchNetworkOffloadConfig"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSConfigSpec"
          }
        ]
      },
      "ArrayOfVMwareDVSConfigSpec": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmwareDistributedVirtualSwitchDpuFailoverPolicy": {
        "type": "object",
        "description": "This data structure defines the failover policy for a distributed\nvirtual switch when network offload is enabled, specifically\nrelated to the Data Processing Unit(DPU).\n\nThe active and standby uplinks are expected to be backed by different\nDPUs to provide redundancy. If DPU backing active uplinks fails, then\nthe standby DPU takes over to ensure uninterrupted network connectivity.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "activeUplink": {
            "description": "The name of the active uplink(s).\n\nThese uplink(s) must be backed\nby vmnic(s) from a single DPU.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "standbyUplink": {
            "description": "The name of the standby uplink(s).\n\nThese uplink(s) must be backed\nby vmnic(s) from a different DPU than the active uplink(s).\nAn empty standbyUplink indicates that no failover action will be\ntaken after the active DPU fails.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmwareDistributedVirtualSwitchDpuFailoverPolicy": {
        "type": "object",
        "description": "A boxed array of *VmwareDistributedVirtualSwitchDpuFailoverPolicy*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchDpuFailoverPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDvsDpuCapability": {
        "type": "object",
        "description": "The feature capabilities of Dpu Features supported by the\nvSphere Distributed Switch.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "networkOffloadSupported": {
            "description": "Flag to indicate whether network offloading is supported on the\nvSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "activeStandbyModeSupported": {
            "description": "Flag to indicate whether the vSphere Distributed Switch supports\nconnecting two DPUs to an offloading VDS and operating in an\nactive-standby mode.\n\nIf not set, the feature is not supported.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDvsDpuCapability": {
        "type": "object",
        "description": "A boxed array of *VMwareDvsDpuCapability*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsDpuCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSFailureCriteria": {
        "type": "object",
        "description": "This data object type describes the network adapter failover\ndetection algorithm for a network adapter team.\n",
        "properties": {
          "checkSpeed": {
            "description": "To use link speed as the criteria, _checkSpeed_ must be one of\nthe following values:\n- **exact**: Use exact speed to detect link failure.\n  **speed** is the configured exact speed in megabits per second.\n- **minimum**: Use minimum speed to detect failure.\n  **speed** is the configured minimum speed in megabits per second.\n- **empty string**: Do not use link speed to detect failure.\n  **speed** is unused in this case.\n",
            "$ref": "#/components/schemas/StringPolicy"
          },
          "speed": {
            "description": "See also *DVSFailureCriteria.checkSpeed*.\n",
            "$ref": "#/components/schemas/IntPolicy"
          },
          "checkDuplex": {
            "description": "The flag to indicate whether or not to use the link duplex reported\nby the driver as link selection criteria.\n\nIf **checkDuplex** is true, then fullDuplex is the configured\nduplex mode. The link is considered bad if the link duplex reported\nby driver is not the same as fullDuplex.\n\nIf **checkDuplex** is false, then fullDuplex is unused, and\nlink duplexity is not used as a detection method.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "fullDuplex": {
            "description": "See also *DVSFailureCriteria.checkDuplex*.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "checkErrorPercent": {
            "description": "The flag to indicate whether or not to use link error percentage\nto detect failure.\n\nIf **checkErrorPercent** is true, then percentage is the configured\nerror percentage that is tolerated. The link is considered bad\nif error rate exceeds percentage.\n\nIf **checkErrorPercent** is false, percentage is unused, and\nerror percentage is not used as a detection method.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "percentage": {
            "description": "See also *DVSFailureCriteria.checkErrorPercent*.\n",
            "$ref": "#/components/schemas/IntPolicy"
          },
          "checkBeacon": {
            "description": "The flag to indicate whether or not to enable this property to\nenable beacon probing as a method to validate\nthe link status of a physical network adapter.\n\n**checkBeacon** can be enabled only if the VirtualSwitch has been\nconfigured to use the beacon. Attempting to set **checkBeacon**\non a PortGroup or VirtualSwitch that does not have beacon probing\nconfigured for the applicable VirtualSwitch results in an error.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfDVSFailureCriteria": {
        "type": "object",
        "description": "A boxed array of *DVSFailureCriteria*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSFailureCriteria"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSFeatureCapability": {
        "type": "object",
        "description": "Indicators of support for version-specific DVS features that are only\navailable on a VMware-class switch.\n",
        "properties": {
          "vspanSupported": {
            "description": "Flag to indicate whether vspan(DVMirror) is supported on the\nvSphere Distributed Switch.\n\nDistributed Port Mirroring is supported in vSphere Distributed Switch Version 5.0 or later.\n",
            "type": "boolean"
          },
          "lldpSupported": {
            "description": "Flag to indicate whether LLDP(Link Layer Discovery Protocol) is supported on the\nvSphere Distributed Switch.\n\nLLDP is supported in vSphere Distributed Switch Version 5.0 or later.\n",
            "type": "boolean"
          },
          "ipfixSupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0, use *VMwareDvsIpfixCapability*.\n\nFlag to indicate whether IPFIX(NetFlow) is supported on the\nvSphere Distributed Switch.\n\nIPFIX is supported in vSphere Distributed Switch Version 5.0 or later.\n",
            "type": "boolean"
          },
          "ipfixCapability": {
            "description": "The support for version-specific IPFIX(NetFlow).\n",
            "$ref": "#/components/schemas/VMwareDvsIpfixCapability"
          },
          "multicastSnoopingSupported": {
            "description": "Flag to indicate whether multicast snooping(IGMP/MLD Snooping)\nis supported on the vSphere Distributed Switch.\n\nIGMP/MLD Snooping is supported in vSphere Distributed Switch Version 6.0 or later.\n",
            "type": "boolean"
          },
          "vspanCapability": {
            "description": "The support for version-specific Distributed Port Mirroring sessions.\n",
            "$ref": "#/components/schemas/VMwareDVSVspanCapability"
          },
          "lacpCapability": {
            "description": "The support for version-specific Link Aggregation Control Protocol.\n",
            "$ref": "#/components/schemas/VMwareDvsLacpCapability"
          },
          "dpuCapability": {
            "description": "The support for version-specific DPU(SmartNic).\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/VMwareDvsDpuCapability"
          },
          "nsxSupported": {
            "description": "Flag to indicate whether NSX is supported on the\nvSphere Distributed Switch.\n\nNSX is supported in vSphere Distributed Switch Version 7.0 or later.\n",
            "type": "boolean"
          },
          "mtuCapability": {
            "description": "The support for version-specific supported MTU.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "$ref": "#/components/schemas/VMwareDvsMtuCapability"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSFeatureCapability"
          }
        ]
      },
      "ArrayOfVMwareDVSFeatureCapability": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSFeatureCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSFeatureCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareIpfixConfig": {
        "type": "object",
        "description": "Configuration for IPFIX monitoring of distributed virtual switch traffic.\n\nIPFIX monitoring must be enabled to use this capability. See\n*VMwareDVSPortSetting*.*VMwareDVSPortSetting.ipfixEnabled*.\n",
        "properties": {
          "collectorIpAddress": {
            "description": "IP address for the ipfix collector, using IPv4 or IPv6.\n\nIPv6 is supported in vSphere Distributed Switch Version 6.0 or later.\nThis must be set before ipfix monitoring can be enabled for the\nswitch, or for any portgroup or port of the switch.\n",
            "type": "string"
          },
          "collectorPort": {
            "description": "Port for the ipfix collector.\n\nThis must be set before ipfix monitoring\ncan be enabled for the switch, or for any portgroup or port of the\nswitch. Legal value range is 0-65535.\n",
            "type": "integer",
            "format": "int32"
          },
          "observationDomainId": {
            "description": "Observation Domain Id for the ipfix collector.\n\nObservation Domain Id is supported\nin vSphere Distributed Switch Version 6.0 or later.\nLegal value range is 0-((2^32)-1)\n",
            "type": "integer",
            "format": "int64"
          },
          "activeFlowTimeout": {
            "description": "The number of seconds after which \"active\" flows are forced to be\nexported to the collector.\n\nLegal value range is 60-3600. Default: 60.\n",
            "type": "integer",
            "format": "int32"
          },
          "idleFlowTimeout": {
            "description": "The number of seconds after which \"idle\" flows are forced to be\nexported to the collector.\n\nLegal value range is 10-600. Default: 15.\n",
            "type": "integer",
            "format": "int32"
          },
          "samplingRate": {
            "description": "The ratio of total number of packets to the number of packets\nanalyzed.\n\nSet to 0 to disable sampling. Legal value range is 0-16384.\nDefault: 4096.\n",
            "type": "integer",
            "format": "int32"
          },
          "internalFlowsOnly": {
            "description": "Whether to limit analysis to traffic that has both source and\ndestination served by the same host.\n\nDefault: false.\n",
            "type": "boolean"
          }
        },
        "required": [
          "activeFlowTimeout",
          "idleFlowTimeout",
          "samplingRate",
          "internalFlowsOnly"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareIpfixConfig": {
        "type": "object",
        "description": "A boxed array of *VMwareIpfixConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareIpfixConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDvsIpfixCapability": {
        "type": "object",
        "description": "The feature capabilities of Ipfix supported by the vSphere Distributed Switch.\n",
        "properties": {
          "ipfixSupported": {
            "description": "Flag to indicate whether IPFIX(NetFlow) is supported on the\nvSphere Distributed Switch.\n\nIPFIX is supported in vSphere Distributed Switch Version 5.0 or later.\n",
            "type": "boolean"
          },
          "ipv6ForIpfixSupported": {
            "description": "Flag to indicate whether IPv6 for IPFIX(NetFlow) is supported on the\nvSphere Distributed Switch.\n\nIPv6 for IPFIX is supported in vSphere Distributed Switch Version 6.0 or later.\n",
            "type": "boolean"
          },
          "observationDomainIdSupported": {
            "description": "Flag to indicate whether Observation Domain Id for IPFIX is supported\non the vSphere Distributed Switch.\n\nObservation Domain Id is supported in vSphere Distributed Switch Version 6.0 or later.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDvsIpfixCapability": {
        "type": "object",
        "description": "A boxed array of *VMwareDvsIpfixCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsIpfixCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDvsLacpCapability": {
        "type": "object",
        "description": "The feature capabilities of Link Aggregation Control Protocol supported by the\nvSphere Distributed Switch.\n",
        "properties": {
          "lacpSupported": {
            "description": "Flag to indicate whether Link Aggregation Control Protocol is supported on the\nvSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "multiLacpGroupSupported": {
            "description": "Flag to indicate whether the vSphere Distributed Switch supports more\nthan one Link Aggregation Control Protocol group to be configured.\n\nIt is suppported in vSphere Distributed Switch Version 5.5 or later.\n",
            "type": "boolean"
          },
          "lacpFastModeSupported": {
            "description": "Flag to indicate whether LACP Fast Mode is supported on the\nvSphere Distributed Switch.\n\nLACP Fast Mode is supported in vSphere Distributed Switch Version 7.0 or later.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDvsLacpCapability": {
        "type": "object",
        "description": "A boxed array of *VMwareDvsLacpCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsLacpCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDvsLacpGroupConfig": {
        "type": "object",
        "description": "This class defines VMware specific multiple IEEE 802.3ad\nDynamic Link Aggregation Control Protocol groups.\n",
        "properties": {
          "key": {
            "description": "The generated key as the identifier for the Link Aggregation group.\n",
            "type": "string"
          },
          "name": {
            "description": "The display name.\n",
            "type": "string"
          },
          "mode": {
            "description": "The mode of Link Aggregation Control Protocol.\n\nSee *VMwareUplinkLacpMode_enum* for valid values.\n",
            "type": "string"
          },
          "uplinkNum": {
            "description": "The number of uplink ports.\n",
            "type": "integer",
            "format": "int32"
          },
          "loadbalanceAlgorithm": {
            "description": "Load balance policy.\n\nSee *VMwareDvsLacpLoadBalanceAlgorithm_enum* for valid values.\n",
            "type": "string"
          },
          "vlan": {
            "description": "The VLAN Specification of the Uplink Ports in the Link Aggregation group.\n",
            "$ref": "#/components/schemas/VMwareDvsLagVlanConfig"
          },
          "ipfix": {
            "description": "Ipfix configuration of the Link Aggregation\nControl Protocol group.\n",
            "$ref": "#/components/schemas/VMwareDvsLagIpfixConfig"
          },
          "uplinkName": {
            "description": "Names for the Uplink Ports in the group.\n\nThis property is ignored in an update operation.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "uplinkPortKey": {
            "description": "Keys for the Uplink Ports in the group.\n\nThis property is ignored in an update operation.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "timeoutMode": {
            "description": "The timeout mode of LACP group.\n\nSee *VMwareUplinkLacpTimeoutMode_enum* for valid values.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDvsLacpGroupConfig": {
        "type": "object",
        "description": "A boxed array of *VMwareDvsLacpGroupConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsLacpGroupConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDvsLacpGroupSpec": {
        "type": "object",
        "description": "This class defines the configuration of a Link Aggregation\nControl Protocol group.\n",
        "properties": {
          "lacpGroupConfig": {
            "description": "The Link Aggregation Control Protocol group to be configured.\n",
            "$ref": "#/components/schemas/VMwareDvsLacpGroupConfig"
          },
          "operation": {
            "description": "Operation type, see\n*ConfigSpecOperation_enum* for valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "lacpGroupConfig",
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDvsLacpGroupSpec": {
        "type": "object",
        "description": "A boxed array of *VMwareDvsLacpGroupSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsLacpGroupSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDvsLagIpfixConfig": {
        "type": "object",
        "description": "This class defines the ipfix configuration of the Link Aggregation\nControl Protocol group.\n",
        "properties": {
          "ipfixEnabled": {
            "description": "True if ipfix monitoring is enabled in the Link Aggregation Control Protocol group.\n\nIf set, this property will override the ipfix configuration of Uplink Ports\nin the Link Aggregation Control Protocol group.\nThus they are no longer inheriting ipfix configuration from their Uplink Port Group.\nSetting this property would require\n*VMwareDVSPortgroupPolicy.ipfixOverrideAllowed*\nof all the Uplink Port Groups to be true,\notherwise ConflictingConfiguration fault will be raised.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDvsLagIpfixConfig": {
        "type": "object",
        "description": "A boxed array of *VMwareDvsLagIpfixConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsLagIpfixConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDvsLagVlanConfig": {
        "type": "object",
        "description": "This class defines the vlan configuration of the Link Aggregation\nControl Protocol group.\n",
        "properties": {
          "vlanId": {
            "description": "The VlanId range for the Uplink Ports in the Link Aggregation\nControl Protocol group.\n\nThe valid VlanId range is from 0 to 4094. Overlapping ranges are allowed.\nIf set, this property will override the VLAN configuration of Uplink Ports\nin the Link Aggregation Control Protocol group.\nThus they are no longer inheriting VLAN configuration from their Uplink Port Group.\nSetting this property would require\n*VMwareDVSPortgroupPolicy.vlanOverrideAllowed*\nof all the Uplink Port Groups to be true,\notherwise ConflictingConfiguration fault will be raised.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumericRange"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDvsLagVlanConfig": {
        "type": "object",
        "description": "A boxed array of *VMwareDvsLagVlanConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsLagVlanConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSMacLearningPolicy": {
        "type": "object",
        "description": "This data object type describes MAC learning policy of a port.\n",
        "properties": {
          "enabled": {
            "description": "The flag to indicate if source MAC address learning is allowed.\n",
            "type": "boolean"
          },
          "allowUnicastFlooding": {
            "description": "The flag to allow flooding of unlearned MAC for ingress traffic.\n",
            "type": "boolean"
          },
          "limit": {
            "description": "The maximum number of MAC addresses that can be learned.\n",
            "type": "integer",
            "format": "int32"
          },
          "limitPolicy": {
            "description": "The default switching policy after MAC limit is exceeded.\n\nSee *DVSMacLimitPolicyType_enum*\nfor valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "enabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfDVSMacLearningPolicy": {
        "type": "object",
        "description": "A boxed array of *DVSMacLearningPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSMacLearningPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSMacManagementPolicy": {
        "type": "object",
        "description": "This data object type describes MAC management policy of a port.\n",
        "properties": {
          "allowPromiscuous": {
            "description": "The flag to indicate whether or not all traffic is seen\non the port.\n",
            "type": "boolean"
          },
          "macChanges": {
            "description": "The flag to indicate whether or not the Media Access\nControl (MAC) address can be changed.\n",
            "type": "boolean"
          },
          "forgedTransmits": {
            "description": "The flag to indicate whether or not the virtual network adapter\nshould be allowed to send network traffic with a different MAC\naddress than that of the virtual network adapter.\n",
            "type": "boolean"
          },
          "macLearningPolicy": {
            "description": "The MAC learning policy.\n",
            "$ref": "#/components/schemas/DVSMacLearningPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfDVSMacManagementPolicy": {
        "type": "object",
        "description": "A boxed array of *DVSMacManagementPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSMacManagementPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDvsMtuCapability": {
        "type": "object",
        "description": "Indicators of support for version-specific supported MTU.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "minMtuSupported": {
            "description": "Minimum supported MTU on VDS.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxMtuSupported": {
            "description": "Maximum supported MTU on VDS.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "minMtuSupported",
          "maxMtuSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDvsMtuCapability": {
        "type": "object",
        "description": "A boxed array of *VMwareDvsMtuCapability*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDvsMtuCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSMtuHealthCheckResult": {
        "type": "object",
        "description": "This class defines MTU health check result of an uplink port\nin the VMware vSphered Distributed Switch.\n",
        "properties": {
          "mtuMismatch": {
            "description": "True if the MTU configured in the vSphere Distributed Switch is different from\nthe value configured in the Physical NIC, else false.\n\nIf it is true,\nMTU health check is stopped. In this case, *VMwareDVSMtuHealthCheckResult.vlanSupportSwitchMtu* and\n*VMwareDVSMtuHealthCheckResult.vlanNotSupportSwitchMtu* will not have values.\n",
            "type": "boolean"
          },
          "vlanSupportSwitchMtu": {
            "description": "The vlan's MTU setting on physical switch allows vSphere Distributed Switch\nmax MTU size packets passing.\n\nIf the vlan is not a range, but a single Id,\nboth start and end have the same value with the single vlan Id.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumericRange"
            }
          },
          "vlanNotSupportSwitchMtu": {
            "description": "The vlan's MTU setting on physical switch does not allow\nvSphere Distributed Switch max MTU size packets passing.\n\nIf the vlan is not a range, but a single Id,\nboth start and end have the same value with the single vlan Id.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumericRange"
            }
          }
        },
        "required": [
          "mtuMismatch"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostMemberUplinkHealthCheckResult"
          }
        ]
      },
      "ArrayOfVMwareDVSMtuHealthCheckResult": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSMtuHealthCheckResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSMtuHealthCheckResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmwareDistributedVirtualSwitchNetworkOffloadConfig": {
        "type": "object",
        "description": "This data structure defines the network offoad specific configuration of\na distributed virtual switch.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "dpuFailoverPolicy": {
            "description": "The DPU failover policy of the switch.\n\nIf this property is not set, all uplink ports are active uplinks.\n",
            "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchDpuFailoverPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmwareDistributedVirtualSwitchNetworkOffloadConfig": {
        "type": "object",
        "description": "A boxed array of *VmwareDistributedVirtualSwitchNetworkOffloadConfig*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchNetworkOffloadConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSPvlanConfigSpec": {
        "type": "object",
        "description": "This class defines the configuration of a PVLAN map entry\n",
        "properties": {
          "pvlanEntry": {
            "description": "The PVLAN entry to be added or removed.\n",
            "$ref": "#/components/schemas/VMwareDVSPvlanMapEntry"
          },
          "operation": {
            "description": "Operation type.\n\nSee\n*ConfigSpecOperation_enum* for valid values,\nexcept for the \"edit\" value, which is not supported.\n",
            "type": "string"
          }
        },
        "required": [
          "pvlanEntry",
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDVSPvlanConfigSpec": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSPvlanConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSPvlanConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSPvlanMapEntry": {
        "type": "object",
        "description": "The class represents a PVLAN id.\n",
        "properties": {
          "primaryVlanId": {
            "description": "The primary VLAN ID.\n\nThe VLAN IDs of 0 and 4095 are reserved\nand cannot be used in this property.\n",
            "type": "integer",
            "format": "int32"
          },
          "secondaryVlanId": {
            "description": "The secondary VLAN ID.\n\nThe VLAN IDs of 0 and 4095 are reserved\nand cannot be used in this property.\n",
            "type": "integer",
            "format": "int32"
          },
          "pvlanType": {
            "description": "The type of PVLAN.\n\nSee *VmwareDistributedVirtualSwitchPvlanPortType_enum*\nfor valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "primaryVlanId",
          "secondaryVlanId",
          "pvlanType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDVSPvlanMapEntry": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSPvlanMapEntry*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSPvlanMapEntry"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmwareDistributedVirtualSwitchPvlanSpec": {
        "type": "object",
        "description": "This data type defines the configuration when PVLAN id is to be\nused for the ports.\n",
        "properties": {
          "pvlanId": {
            "description": "The *VMwareDVSPvlanMapEntry.secondaryVlanId*.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "pvlanId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchVlanSpec"
          }
        ]
      },
      "ArrayOfVmwareDistributedVirtualSwitchPvlanSpec": {
        "type": "object",
        "description": "A boxed array of *VmwareDistributedVirtualSwitchPvlanSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchPvlanSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVSSecurityPolicy": {
        "type": "object",
        "description": "This data object type describes security policy governing ports.\n",
        "properties": {
          "allowPromiscuous": {
            "description": "The flag to indicate whether or not all traffic is seen\non the port.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "macChanges": {
            "description": "The flag to indicate whether or not the Media Access\nControl (MAC) address can be changed.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "forgedTransmits": {
            "description": "The flag to indicate whether or not the virtual network adapter\nshould be allowed to send network traffic with a different MAC\naddress than that of the virtual network adapter.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfDVSSecurityPolicy": {
        "type": "object",
        "description": "A boxed array of *DVSSecurityPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVSSecurityPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSTeamingHealthCheckConfig": {
        "type": "object",
        "description": "This class defines the teaming health check configuration.\n\nTeaming health check is used to check whether the teaming policy configuration\nof the vSphere Distributed Switch matches the physical switch.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VMwareDVSHealthCheckConfig"
          }
        ]
      },
      "ArrayOfVMwareDVSTeamingHealthCheckConfig": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSTeamingHealthCheckConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSTeamingHealthCheckConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSTeamingHealthCheckResult": {
        "type": "object",
        "description": "This class defines teaming health check result of a host that\njoined the VMware vSphered Distributed Switch.\n",
        "properties": {
          "teamingStatus": {
            "description": "Teaming check status.\n\nSee *VMwareDVSTeamingMatchStatus_enum*\nfor valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "teamingStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostMemberHealthCheckResult"
          }
        ]
      },
      "ArrayOfVMwareDVSTeamingHealthCheckResult": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSTeamingHealthCheckResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSTeamingHealthCheckResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmwareDistributedVirtualSwitchTrunkVlanSpec": {
        "type": "object",
        "description": "This data type specifies that the port uses trunk mode,\nwhich allows the guest operating system to manage its own VLAN tags.\n",
        "properties": {
          "vlanId": {
            "description": "The VlanId range for the trunk port.\n\nThe valid VlanId range is\nfrom 0 to 4094. Overlapping ranges are allowed.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumericRange"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchVlanSpec"
          }
        ]
      },
      "ArrayOfVmwareDistributedVirtualSwitchTrunkVlanSpec": {
        "type": "object",
        "description": "A boxed array of *VmwareDistributedVirtualSwitchTrunkVlanSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchTrunkVlanSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareUplinkLacpPolicy": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5.\n\nThis class defines VMware specific Link Aggregation Control Protocol\npolicy.\n",
        "properties": {
          "enable": {
            "description": "The flag to indicate whether or not\nLink Aggregation Control Protocol is enabled.\n\nIt can be set to true if the value of\n*VMwareDVSConfigInfo.lacpApiVersion*\nis *singleLag*,\nelse an exception ConflictingConfiguration will be thrown.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "mode": {
            "description": "The mode of Link Aggregation Control Protocol.\n\nSee *VMwareUplinkLacpMode_enum* for valid values.\n",
            "$ref": "#/components/schemas/StringPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfVMwareUplinkLacpPolicy": {
        "type": "object",
        "description": "A boxed array of *VMwareUplinkLacpPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareUplinkLacpPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareUplinkPortOrderPolicy": {
        "type": "object",
        "description": "This data object type describes uplink port ordering policy for a\ndistributed virtual port.\n\nA uplink port can be in the active\nlist, the standby list, or neither. It cannot be in both lists.\n",
        "properties": {
          "activeUplinkPort": {
            "description": "List of active uplink ports used for load balancing.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "standbyUplinkPort": {
            "description": "Standby uplink ports used for failover.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfVMwareUplinkPortOrderPolicy": {
        "type": "object",
        "description": "A boxed array of *VMwareUplinkPortOrderPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareUplinkPortOrderPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmwareUplinkPortTeamingPolicy": {
        "type": "object",
        "description": "Policy for a uplink port team.\n",
        "properties": {
          "policy": {
            "description": "Network adapter teaming policy.\n\nThe policy defines the way traffic\nfrom the clients of the team is routed through the different uplinks\nin the team. The policies supported on the VDS platform is one of\n*nicTeamingPolicy*.\n",
            "$ref": "#/components/schemas/StringPolicy"
          },
          "reversePolicy": {
            "description": "The flag to indicate whether or not the teaming policy is applied\nto inbound frames as well.\n\nAlso see *HostNicTeamingPolicy.reversePolicy*\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "notifySwitches": {
            "description": "Flag to specify whether or not to notify the physical switch\nif a link fails.\n\nAlso see *HostNicTeamingPolicy.notifySwitches*\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "rollingOrder": {
            "description": "The flag to indicate whether or not to use a rolling policy when\nrestoring links.\n\nAlso see *HostNicTeamingPolicy.rollingOrder*\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "failureCriteria": {
            "description": "Failover detection policy for the uplink port team.\n",
            "$ref": "#/components/schemas/DVSFailureCriteria"
          },
          "uplinkPortOrder": {
            "description": "Failover order policy for uplink ports on the hosts.\n",
            "$ref": "#/components/schemas/VMwareUplinkPortOrderPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfVmwareUplinkPortTeamingPolicy": {
        "type": "object",
        "description": "A boxed array of *VmwareUplinkPortTeamingPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmwareUplinkPortTeamingPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSPortgroupPolicy": {
        "type": "object",
        "description": "This class defines the VMware specific configuration for\nDistributedVirtualPort.\n",
        "properties": {
          "vlanOverrideAllowed": {
            "description": "Allow the setting of\n*VmwareDistributedVirtualSwitchVlanIdSpec.vlanId*, trunk\n*VmwareDistributedVirtualSwitchTrunkVlanSpec.vlanId*, or\n*VmwareDistributedVirtualSwitchPvlanSpec.pvlanId*\nfor an individual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig* of\na portgroup.\n",
            "type": "boolean"
          },
          "uplinkTeamingOverrideAllowed": {
            "description": "Allow the setting of\n*VMwareDVSPortSetting.uplinkTeamingPolicy*\nfor an individual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig* of\na portgroup.\n",
            "type": "boolean"
          },
          "securityPolicyOverrideAllowed": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.7.1, use\n*VMwareDVSPortgroupPolicy.macManagementOverrideAllowed* instead.\n\nAllow the setting of\n*VMwareDVSPortSetting.securityPolicy*\nfor an individual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig* of\na portgroup.\n",
            "type": "boolean"
          },
          "ipfixOverrideAllowed": {
            "description": "Allow the setting of\n*VMwareDVSPortSetting.ipfixEnabled*\nfor an individual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig* of\na portgroup.\n",
            "type": "boolean"
          },
          "macManagementOverrideAllowed": {
            "description": "Allow the setting of\n*VMwareDVSPortSetting.macManagementPolicy*\nfor an individual port to override the setting in\n*DVPortgroupConfigInfo.defaultPortConfig* of\na portgroup.\n",
            "type": "boolean"
          }
        },
        "required": [
          "vlanOverrideAllowed",
          "uplinkTeamingOverrideAllowed",
          "securityPolicyOverrideAllowed"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DVPortgroupPolicy"
          }
        ]
      },
      "ArrayOfVMwareDVSPortgroupPolicy": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSPortgroupPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSPortgroupPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSVlanHealthCheckResult": {
        "type": "object",
        "description": "This class defines Vlan health check result of an uplink port\nin the VMware vSphered Distributed Switch.\n",
        "properties": {
          "trunkedVlan": {
            "description": "The vlans which are trunked by the physical switch connected to the uplink port.\n\nIf the vlan is not a range, but a single Id,\nboth start and end have the same value with the single vlan Id.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumericRange"
            }
          },
          "untrunkedVlan": {
            "description": "The vlans which are not trunked by the physical switch connected to the uplink port.\n\nIf the vlan is not a range, but a single Id,\nboth start and end have the same value with the single vlan Id.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumericRange"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostMemberUplinkHealthCheckResult"
          }
        ]
      },
      "ArrayOfVMwareDVSVlanHealthCheckResult": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSVlanHealthCheckResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSVlanHealthCheckResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmwareDistributedVirtualSwitchVlanIdSpec": {
        "type": "object",
        "description": "This data type defines the configuration when single vlanId is used for\nthe port.\n",
        "properties": {
          "vlanId": {
            "description": "The VLAN ID for ports.\n\nPossible values:\n- A value of 0 specifies that you do not want the port associated\n  with a VLAN.\n- A value from 1 to 4094 specifies a VLAN ID for the port.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vlanId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchVlanSpec"
          }
        ]
      },
      "ArrayOfVmwareDistributedVirtualSwitchVlanIdSpec": {
        "type": "object",
        "description": "A boxed array of *VmwareDistributedVirtualSwitchVlanIdSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchVlanIdSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSVlanMtuHealthCheckConfig": {
        "type": "object",
        "description": "This class defines the vlan and mtu health check configuration.\n\nVlan health check is used to check whether vlans are trunked by the physical\nswitch connected to the uplink ports.\nMTU health check is used to verify current MTU setting workable on all uplink ports of\nthe vSphere Distributed Switch.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VMwareDVSHealthCheckConfig"
          }
        ]
      },
      "ArrayOfVMwareDVSVlanMtuHealthCheckConfig": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSVlanMtuHealthCheckConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSVlanMtuHealthCheckConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmwareDistributedVirtualSwitchVlanSpec": {
        "type": "object",
        "description": "Base class for Vlan Specifiation for ports.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InheritablePolicy"
          }
        ]
      },
      "ArrayOfVmwareDistributedVirtualSwitchVlanSpec": {
        "type": "object",
        "description": "A boxed array of *VmwareDistributedVirtualSwitchVlanSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchVlanSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSHealthCheckConfig": {
        "type": "object",
        "description": "This class defines health check configuration for\nVMware vSphere Distributed Switch.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSHealthCheckConfig"
          }
        ]
      },
      "ArrayOfVMwareDVSHealthCheckConfig": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSHealthCheckConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSHealthCheckConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSHealthCheckCapability": {
        "type": "object",
        "description": "The feature capabilities of health check supported by the\nvSphere Distributed Switch\n",
        "properties": {
          "vlanMtuSupported": {
            "description": "Flag to indicate whether vlan/mtu health check is supported on the\nvSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "teamingSupported": {
            "description": "Flag to indicate whether teaming health check is supported on the\nvSphere Distributed Switch.\n",
            "type": "boolean"
          }
        },
        "required": [
          "vlanMtuSupported",
          "teamingSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DVSHealthCheckCapability"
          }
        ]
      },
      "ArrayOfVMwareDVSHealthCheckCapability": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSHealthCheckCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSHealthCheckCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSPortSetting": {
        "type": "object",
        "description": "This class defines the VMware specific configuration for\nDistributedVirtualPort.\n",
        "properties": {
          "vlan": {
            "description": "The VLAN Specification of the port.\n",
            "$ref": "#/components/schemas/VmwareDistributedVirtualSwitchVlanSpec"
          },
          "qosTag": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0.\n\nThe Quality Of Service tagging of the port.\n",
            "$ref": "#/components/schemas/IntPolicy"
          },
          "uplinkTeamingPolicy": {
            "description": "The uplink teaming policy.\n\nThis property is ignored for uplink\nports.\n",
            "$ref": "#/components/schemas/VmwareUplinkPortTeamingPolicy"
          },
          "securityPolicy": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.7, use\n*DVSMacManagementPolicy*\ninstead to specify the security policy.\n\nThe security policy.\n",
            "$ref": "#/components/schemas/DVSSecurityPolicy"
          },
          "ipfixEnabled": {
            "description": "True if ipfix monitoring is enabled.\n\nTo successfully enable ipfix\nmonitoring, the switch must have an assigned\n*IP address*\nand an appropriately populated\n*ipfix configuration*\nthat specifies a collector IP address and port.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "txUplink": {
            "description": "If true, a copy of packets sent to the switch will always be forwarded to\nan uplink in addition to the regular packet forwarded done by the switch.\n",
            "$ref": "#/components/schemas/BoolPolicy"
          },
          "lacpPolicy": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5, use\n*VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task* and\n*VMwareDVSConfigInfo.lacpGroupConfig*\ninstead.\n\nLink Aggregation Control Protocol policy.\n\nThis policy is ignored on non-uplink portgroups.\nSetting this policy at port level is not supported.\n",
            "$ref": "#/components/schemas/VMwareUplinkLacpPolicy"
          },
          "macManagementPolicy": {
            "description": "The MAC learning policy.\n",
            "$ref": "#/components/schemas/DVSMacManagementPolicy"
          },
          "VNI": {
            "description": "The VNI number of overlay logical switch, which is used by\nNSX portgroup.\n",
            "$ref": "#/components/schemas/IntPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DVPortSetting"
          }
        ]
      },
      "ArrayOfVMwareDVSPortSetting": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSPortSetting*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSPortSetting"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSVspanConfigSpec": {
        "type": "object",
        "description": "This class defines the configuration of a Distributed Port Mirroring session.\n\nA Distributed Port Mirroring session\n",
        "properties": {
          "vspanSession": {
            "description": "The Distributed Port Mirroring session to be reconfigured.\n",
            "$ref": "#/components/schemas/VMwareVspanSession"
          },
          "operation": {
            "description": "Operation type, see\n*ConfigSpecOperation_enum* for valid values.\n",
            "type": "string"
          }
        },
        "required": [
          "vspanSession",
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDVSVspanConfigSpec": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSVspanConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSVspanConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareDVSVspanCapability": {
        "type": "object",
        "description": "Indicators of support for version-specific Distributed Port Mirroring sessions.\n",
        "properties": {
          "mixedDestSupported": {
            "description": "Flag to indicate whether mixed dest mirror session is supported on the\nvSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "dvportSupported": {
            "description": "Flag to indicate whether dvport mirror session is supported on the\nvSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "remoteSourceSupported": {
            "description": "Flag to indicate whether remote mirror source session is supported on the\nvSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "remoteDestSupported": {
            "description": "Flag to indicate whether remote mirror destination session is supported on the\nvSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "encapRemoteSourceSupported": {
            "description": "Flag to indicate whether encapsulated remote mirror source session is supported on the\nvSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "erspanProtocolSupported": {
            "description": "Flag to indicate whether ERSPAN protocol encapsulation is supported\non the vSphere Distributed Switch.\n",
            "type": "boolean"
          },
          "mirrorNetstackSupported": {
            "description": "Flag to indicate whether dvport mirror can be configured to use a\ndedicated network stack instance.\n",
            "type": "boolean"
          }
        },
        "required": [
          "mixedDestSupported",
          "dvportSupported",
          "remoteSourceSupported",
          "remoteDestSupported",
          "encapRemoteSourceSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareDVSVspanCapability": {
        "type": "object",
        "description": "A boxed array of *VMwareDVSVspanCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareDVSVspanCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareVspanPort": {
        "type": "object",
        "description": "This class defines the ports, uplink ports name, vlans and IP addresses participating in a\nDistributed Port Mirroring session.\n\nSee *VMwareVspanSession*.\n",
        "properties": {
          "portKey": {
            "description": "Individual ports to participate in the Distributed Port Mirroring session.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "uplinkPortName": {
            "description": "Uplink ports used as destination ports to participate in the Distributed Port Mirroring session.\n\nA fault will be raised if uplinkPortName is used as source ports\nin any Distributed Port Mirroring session.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "wildcardPortConnecteeType": {
            "description": "Wild card specification for source ports participating in the Distributed Port Mirroring session.\n\nSee *DistributedVirtualSwitchPortConnecteeConnecteeType_enum* for valid values.\nAny port that has a connectee of the specified type has its receive traffic\nmirrored. A fault will be raised if wildcards are specified as destination\nports or source ports mirroring traffic on the transmit side.\nIt is to be not used.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vlans": {
            "description": "Vlan Ids for ingress source of Remote Mirror destination\nsession.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "ipAddress": {
            "description": "IP address for the destination of encapsulated remote mirror source session,\nIPv4 address is specified using dotted decimal notation.\n\nFor example, \"192.0.2.1\".\nIPv6 addresses are 128-bit addresses represented as eight fields\nof up to four hexadecimal digits.\nA colon separates each field (:). For example,\n2001:DB8:101::230:6eff:fe04:d9ff.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareVspanPort": {
        "type": "object",
        "description": "A boxed array of *VMwareVspanPort*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareVspanPort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMwareVspanSession": {
        "type": "object",
        "description": "The *VMwareVspanSession* data object\ndefines the configuration of a VLAN Services and Protocols for Advanced Networks\n(VSPAN) session.\n\nYou use a VSPAN session for the following operations:\n- To mirror network traffic (inbound/outbound) from a set of source\n  entities to a set of destination entities.\n- To assist in troubleshooting.\n- As input for security and other network analysis appliances.\n  \nThe type of entities that you can specify as source or destination is determined\nby the session type. You can use uplink distributed virtual ports only for\nmixed destination mirror VSPAN sessions (mixedDestMirror).\nFor all sessions except mixedDestMirror sessions, you cannot\nuse uplink distributed virtual ports as destination ports.\nsessionType is required for vSphere Distributed Switch 5.1 and later,\nignored for prior version if set.\n<table>\n<thead>\n<tr>\n<th>Session Type</th>\n<th>Source</th>\n<th>Destination </th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>mixedDestMirror</td>\n<td>Distributed Ports</td>\n<td>Distributed Ports + Uplink Ports Name</td>\n</tr>\n<tr>\n<td>dvPortMirror</td>\n<td>Distributed Ports</td>\n<td>Distributed Ports</td>\n</tr>\n<tr>\n<td>remoteMirrorSource</td>\n<td>Distributed Ports</td>\n<td>Uplink Ports Name</td>\n</tr>\n<tr>\n<td>remoteMirrorDest</td>\n<td>VLAN</td>\n<td>Distributed Ports</td>\n</tr>\n<tr>\n<td>encapRemoteMirrorSource</td>\n<td>Distributed Ports</td>\n<td>IP address</td>\n</tr>\n</tbody>\n</table>\n",
        "properties": {
          "key": {
            "description": "The generated key as the identifier for the session.\n",
            "type": "string"
          },
          "name": {
            "description": "The display name.\n",
            "type": "string"
          },
          "description": {
            "description": "The description for the session.\n",
            "type": "string"
          },
          "enabled": {
            "description": "Whether the session is enabled.\n",
            "type": "boolean"
          },
          "sourcePortTransmitted": {
            "description": "Source ports for which transmitted packets are mirrored.\n",
            "$ref": "#/components/schemas/VMwareVspanPort"
          },
          "sourcePortReceived": {
            "description": "Source ports for which received packets are mirrored.\n",
            "$ref": "#/components/schemas/VMwareVspanPort"
          },
          "destinationPort": {
            "description": "Destination ports that received the mirrored packets.\n\nYou cannot use wild card ports as destination ports. If *VMwareVspanPort.wildcardPortConnecteeType*\nis set in the value, the reconfigure\noperation will raise a fault. Also any port designated in the value of\nthis property can not match the wild card source port in any of the\nDistributed Port Mirroring session.\n",
            "$ref": "#/components/schemas/VMwareVspanPort"
          },
          "encapsulationVlanId": {
            "description": "VLAN ID used to encapsulate the mirrored traffic.\n",
            "type": "integer",
            "format": "int32"
          },
          "stripOriginalVlan": {
            "description": "Whether to strip the original VLAN tag.\n\nif false, the original VLAN tag\nwill be preserved on the mirrored traffic. If *VMwareVspanSession.encapsulationVlanId*\nhas been set and this property is false, the frames will be double tagged\nwith the original VLAN ID as the inner tag.\n",
            "type": "boolean"
          },
          "mirroredPacketLength": {
            "description": "An integer that describes how much of each frame to mirror.\n\nIf unset, all\nof the frame would be mirrored. Setting this property to a smaller value\nis useful when the consumer will look only at the headers.\nThe value cannot be less than 60.\n",
            "type": "integer",
            "format": "int32"
          },
          "normalTrafficAllowed": {
            "description": "Whether or not destination ports can send and receive \"normal\" traffic.\n\nSetting this to false will make mirror ports be used solely for mirroring\nand not double as normal access ports.\n",
            "type": "boolean"
          },
          "sessionType": {
            "description": "Type of the session.\n\nSee\n*VMwareDVSVspanSessionType_enum*\nfor valid values.\nDefault value is mixedDestMirror if unspecified in a VSPAN create operation.\n",
            "type": "string"
          },
          "samplingRate": {
            "description": "Sampling rate of the session.\n\nIf its value is n, one of every n\npackets is mirrored.\nValid values are between 1 to 65535, and default value is 1.\n",
            "type": "integer",
            "format": "int32"
          },
          "encapType": {
            "description": "Encapsulation type of the session.\n\nSee\n*VMwareDVSVspanSessionEncapType_enum*\nfor valid values.\nDefault value is encapProtocolGRE if unspecified in a\nVSPAN create operation.\n",
            "type": "string"
          },
          "erspanId": {
            "description": "ERSPAN ID of the session.\n\nValid values are between 0 to 0x3ff, and default value is 0.\nThis value is applicable only if encaptType is\n*erspan2* or\n*erspan3*\n",
            "type": "integer",
            "format": "int32"
          },
          "erspanCOS": {
            "description": "Class of Service of the monitored frame.\n\nValid values are between 0 to 7, and default value is 0.\nThis value is applicable only if encaptType is\n*erspan2* or\n*erspan3*\n",
            "type": "integer",
            "format": "int32"
          },
          "erspanGraNanosec": {
            "description": "Timestamp Granularity.\n\nIf the value is false, timestamp-granularity will be microsecond.\nOtherwise the timestamp-granularity will be nanosecond\nThis value is applicable only if encaptType is\n*erspan3*\n",
            "type": "boolean"
          },
          "netstack": {
            "description": "Netstack instance of the session.\n",
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "stripOriginalVlan",
          "normalTrafficAllowed"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVMwareVspanSession": {
        "type": "object",
        "description": "A boxed array of *VMwareVspanSession*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMwareVspanSession"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoKeyId": {
        "type": "object",
        "description": "Data Object representing a cryptographic key.\n",
        "properties": {
          "keyId": {
            "description": "Unique key ID.\n\nWhen creating a key may be replaced with the ID generated by the KMS\nserver.\nAn empty string must be used when encrypting with a Trusted Key Provider,\nbecause the key is generated at the time of encryption.\n",
            "type": "string"
          },
          "providerId": {
            "description": "The provider holding the key data.\n\nMay be ignored if the key is known to be stored in another provider.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          }
        },
        "required": [
          "keyId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoKeyId": {
        "type": "object",
        "description": "A boxed array of *CryptoKeyId*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoKeyId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoKeyPlain": {
        "type": "object",
        "description": "Data Object representing a plain text cryptographic key.\n",
        "properties": {
          "keyId": {
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "algorithm": {
            "type": "string"
          },
          "keyData": {
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "keyId",
          "algorithm",
          "keyData"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoKeyPlain": {
        "type": "object",
        "description": "A boxed array of *CryptoKeyPlain*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoKeyPlain"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoKeyResult": {
        "type": "object",
        "description": "CryptoKeyResult.java --\nData Object representing a cryptographic key operation result.\n",
        "properties": {
          "keyId": {
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "success": {
            "type": "boolean"
          },
          "reason": {
            "type": "string"
          },
          "fault": {
            "description": "Fault which includes details about the error.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "keyId",
          "success"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoKeyResult": {
        "type": "object",
        "description": "A boxed array of *CryptoKeyResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoKeyResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoManagerHostKeyStatus": {
        "type": "object",
        "description": "Status of a Crypto key on host.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "keyId": {
            "description": "Crypto key Id.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "present": {
            "description": "Whether the key is present in key cache for crypto operation.\n",
            "type": "boolean"
          },
          "managementType": {
            "description": "Key management type.\n\nSee *CryptoManagerHostKeyManagementType_enum* for valid values.\n",
            "type": "string"
          },
          "accessGranted": {
            "description": "Whether the provider of the key has been granted access.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "keyId",
          "present"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoManagerHostKeyStatus": {
        "type": "object",
        "description": "A boxed array of *CryptoManagerHostKeyStatus*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoManagerHostKeyStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoManagerKmipCertSignRequest": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "commonName": {
            "description": "Common name for the certificate sign request.\n\nThis is fully qualified domain name that you wish to secure.\n",
            "type": "string"
          },
          "organization": {
            "description": "Organization name for the certificate sign request.\n\nUsually the legal name of a company or entity and\nshould include any suffixes such as Ltd., Inc., or Corp.\n",
            "type": "string"
          },
          "organizationUnit": {
            "description": "Organizational unit name for the certificate sign request.\n\nInternal organization department/division name.\n",
            "type": "string"
          },
          "locality": {
            "description": "Locality name for the certificate sign request.\n\nTown, city, village, etc.\n",
            "type": "string"
          },
          "state": {
            "description": "State name for the certificate sign request.\n\nProvince, region, county or state.\n",
            "type": "string"
          },
          "country": {
            "description": "Country Name for the certificate sign request.\n\nThe two-letter ISO code for the country where your\norganization is located.\n",
            "type": "string"
          },
          "email": {
            "description": "Email address for the certificate sign request.\n\nThe organization contact, usually of the certificate\nadministrator or IT department.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoManagerKmipCertSignRequest": {
        "type": "object",
        "description": "A boxed array of *CryptoManagerKmipCertSignRequest*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoManagerKmipCertSignRequest"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoManagerKmipCertificateInfo": {
        "type": "object",
        "description": "Basic information of a certificate.\n",
        "properties": {
          "subject": {
            "description": "Subject identifies whom the certificate is issued to.\n",
            "type": "string"
          },
          "issuer": {
            "description": "Issuer identifies the party that issued this certificate.\n",
            "type": "string"
          },
          "serialNumber": {
            "description": "The unique serial number of the certificate given by issuer.\n",
            "type": "string"
          },
          "notBefore": {
            "description": "The beginning time of the period of validity.\n",
            "type": "string",
            "format": "date-time"
          },
          "notAfter": {
            "description": "The ending time of the period of validity.\n",
            "type": "string",
            "format": "date-time"
          },
          "fingerprint": {
            "description": "The SSL SHA1 fingerprint of the certificate.\n",
            "type": "string"
          },
          "checkTime": {
            "description": "The timestamp when the state of the certificate is checked.\n",
            "type": "string",
            "format": "date-time"
          },
          "secondsSinceValid": {
            "description": "Total seconds since this certificate has entered valid state.\n\nIt is the time difference between \"now\" and \"notBefore\".\nIf it is negative value, that means the certificate will become\nvalid in a future time.\n",
            "type": "integer",
            "format": "int32"
          },
          "secondsBeforeExpire": {
            "description": "Total seconds before this certificate expires.\n\nIt is the time difference between \"notAfter\" and \"now\".\nIf it is negative value, that means the certificate has already\nexpired.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "subject",
          "issuer",
          "serialNumber",
          "notBefore",
          "notAfter",
          "fingerprint",
          "checkTime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoManagerKmipCertificateInfo": {
        "type": "object",
        "description": "A boxed array of *CryptoManagerKmipCertificateInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoManagerKmipCertificateInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoManagerKmipClusterStatus": {
        "type": "object",
        "description": "Status of a KMIP cluster.\n",
        "properties": {
          "clusterId": {
            "description": "The ID of the KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "overallStatus": {
            "description": "KMS cluster overall status.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "managementType": {
            "description": "Key provider management type.\n\nSee *KmipClusterInfoKmsManagementType_enum* for valid values.\n",
            "type": "string"
          },
          "servers": {
            "description": "Status of the KMIP servers in this cluster.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoManagerKmipServerStatus"
            }
          },
          "clientCertInfo": {
            "description": "The basic information about the client's certificate.\n",
            "$ref": "#/components/schemas/CryptoManagerKmipCertificateInfo"
          }
        },
        "required": [
          "clusterId",
          "servers"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoManagerKmipClusterStatus": {
        "type": "object",
        "description": "A boxed array of *CryptoManagerKmipClusterStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoManagerKmipClusterStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoManagerKmipCryptoKeyStatus": {
        "type": "object",
        "description": "Status of a Crypto key\n",
        "properties": {
          "keyId": {
            "description": "Crypto key Id\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "keyAvailable": {
            "description": "If the key is available for crypto operation\n",
            "type": "boolean"
          },
          "reason": {
            "description": "The reason for key not available, valid when keyAvailable is false.\n\n*CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason_enum* lists the set of supported values.\n",
            "type": "string"
          },
          "encryptedVMs": {
            "description": "The list of VMs which use that key\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "affectedHosts": {
            "description": "The lists of hosts which use that key as host key\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "referencedByTags": {
            "description": "The identifier list for the 3rd party who are using the key\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "keyId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoManagerKmipCryptoKeyStatus": {
        "type": "object",
        "description": "A boxed array of *CryptoManagerKmipCryptoKeyStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoManagerKmipCryptoKeyStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoManagerKmipCustomAttributeSpec": {
        "type": "object",
        "description": "Crypto key custom attribute spec\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "attributes": {
            "description": "Crypto key custom attributes\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoManagerKmipCustomAttributeSpec": {
        "type": "object",
        "description": "A boxed array of *CryptoManagerKmipCustomAttributeSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoManagerKmipCustomAttributeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoManagerKmipServerCertInfo": {
        "type": "object",
        "description": "Information about the KMIP server certificate.\n",
        "properties": {
          "certificate": {
            "description": "The server certificate.\n",
            "type": "string"
          },
          "certInfo": {
            "description": "The basic information about server's certificate.\n",
            "$ref": "#/components/schemas/CryptoManagerKmipCertificateInfo"
          },
          "clientTrustServer": {
            "description": "Whether this KMS server is trusted by local Kmip client.\n",
            "type": "boolean"
          }
        },
        "required": [
          "certificate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoManagerKmipServerCertInfo": {
        "type": "object",
        "description": "A boxed array of *CryptoManagerKmipServerCertInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoManagerKmipServerCertInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoManagerKmipServerStatus": {
        "type": "object",
        "description": "Status of a KMIP server.\n",
        "properties": {
          "name": {
            "description": "Name of the KMIP server.\n",
            "type": "string"
          },
          "status": {
            "description": "KMIP server status.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "connectionStatus": {
            "description": "KMIP server connection status description.\n",
            "type": "string"
          },
          "certInfo": {
            "description": "The basic information about the KMIP server's certificate.\n",
            "$ref": "#/components/schemas/CryptoManagerKmipCertificateInfo"
          },
          "clientTrustServer": {
            "description": "Whether this KMS server is trusted by local Kmip client.\n",
            "type": "boolean"
          },
          "serverTrustClient": {
            "description": "Whether this KMS server trusts the local Kmip client.\n",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "status",
          "connectionStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoManagerKmipServerStatus": {
        "type": "object",
        "description": "A boxed array of *CryptoManagerKmipServerStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoManagerKmipServerStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoSpec": {
        "type": "object",
        "description": "This data object type encapsulates virtual machine or disk encryption\nsettings.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCryptoSpec": {
        "type": "object",
        "description": "A boxed array of *CryptoSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoSpecDecrypt": {
        "type": "object",
        "description": "This data object type encapsulates virtual machine or disk encryption\nsettings for decryption operation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CryptoSpec"
          }
        ]
      },
      "ArrayOfCryptoSpecDecrypt": {
        "type": "object",
        "description": "A boxed array of *CryptoSpecDecrypt*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoSpecDecrypt"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoSpecDeepRecrypt": {
        "type": "object",
        "description": "This data object type encapsulates virtual machine or disk cryptographic\nsettings for deep reencryption operation.\n",
        "properties": {
          "newKeyId": {
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "required": [
          "newKeyId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CryptoSpec"
          }
        ]
      },
      "ArrayOfCryptoSpecDeepRecrypt": {
        "type": "object",
        "description": "A boxed array of *CryptoSpecDeepRecrypt*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoSpecDeepRecrypt"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoSpecEncrypt": {
        "type": "object",
        "description": "This data object type encapsulates virtual machine or disk cryptohraphic\nsettings for encryption operation.\n",
        "properties": {
          "cryptoKeyId": {
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "required": [
          "cryptoKeyId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CryptoSpec"
          }
        ]
      },
      "ArrayOfCryptoSpecEncrypt": {
        "type": "object",
        "description": "A boxed array of *CryptoSpecEncrypt*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoSpecEncrypt"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoSpecNoOp": {
        "type": "object",
        "description": "This data object type indicates that the encryption settings of the\nvirtual machine or disk should not be modified by the operation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CryptoSpec"
          }
        ]
      },
      "ArrayOfCryptoSpecNoOp": {
        "type": "object",
        "description": "A boxed array of *CryptoSpecNoOp*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoSpecNoOp"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoSpecRegister": {
        "type": "object",
        "description": "This data object type indicates that the operation requires keys to be sent\nbut the encryption settings of the virtual machine or disk\nshould not be modified by the operation.\n",
        "properties": {
          "cryptoKeyId": {
            "description": "The key the VM/disk is already encrypted with.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "required": [
          "cryptoKeyId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CryptoSpecNoOp"
          }
        ]
      },
      "ArrayOfCryptoSpecRegister": {
        "type": "object",
        "description": "A boxed array of *CryptoSpecRegister*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoSpecRegister"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CryptoSpecShallowRecrypt": {
        "type": "object",
        "description": "This data object type encapsulates virtual machine or disk cryptographic\nsettings for shallow reencryption operation.\n",
        "properties": {
          "newKeyId": {
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "required": [
          "newKeyId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CryptoSpec"
          }
        ]
      },
      "ArrayOfCryptoSpecShallowRecrypt": {
        "type": "object",
        "description": "A boxed array of *CryptoSpecShallowRecrypt*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoSpecShallowRecrypt"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KeyProviderId": {
        "type": "object",
        "description": "Data Object representing a crypto key provider's unique identifier.\n",
        "properties": {
          "id": {
            "description": "Globally unique ID for the crypto key provider.\n\nServers with the same ID must provide the same keys.\nCannot be empty.\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfKeyProviderId": {
        "type": "object",
        "description": "A boxed array of *KeyProviderId*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyProviderId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KmipClusterInfo": {
        "type": "object",
        "description": "Data Object representing a cluster of KMIP servers.\n\nAll servers in a cluster must provide the same keys.\n",
        "properties": {
          "clusterId": {
            "description": "Globally unique ID for the servers providing the same keys.\n\nAll KMIP servers with the same clusterId are in a cluster and all must\nprovide the same keys for redundancy.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "servers": {
            "description": "Servers in this cluster.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KmipServerInfo"
            }
          },
          "useAsDefault": {
            "description": "Use this cluster as default for system wide,\nwhen the optional CryptoKeyId.providerId is not set.\n",
            "type": "boolean"
          },
          "managementType": {
            "description": "Key provider management type.\n\nSee *KmipClusterInfoKmsManagementType_enum* for valid values.\n",
            "type": "string"
          },
          "useAsEntityDefault": {
            "description": "Use this cluster as default for the managed entities,\nwhen the optional CryptoKeyId.providerId is not set.\n\nSee *CryptoManagerKmip.SetDefaultKmsCluster* for\nsupported managed entity type.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "hasBackup": {
            "description": "***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "tpmRequired": {
            "description": "***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "keyId": {
            "description": "***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "required": [
          "clusterId",
          "useAsDefault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfKmipClusterInfo": {
        "type": "object",
        "description": "A boxed array of *KmipClusterInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KmipClusterInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KmipServerInfo": {
        "type": "object",
        "description": "Data Object representing a KMIP server connection information.\n",
        "properties": {
          "name": {
            "description": "Name for the KMIP server.\n",
            "type": "string"
          },
          "address": {
            "description": "Address of the KMIP server.\n",
            "type": "string"
          },
          "port": {
            "description": "Port of the KMIP server.\n",
            "type": "integer",
            "format": "int32"
          },
          "proxyAddress": {
            "description": "Address of the proxy server.\n\nSet value to empty string to delete the entry.\n",
            "type": "string"
          },
          "proxyPort": {
            "description": "Port of the proxy server.\n\nSet value \"-1\" to delete the entry.\n",
            "type": "integer",
            "format": "int32"
          },
          "reconnect": {
            "description": "Should auto-reconnect be done.\n\nSet value \"-1\" to delete the entry.\n",
            "type": "integer",
            "format": "int32"
          },
          "protocol": {
            "description": "KMIP library protocol handler, e.g.\n\nKMIP1.\nSet value to empty string to delete the entry.\n",
            "type": "string"
          },
          "nbio": {
            "description": "Non-blocking I/O required.\n\nSet value \"-1\" to delete the entry.\n",
            "type": "integer",
            "format": "int32"
          },
          "timeout": {
            "description": "I/O timeout in seconds (-1=none,0=infinite).\n\nSet value \"-1\" to delete the entry.\n",
            "type": "integer",
            "format": "int32"
          },
          "userName": {
            "description": "Username to authenticate to the KMIP server.\n\nSet value to empty string to delete the entry.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "address",
          "port"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfKmipServerInfo": {
        "type": "object",
        "description": "A boxed array of *KmipServerInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KmipServerInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KmipServerSpec": {
        "type": "object",
        "description": "Data Object representing a KMIP server connection spec.\n",
        "properties": {
          "clusterId": {
            "description": "The ID of the KMIP cluster.\n\nKMIP servers with the same clusterId are in\none cluster and provide the same keys for redundancy.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "info": {
            "description": "Connection information for the KMIP server.\n",
            "$ref": "#/components/schemas/KmipServerInfo"
          },
          "password": {
            "description": "Password to authenticate to the KMIP server.\n\nSet value to empty string to delete the entry.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "clusterId",
          "info"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfKmipServerSpec": {
        "type": "object",
        "description": "A boxed array of *KmipServerSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KmipServerSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KmipServerStatus": {
        "type": "object",
        "description": "Data Object representing a KMIP server status.\n",
        "properties": {
          "clusterId": {
            "description": "The ID of the KMIP cluster.\n",
            "$ref": "#/components/schemas/KeyProviderId"
          },
          "name": {
            "description": "Name for the KMIP server.\n",
            "type": "string"
          },
          "status": {
            "description": "KMIP server status.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "description": {
            "description": "KMIP server status description.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterId",
          "name",
          "status",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfKmipServerStatus": {
        "type": "object",
        "description": "A boxed array of *KmipServerStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KmipServerStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AccountCreatedEvent": {
        "type": "object",
        "description": "This event records that an account was created on a host.\n",
        "properties": {
          "spec": {
            "$ref": "#/components/schemas/HostAccountSpec"
          },
          "group": {
            "type": "boolean"
          }
        },
        "required": [
          "spec",
          "group"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfAccountCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *AccountCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AccountRemovedEvent": {
        "type": "object",
        "description": "This event records that an account was removed from a host.\n",
        "properties": {
          "account": {
            "type": "string"
          },
          "group": {
            "type": "boolean"
          }
        },
        "required": [
          "account",
          "group"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfAccountRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *AccountRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AccountUpdatedEvent": {
        "type": "object",
        "description": "This event records that an account was updated on a host.\n",
        "properties": {
          "spec": {
            "$ref": "#/components/schemas/HostAccountSpec"
          },
          "group": {
            "type": "boolean"
          },
          "prevDescription": {
            "description": "The previous account description\n",
            "type": "string"
          }
        },
        "required": [
          "spec",
          "group"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfAccountUpdatedEvent": {
        "type": "object",
        "description": "A boxed array of *AccountUpdatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountUpdatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AdminPasswordNotChangedEvent": {
        "type": "object",
        "description": "Default password for the Admin user on the host has not been changed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfAdminPasswordNotChangedEvent": {
        "type": "object",
        "description": "A boxed array of *AdminPasswordNotChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminPasswordNotChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmAcknowledgedEvent": {
        "type": "object",
        "description": "This event records the acknowledgement of an Alarm\n",
        "properties": {
          "source": {
            "description": "The entity that triggered the alarm.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          }
        },
        "required": [
          "source",
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmAcknowledgedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmAcknowledgedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmAcknowledgedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmActionTriggeredEvent": {
        "type": "object",
        "description": "This event records that an alarm was triggered.\n",
        "properties": {
          "source": {
            "description": "The entity that triggered the alarm.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          }
        },
        "required": [
          "source",
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmActionTriggeredEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmActionTriggeredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmActionTriggeredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmClearedEvent": {
        "type": "object",
        "description": "This event records the manual clearing of an Alarm\n",
        "properties": {
          "source": {
            "description": "The entity that triggered the alarm.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "from": {
            "description": "The original alarm status from which it was cleared\n",
            "type": "string"
          }
        },
        "required": [
          "source",
          "entity",
          "from"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmClearedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmClearedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmClearedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmCreatedEvent": {
        "type": "object",
        "description": "This event records the creation of an alarm.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmEmailCompletedEvent": {
        "type": "object",
        "description": "This event records the completion of an alarm email notification.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "to": {
            "description": "The destination email address.\n",
            "type": "string"
          }
        },
        "required": [
          "entity",
          "to"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmEmailCompletedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmEmailCompletedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmEmailCompletedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmEmailFailedEvent": {
        "type": "object",
        "description": "This event records a failure to complete an alarm email notification.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "to": {
            "description": "The destination email address.\n",
            "type": "string"
          },
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "entity",
          "to",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmEmailFailedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmEmailFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmEmailFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmEvent": {
        "type": "object",
        "description": "This event is an alarm events.\n",
        "properties": {
          "alarm": {
            "description": "The associated alarm object.\n",
            "$ref": "#/components/schemas/AlarmEventArgument"
          }
        },
        "required": [
          "alarm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfAlarmEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmEventArgument": {
        "type": "object",
        "description": "The event argument is an Alarm object.\n",
        "properties": {
          "alarm": {
            "description": "The Alarm object.\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "alarm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfAlarmEventArgument": {
        "type": "object",
        "description": "A boxed array of *AlarmEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmReconfiguredEvent": {
        "type": "object",
        "description": "This event records the reconfiguration of an alarm.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "configChanges": {
            "description": "The configuration values changed during the reconfiguration.\n",
            "$ref": "#/components/schemas/ChangesInfoEventArgument"
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmRemovedEvent": {
        "type": "object",
        "description": "This event records the removal of an alarm.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmScriptCompleteEvent": {
        "type": "object",
        "description": "This event records the completion of an alarm-triggered script.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "script": {
            "description": "The script triggered by the alarm.\n",
            "type": "string"
          }
        },
        "required": [
          "entity",
          "script"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmScriptCompleteEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmScriptCompleteEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmScriptCompleteEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmScriptFailedEvent": {
        "type": "object",
        "description": "This event records a failure to complete an alarm-triggered script.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "script": {
            "description": "The script triggered by the alarm.\n",
            "type": "string"
          },
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "entity",
          "script",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmScriptFailedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmScriptFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmScriptFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmSnmpCompletedEvent": {
        "type": "object",
        "description": "This event records the completion of an alarm SNMP notification.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmSnmpCompletedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmSnmpCompletedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmSnmpCompletedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmSnmpFailedEvent": {
        "type": "object",
        "description": "This event records a failure to complete an alarm SNMP notification.\n",
        "properties": {
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "entity",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmSnmpFailedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmSnmpFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmSnmpFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlarmStatusChangedEvent": {
        "type": "object",
        "description": "This event records a status change for an alarm.\n",
        "properties": {
          "source": {
            "description": "The entity for which the alarm status has been changed.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "entity": {
            "description": "The entity with which the alarm is registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "from": {
            "description": "The original alarm status.\n",
            "type": "string"
          },
          "to": {
            "description": "The new alarm status.\n",
            "type": "string"
          }
        },
        "required": [
          "source",
          "entity",
          "from",
          "to"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AlarmEvent"
          }
        ]
      },
      "ArrayOfAlarmStatusChangedEvent": {
        "type": "object",
        "description": "A boxed array of *AlarmStatusChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlarmStatusChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AllVirtualMachinesLicensedEvent": {
        "type": "object",
        "description": "This event records that the previously unlicensed virtual machines on\nthe specified host are now licensed.\n\nAfter this event is entered into\nthe event log, we expect to see that the (@link\nvim.event.Event.UnlicensedVirtualMachinesEvent\nUnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue\nconfigIssue) is removed from the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfAllVirtualMachinesLicensedEvent": {
        "type": "object",
        "description": "A boxed array of *AllVirtualMachinesLicensedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllVirtualMachinesLicensedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlreadyAuthenticatedSessionEvent": {
        "type": "object",
        "description": "This event records a failed user logon due to the user already being logged on.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionEvent"
          }
        ]
      },
      "ArrayOfAlreadyAuthenticatedSessionEvent": {
        "type": "object",
        "description": "A boxed array of *AlreadyAuthenticatedSessionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlreadyAuthenticatedSessionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AuthorizationEvent": {
        "type": "object",
        "description": "These events indicate authorization events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfAuthorizationEvent": {
        "type": "object",
        "description": "A boxed array of *AuthorizationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BadUsernameSessionEvent": {
        "type": "object",
        "description": "This event records a failed user logon.\n\nFailed logons are due to no match existing\nbetween the provided user name and password combination and the combinations\nstored for authentication.\n",
        "properties": {
          "ipAddress": {
            "description": "The IP address of the peer that initiated the connection.\n\nThis may\nbe the client that originated the session, or it may be an intervening\nproxy if the binding uses a protocol that supports proxies, such as HTTP.\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionEvent"
          }
        ]
      },
      "ArrayOfBadUsernameSessionEvent": {
        "type": "object",
        "description": "A boxed array of *BadUsernameSessionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BadUsernameSessionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CanceledHostOperationEvent": {
        "type": "object",
        "description": "An operation performed on the host was canceled.\n\nTypically,\na previous event in the sequence of events contains more\ninformation about the cause of this cancellation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfCanceledHostOperationEvent": {
        "type": "object",
        "description": "A boxed array of *CanceledHostOperationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CanceledHostOperationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ChangesInfoEventArgument": {
        "type": "object",
        "description": "The event argument contains changes.\n",
        "properties": {
          "modified": {
            "description": "Modified properties.\n",
            "type": "string"
          },
          "added": {
            "description": "Added properties.\n",
            "type": "string"
          },
          "deleted": {
            "description": "Deleted properties.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfChangesInfoEventArgument": {
        "type": "object",
        "description": "A boxed array of *ChangesInfoEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChangesInfoEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterComplianceCheckedEvent": {
        "type": "object",
        "description": "This event records that a compliance check was triggered\non the cluster.\n",
        "properties": {
          "profile": {
            "$ref": "#/components/schemas/ProfileEventArgument"
          }
        },
        "required": [
          "profile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfClusterComplianceCheckedEvent": {
        "type": "object",
        "description": "A boxed array of *ClusterComplianceCheckedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterComplianceCheckedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterCreatedEvent": {
        "type": "object",
        "description": "This event records when a cluster is created.\n",
        "properties": {
          "parent": {
            "description": "The folder where the cluster is created.\n",
            "$ref": "#/components/schemas/FolderEventArgument"
          }
        },
        "required": [
          "parent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfClusterCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *ClusterCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDestroyedEvent": {
        "type": "object",
        "description": "This event records when a cluster is destroyed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfClusterDestroyedEvent": {
        "type": "object",
        "description": "A boxed array of *ClusterDestroyedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterDestroyedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterEvent": {
        "type": "object",
        "description": "These are cluster events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfClusterEvent": {
        "type": "object",
        "description": "A boxed array of *ClusterEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterOvercommittedEvent": {
        "type": "object",
        "description": "This event records when a cluster's host capacity cannot satisfy resource\nconfiguration constraints.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfClusterOvercommittedEvent": {
        "type": "object",
        "description": "A boxed array of *ClusterOvercommittedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterOvercommittedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterReconfiguredEvent": {
        "type": "object",
        "description": "This event records when a cluster is reconfigured.\n",
        "properties": {
          "configChanges": {
            "description": "The configuration values changed during the reconfiguration.\n",
            "$ref": "#/components/schemas/ChangesInfoEventArgument"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfClusterReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *ClusterReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterStatusChangedEvent": {
        "type": "object",
        "description": "This event records when a cluster's overall status changed.\n",
        "properties": {
          "oldStatus": {
            "description": "The old (*status*).\n",
            "type": "string"
          },
          "newStatus": {
            "description": "The new (*status*).\n",
            "type": "string"
          }
        },
        "required": [
          "oldStatus",
          "newStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfClusterStatusChangedEvent": {
        "type": "object",
        "description": "A boxed array of *ClusterStatusChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterStatusChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComputeResourceEventArgument": {
        "type": "object",
        "description": "The event argument is a ComputeResource object.\n",
        "properties": {
          "computeResource": {
            "description": "The ComputeResource object.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "computeResource"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfComputeResourceEventArgument": {
        "type": "object",
        "description": "A boxed array of *ComputeResourceEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComputeResourceEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomFieldDefAddedEvent": {
        "type": "object",
        "description": "This event records the addition of a custom field definition.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefEvent"
          }
        ]
      },
      "ArrayOfCustomFieldDefAddedEvent": {
        "type": "object",
        "description": "A boxed array of *CustomFieldDefAddedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldDefAddedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomFieldDefEvent": {
        "type": "object",
        "description": "This event records a custom field definition event.\n",
        "properties": {
          "fieldKey": {
            "description": "The unique identifier of the custom field definition.\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "The name of the custom field.\n",
            "type": "string"
          }
        },
        "required": [
          "fieldKey",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldEvent"
          }
        ]
      },
      "ArrayOfCustomFieldDefEvent": {
        "type": "object",
        "description": "A boxed array of *CustomFieldDefEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldDefEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomFieldDefRemovedEvent": {
        "type": "object",
        "description": "This event records the removal of a custom field definition.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefEvent"
          }
        ]
      },
      "ArrayOfCustomFieldDefRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *CustomFieldDefRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldDefRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomFieldDefRenamedEvent": {
        "type": "object",
        "description": "This event records the renaming of a custom field definition.\n",
        "properties": {
          "newName": {
            "type": "string"
          }
        },
        "required": [
          "newName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefEvent"
          }
        ]
      },
      "ArrayOfCustomFieldDefRenamedEvent": {
        "type": "object",
        "description": "A boxed array of *CustomFieldDefRenamedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldDefRenamedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomFieldEvent": {
        "type": "object",
        "description": "These are custom field events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfCustomFieldEvent": {
        "type": "object",
        "description": "A boxed array of *CustomFieldEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomFieldValueChangedEvent": {
        "type": "object",
        "description": "This event records a change to a custom field value for a particular entity.\n",
        "properties": {
          "entity": {
            "description": "The entity on which the field value was changed.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "fieldKey": {
            "description": "The custom field whose value was changed for the entity.\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "The name of the custom field at the time the value was changed.\n",
            "type": "string"
          },
          "value": {
            "description": "The new value that was set.\n",
            "type": "string"
          },
          "prevState": {
            "description": "The previous service state.\n",
            "type": "string"
          }
        },
        "required": [
          "entity",
          "fieldKey",
          "name",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldEvent"
          }
        ]
      },
      "ArrayOfCustomFieldValueChangedEvent": {
        "type": "object",
        "description": "A boxed array of *CustomFieldValueChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationEvent": {
        "type": "object",
        "description": "Base for customization events.\n",
        "properties": {
          "logLocation": {
            "description": "The location of the in-guest customization log which will contain\ndetails of the customization operation.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfCustomizationEvent": {
        "type": "object",
        "description": "A boxed array of *CustomizationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationFailed": {
        "type": "object",
        "description": "The customization sequence in the guest failed.\n",
        "properties": {
          "reason": {
            "description": "Reason why the customization failed @see CustomizationFailed.ReasonCode .\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationEvent"
          }
        ]
      },
      "ArrayOfCustomizationFailed": {
        "type": "object",
        "description": "A boxed array of *CustomizationFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationLinuxIdentityFailed": {
        "type": "object",
        "description": "Failed to set Linux identity.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFailed"
          }
        ]
      },
      "ArrayOfCustomizationLinuxIdentityFailed": {
        "type": "object",
        "description": "A boxed array of *CustomizationLinuxIdentityFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationLinuxIdentityFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationNetworkSetupFailed": {
        "type": "object",
        "description": "Network setup failed in the guest during customization.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFailed"
          }
        ]
      },
      "ArrayOfCustomizationNetworkSetupFailed": {
        "type": "object",
        "description": "A boxed array of *CustomizationNetworkSetupFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationNetworkSetupFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationStartedEvent": {
        "type": "object",
        "description": "The customization sequence has started in the VM guest.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationEvent"
          }
        ]
      },
      "ArrayOfCustomizationStartedEvent": {
        "type": "object",
        "description": "A boxed array of *CustomizationStartedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationStartedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationSucceeded": {
        "type": "object",
        "description": "The customization sequence completed successfully in the guest.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationEvent"
          }
        ]
      },
      "ArrayOfCustomizationSucceeded": {
        "type": "object",
        "description": "A boxed array of *CustomizationSucceeded*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationSucceeded"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationSysprepFailed": {
        "type": "object",
        "description": "Sysprep failed to run in the guest during customization.\n\nThis will most like\nhave been caused by the fact that the wrong sysprep was used for the guest,\nso we include the version information in the event.\n",
        "properties": {
          "sysprepVersion": {
            "description": "The version string for the sysprep files that were included in the\ncustomization package.\n",
            "type": "string"
          },
          "systemVersion": {
            "description": "The version string for the system\n",
            "type": "string"
          }
        },
        "required": [
          "sysprepVersion",
          "systemVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFailed"
          }
        ]
      },
      "ArrayOfCustomizationSysprepFailed": {
        "type": "object",
        "description": "A boxed array of *CustomizationSysprepFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationSysprepFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationUnknownFailure": {
        "type": "object",
        "description": "The customization sequence failed unexpectedly in the guest.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFailed"
          }
        ]
      },
      "ArrayOfCustomizationUnknownFailure": {
        "type": "object",
        "description": "A boxed array of *CustomizationUnknownFailure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationUnknownFailure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortgroupCreatedEvent": {
        "type": "object",
        "description": "Two distributed virtual portgroup was created.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DVPortgroupEvent"
          }
        ]
      },
      "ArrayOfDVPortgroupCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *DVPortgroupCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortgroupDestroyedEvent": {
        "type": "object",
        "description": "Two distributed virtual portgroup was destroyed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DVPortgroupEvent"
          }
        ]
      },
      "ArrayOfDVPortgroupDestroyedEvent": {
        "type": "object",
        "description": "A boxed array of *DVPortgroupDestroyedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupDestroyedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortgroupEvent": {
        "type": "object",
        "description": "DVPortgroup related events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfDVPortgroupEvent": {
        "type": "object",
        "description": "A boxed array of *DVPortgroupEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortgroupReconfiguredEvent": {
        "type": "object",
        "description": "Two distributed virtual portgroup was reconfigured.\n",
        "properties": {
          "configSpec": {
            "description": "The reconfiguration spec.\n",
            "$ref": "#/components/schemas/DVPortgroupConfigSpec"
          },
          "configChanges": {
            "description": "The configuration values changed during the reconfiguration.\n",
            "$ref": "#/components/schemas/ChangesInfoEventArgument"
          }
        },
        "required": [
          "configSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DVPortgroupEvent"
          }
        ]
      },
      "ArrayOfDVPortgroupReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *DVPortgroupReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortgroupRenamedEvent": {
        "type": "object",
        "description": "Two distributed virtual portgroup was renamed.\n",
        "properties": {
          "oldName": {
            "description": "The old portgroup name.\n",
            "type": "string"
          },
          "newName": {
            "description": "The new portgroup name.\n",
            "type": "string"
          }
        },
        "required": [
          "oldName",
          "newName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DVPortgroupEvent"
          }
        ]
      },
      "ArrayOfDVPortgroupRenamedEvent": {
        "type": "object",
        "description": "A boxed array of *DVPortgroupRenamedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortgroupRenamedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasAdmissionControlDisabledEvent": {
        "type": "object",
        "description": "This event records when admission control checks have been disabled in a HA\ncluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDasAdmissionControlDisabledEvent": {
        "type": "object",
        "description": "A boxed array of *DasAdmissionControlDisabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasAdmissionControlDisabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasAdmissionControlEnabledEvent": {
        "type": "object",
        "description": "This event records when admission control checks have been enabled in a HA cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDasAdmissionControlEnabledEvent": {
        "type": "object",
        "description": "A boxed array of *DasAdmissionControlEnabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasAdmissionControlEnabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasAgentFoundEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records that VirtualCenter has re-established contact with a\nprimary host in this HA cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDasAgentFoundEvent": {
        "type": "object",
        "description": "A boxed array of *DasAgentFoundEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasAgentFoundEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasAgentUnavailableEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records that VirtualCenter cannot contact any primary host\nin this HA cluster.\n\nHA designates some hosts as primary hosts in the HA\ncluster. When adding a new host to an existing cluster, HA needs to\ncontact one of the primary hosts to finish the configuration. VirtualCenter\nhas lost contact with all primary nodes in the connected state. Attempts\nto configure HA on a host in this cluster will fail until a\nDasAgentFoundEvent is logged or unless this is the first node to be\nconfigured. For example, if all the other hosts are disconnected first.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDasAgentUnavailableEvent": {
        "type": "object",
        "description": "A boxed array of *DasAgentUnavailableEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasAgentUnavailableEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasClusterIsolatedEvent": {
        "type": "object",
        "description": "This event records that all hosts have been isolated from the network in a\nHA cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDasClusterIsolatedEvent": {
        "type": "object",
        "description": "A boxed array of *DasClusterIsolatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasClusterIsolatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasDisabledEvent": {
        "type": "object",
        "description": "This event records when a cluster has been disabled for HA.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDasDisabledEvent": {
        "type": "object",
        "description": "A boxed array of *DasDisabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasDisabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasEnabledEvent": {
        "type": "object",
        "description": "This event records when a cluster has been enabled for HA.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDasEnabledEvent": {
        "type": "object",
        "description": "A boxed array of *DasEnabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasEnabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasHostFailedEvent": {
        "type": "object",
        "description": "This event records when a host failure has been detected by HA.\n",
        "properties": {
          "failedHost": {
            "description": "The host that failed.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "failedHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDasHostFailedEvent": {
        "type": "object",
        "description": "A boxed array of *DasHostFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasHostFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasHostIsolatedEvent": {
        "type": "object",
        "description": "This event records that a host has been isolated from the network in a\nHA cluster.\n\nSince an isolated host cannot be distinguished from a failed\nhost except by the isolated host itself, this event is logged when the\nisolated host regains network connectivity.\n",
        "properties": {
          "isolatedHost": {
            "description": "The host that was isolated.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "isolatedHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDasHostIsolatedEvent": {
        "type": "object",
        "description": "A boxed array of *DasHostIsolatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasHostIsolatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatacenterCreatedEvent": {
        "type": "object",
        "properties": {
          "parent": {
            "description": "The folder where the datacenter is created.\n",
            "$ref": "#/components/schemas/FolderEventArgument"
          }
        },
        "required": [
          "parent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DatacenterEvent"
          }
        ]
      },
      "ArrayOfDatacenterCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *DatacenterCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatacenterEvent": {
        "type": "object",
        "description": "These are datacenter events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfDatacenterEvent": {
        "type": "object",
        "description": "A boxed array of *DatacenterEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatacenterEventArgument": {
        "type": "object",
        "description": "The event argument is a Datacenter object.\n",
        "properties": {
          "datacenter": {
            "description": "The Datacenter object.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datacenter"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfDatacenterEventArgument": {
        "type": "object",
        "description": "A boxed array of *DatacenterEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatacenterRenamedEvent": {
        "type": "object",
        "properties": {
          "oldName": {
            "description": "The old datacenter name.\n",
            "type": "string"
          },
          "newName": {
            "description": "The new datacenter name.\n",
            "type": "string"
          }
        },
        "required": [
          "oldName",
          "newName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DatacenterEvent"
          }
        ]
      },
      "ArrayOfDatacenterRenamedEvent": {
        "type": "object",
        "description": "A boxed array of *DatacenterRenamedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterRenamedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreCapacityIncreasedEvent": {
        "type": "object",
        "description": "This event records when increase in a datastore's capacity is observed.\n\nIt may happen due to different reasons, like extending or expanding a\ndatastore.\n",
        "properties": {
          "oldCapacity": {
            "description": "The old datastore capacity.\n",
            "type": "integer",
            "format": "int64"
          },
          "newCapacity": {
            "description": "The new datastore capacity.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "oldCapacity",
          "newCapacity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreEvent"
          }
        ]
      },
      "ArrayOfDatastoreCapacityIncreasedEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreCapacityIncreasedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreCapacityIncreasedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreDestroyedEvent": {
        "type": "object",
        "description": "This event records when a datastore is removed from VirtualCenter.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreEvent"
          }
        ]
      },
      "ArrayOfDatastoreDestroyedEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreDestroyedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreDestroyedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreDiscoveredEvent": {
        "type": "object",
        "description": "This event records when a host is added to VirtualCenter\nand datastores are discovered.\n",
        "properties": {
          "datastore": {
            "description": "The associated datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfDatastoreDiscoveredEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreDiscoveredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreDiscoveredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreDuplicatedEvent": {
        "type": "object",
        "description": "This event records when a duplicate datastore name is found.\n\nThis event is used in VirtualCenter 1.x and is included for\nbackward compatibility.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreEvent"
          }
        ]
      },
      "ArrayOfDatastoreDuplicatedEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreDuplicatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreDuplicatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreEvent": {
        "type": "object",
        "description": "These are datastore events.\n",
        "properties": {
          "datastore": {
            "description": "The associated datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfDatastoreEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreEventArgument": {
        "type": "object",
        "description": "The event argument is a Datastore object.\n",
        "properties": {
          "datastore": {
            "description": "The Datastore object.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfDatastoreEventArgument": {
        "type": "object",
        "description": "A boxed array of *DatastoreEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreFileCopiedEvent": {
        "type": "object",
        "description": "This event records copy of a file or directory.\n",
        "properties": {
          "sourceDatastore": {
            "description": "Source datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          },
          "sourceFile": {
            "description": "Datastore path of the source file or directory.\n",
            "type": "string"
          }
        },
        "required": [
          "sourceDatastore",
          "sourceFile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreFileEvent"
          }
        ]
      },
      "ArrayOfDatastoreFileCopiedEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreFileCopiedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreFileCopiedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreFileDeletedEvent": {
        "type": "object",
        "description": "This event records deletion of a file or directory.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreFileEvent"
          }
        ]
      },
      "ArrayOfDatastoreFileDeletedEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreFileDeletedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreFileDeletedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreFileEvent": {
        "type": "object",
        "description": "Base class for events related to datastore file and directory\noperations.\n\nProperty _datastore_ inherited from DatastoreEvent refers\nto the destination datastore in case there is more than datastore\ninvolved in the operation.\n",
        "properties": {
          "targetFile": {
            "description": "Datastore path of the target file or directory.\n",
            "type": "string"
          },
          "sourceOfOperation": {
            "description": "Identifier of the initiator of the file operation.\n",
            "type": "string"
          },
          "succeeded": {
            "description": "Indicator whether the datastore file operation succeeded.\n",
            "type": "boolean"
          }
        },
        "required": [
          "targetFile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreEvent"
          }
        ]
      },
      "ArrayOfDatastoreFileEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreFileEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreFileEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreFileMovedEvent": {
        "type": "object",
        "description": "This event records move of a file or directory.\n",
        "properties": {
          "sourceDatastore": {
            "description": "Source datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          },
          "sourceFile": {
            "description": "Datastore path of the source file or directory.\n",
            "type": "string"
          }
        },
        "required": [
          "sourceDatastore",
          "sourceFile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreFileEvent"
          }
        ]
      },
      "ArrayOfDatastoreFileMovedEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreFileMovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreFileMovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreIORMReconfiguredEvent": {
        "type": "object",
        "description": "This event records that the configuration of storage I/O\nresource management for a datastore has changed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreEvent"
          }
        ]
      },
      "ArrayOfDatastoreIORMReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreIORMReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreIORMReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastorePrincipalConfigured": {
        "type": "object",
        "description": "This event records that a datastore principal was configured on a host.\n",
        "properties": {
          "datastorePrincipal": {
            "type": "string"
          }
        },
        "required": [
          "datastorePrincipal"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfDatastorePrincipalConfigured": {
        "type": "object",
        "description": "A boxed array of *DatastorePrincipalConfigured*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastorePrincipalConfigured"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreRemovedOnHostEvent": {
        "type": "object",
        "description": "This event records when a datastore is removed from a host\nbut not from VirtualCenter.\n",
        "properties": {
          "datastore": {
            "description": "The associated datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfDatastoreRemovedOnHostEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreRemovedOnHostEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreRemovedOnHostEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreRenamedEvent": {
        "type": "object",
        "description": "This event records the renaming of a datastore.\n",
        "properties": {
          "oldName": {
            "description": "The old datastore name.\n",
            "type": "string"
          },
          "newName": {
            "description": "The new datastore name.\n",
            "type": "string"
          }
        },
        "required": [
          "oldName",
          "newName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreEvent"
          }
        ]
      },
      "ArrayOfDatastoreRenamedEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreRenamedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreRenamedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreRenamedOnHostEvent": {
        "type": "object",
        "description": "This event records when a datastore is added to VirtualCenter\nand is renamed by VirtualCenter because this datastore already\nexists in VirtualCenter with a different name, or because the\nname conflicts with another datastore in VirtualCenter.\n",
        "properties": {
          "oldName": {
            "description": "The old datastore name.\n",
            "type": "string"
          },
          "newName": {
            "description": "The new datastore name.\n",
            "type": "string"
          }
        },
        "required": [
          "oldName",
          "newName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfDatastoreRenamedOnHostEvent": {
        "type": "object",
        "description": "A boxed array of *DatastoreRenamedOnHostEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreRenamedOnHostEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsDisabledEvent": {
        "type": "object",
        "description": "This event records when DRS is disabled on a cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDrsDisabledEvent": {
        "type": "object",
        "description": "A boxed array of *DrsDisabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsDisabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsEnabledEvent": {
        "type": "object",
        "description": "This event records when DRS is enabled on a cluster.\n",
        "properties": {
          "behavior": {
            "description": "The DRS automation level in (*DrsBehavior*)\n",
            "type": "string"
          }
        },
        "required": [
          "behavior"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDrsEnabledEvent": {
        "type": "object",
        "description": "A boxed array of *DrsEnabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsEnabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsEnteredStandbyModeEvent": {
        "type": "object",
        "description": "This event records that the host has successfully entered standby mode initiated by\nDistributed Power Management.\n\nA host in this mode has no running virtual\nmachines and no provisioning operations are occurring.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EnteredStandbyModeEvent"
          }
        ]
      },
      "ArrayOfDrsEnteredStandbyModeEvent": {
        "type": "object",
        "description": "A boxed array of *DrsEnteredStandbyModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsEnteredStandbyModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsEnteringStandbyModeEvent": {
        "type": "object",
        "description": "This event records that a host has begun the process of\nentering standby mode initiated by Distributed Power Management.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EnteringStandbyModeEvent"
          }
        ]
      },
      "ArrayOfDrsEnteringStandbyModeEvent": {
        "type": "object",
        "description": "A boxed array of *DrsEnteringStandbyModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsEnteringStandbyModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsExitStandbyModeFailedEvent": {
        "type": "object",
        "description": "This event records that Distributed Power Management tried to bring a host out\nfrom standby mode, but the host failed to exit standby mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ExitStandbyModeFailedEvent"
          }
        ]
      },
      "ArrayOfDrsExitStandbyModeFailedEvent": {
        "type": "object",
        "description": "A boxed array of *DrsExitStandbyModeFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsExitStandbyModeFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsExitedStandbyModeEvent": {
        "type": "object",
        "description": "This event records that Distributed Power Management brings this host\nout from standby mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ExitedStandbyModeEvent"
          }
        ]
      },
      "ArrayOfDrsExitedStandbyModeEvent": {
        "type": "object",
        "description": "A boxed array of *DrsExitedStandbyModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsExitedStandbyModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsExitingStandbyModeEvent": {
        "type": "object",
        "description": "This event records that a host has begun the process of\nexiting standby mode initiated by Distributed Power Management.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ExitingStandbyModeEvent"
          }
        ]
      },
      "ArrayOfDrsExitingStandbyModeEvent": {
        "type": "object",
        "description": "A boxed array of *DrsExitingStandbyModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsExitingStandbyModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsInvocationFailedEvent": {
        "type": "object",
        "description": "This event records DRS invocation failure.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDrsInvocationFailedEvent": {
        "type": "object",
        "description": "A boxed array of *DrsInvocationFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsInvocationFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsRecoveredFromFailureEvent": {
        "type": "object",
        "description": "This event records that DRS has recovered from failure.\n\nIt is triggered by a successful DRS invocation after repeated failure.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfDrsRecoveredFromFailureEvent": {
        "type": "object",
        "description": "A boxed array of *DrsRecoveredFromFailureEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsRecoveredFromFailureEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsResourceConfigureFailedEvent": {
        "type": "object",
        "description": "This event records when resource configuration\nspecification synchronization fails on a host.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfDrsResourceConfigureFailedEvent": {
        "type": "object",
        "description": "A boxed array of *DrsResourceConfigureFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsResourceConfigureFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsResourceConfigureSyncedEvent": {
        "type": "object",
        "description": "This event records when resource configuration\nspecification returns to synchronized from previous failure.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfDrsResourceConfigureSyncedEvent": {
        "type": "object",
        "description": "A boxed array of *DrsResourceConfigureSyncedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsResourceConfigureSyncedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsRuleComplianceEvent": {
        "type": "object",
        "description": "This event records when a virtual machine comes into compliance with DRS rules.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfDrsRuleComplianceEvent": {
        "type": "object",
        "description": "A boxed array of *DrsRuleComplianceEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsRuleComplianceEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsRuleViolationEvent": {
        "type": "object",
        "description": "This event records when a virtual machine violates a DRS VM-Host rule.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfDrsRuleViolationEvent": {
        "type": "object",
        "description": "A boxed array of *DrsRuleViolationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsRuleViolationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsSoftRuleViolationEvent": {
        "type": "object",
        "description": "This event records when a virtual machine violates a soft VM-Host rule.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfDrsSoftRuleViolationEvent": {
        "type": "object",
        "description": "A boxed array of *DrsSoftRuleViolationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsSoftRuleViolationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsVmMigratedEvent": {
        "type": "object",
        "description": "This event records a virtual machine migration that was recommended by DRS.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmMigratedEvent"
          }
        ]
      },
      "ArrayOfDrsVmMigratedEvent": {
        "type": "object",
        "description": "A boxed array of *DrsVmMigratedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsVmMigratedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsVmPoweredOnEvent": {
        "type": "object",
        "description": "This event records when a virtual machine is powered on by DRS.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmPoweredOnEvent"
          }
        ]
      },
      "ArrayOfDrsVmPoweredOnEvent": {
        "type": "object",
        "description": "A boxed array of *DrsVmPoweredOnEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsVmPoweredOnEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DuplicateIpDetectedEvent": {
        "type": "object",
        "description": "This event records that a duplicate IP address has been observed in\nconflict with the vmotion or IP storage interface configured on the\nhost.\n",
        "properties": {
          "duplicateIP": {
            "description": "The Duplicate IP address detected.\n",
            "type": "string"
          },
          "macAddress": {
            "description": "The MAC associated with duplicate IP.\n",
            "type": "string"
          }
        },
        "required": [
          "duplicateIP",
          "macAddress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfDuplicateIpDetectedEvent": {
        "type": "object",
        "description": "A boxed array of *DuplicateIpDetectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DuplicateIpDetectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvpgImportEvent": {
        "type": "object",
        "description": "This event is generated when an import operation is\nperformed on a distributed virtual portgroup\n",
        "properties": {
          "importType": {
            "description": "The type of restore operation.\n\nSee *EntityImportType_enum* for valid values\n",
            "type": "string"
          }
        },
        "required": [
          "importType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DVPortgroupEvent"
          }
        ]
      },
      "ArrayOfDvpgImportEvent": {
        "type": "object",
        "description": "A boxed array of *DvpgImportEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvpgImportEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvpgRestoreEvent": {
        "type": "object",
        "description": "This event is generated when a restore operation is\nperformed on a distributed virtual portgroup\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DVPortgroupEvent"
          }
        ]
      },
      "ArrayOfDvpgRestoreEvent": {
        "type": "object",
        "description": "A boxed array of *DvpgRestoreEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvpgRestoreEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsCreatedEvent": {
        "type": "object",
        "description": "A distributed virtual switch was created.\n",
        "properties": {
          "parent": {
            "description": "The folder where the DistributedVirtualSwitch is created.\n",
            "$ref": "#/components/schemas/FolderEventArgument"
          }
        },
        "required": [
          "parent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsDestroyedEvent": {
        "type": "object",
        "description": "A distributed virtual switch was destroyed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsDestroyedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsDestroyedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsDestroyedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsEvent": {
        "type": "object",
        "description": "These are dvs-related events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfDvsEvent": {
        "type": "object",
        "description": "A boxed array of *DvsEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsEventArgument": {
        "type": "object",
        "description": "The event argument is a Host object.\n",
        "properties": {
          "dvs": {
            "description": "The distributed virtual switch object.\n\nRefers instance of *DistributedVirtualSwitch*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "dvs"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfDvsEventArgument": {
        "type": "object",
        "description": "A boxed array of *DvsEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsHealthStatusChangeEvent": {
        "type": "object",
        "description": "Health check status of an switch is changed.\n",
        "properties": {
          "switchUuid": {
            "description": "UUID of the DVS the host is connected to.\n",
            "type": "string"
          },
          "healthResult": {
            "description": "Health check status.\n",
            "$ref": "#/components/schemas/HostMemberHealthCheckResult"
          }
        },
        "required": [
          "switchUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfDvsHealthStatusChangeEvent": {
        "type": "object",
        "description": "A boxed array of *DvsHealthStatusChangeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHealthStatusChangeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsHostBackInSyncEvent": {
        "type": "object",
        "description": "The DVS configuration on the host was synchronized with that of\nthe Virtual Center Server and the configuration is the same on\nthe host and Virtual Center Server.\n",
        "properties": {
          "hostBackInSync": {
            "description": "The host that was synchronized.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "hostBackInSync"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsHostBackInSyncEvent": {
        "type": "object",
        "description": "A boxed array of *DvsHostBackInSyncEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostBackInSyncEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsHostJoinedEvent": {
        "type": "object",
        "description": "A host joined the distributed virtual switch.\n",
        "properties": {
          "hostJoined": {
            "description": "The host that joined DVS.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "hostJoined"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsHostJoinedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsHostJoinedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostJoinedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsHostLeftEvent": {
        "type": "object",
        "description": "A host left the distributed virtual switch.\n",
        "properties": {
          "hostLeft": {
            "description": "The host that left DVS.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "hostLeft"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsHostLeftEvent": {
        "type": "object",
        "description": "A boxed array of *DvsHostLeftEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostLeftEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsHostStatusUpdated": {
        "type": "object",
        "description": "A host has it's status or statusDetail updated.\n",
        "properties": {
          "hostMember": {
            "description": "The host.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "oldStatus": {
            "description": "Host's old status.\n",
            "type": "string"
          },
          "newStatus": {
            "description": "Host's new status.\n",
            "type": "string"
          },
          "oldStatusDetail": {
            "description": "Comments regarding host's old status.\n",
            "type": "string"
          },
          "newStatusDetail": {
            "description": "Comments regarding host's new status.\n",
            "type": "string"
          }
        },
        "required": [
          "hostMember"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsHostStatusUpdated": {
        "type": "object",
        "description": "A boxed array of *DvsHostStatusUpdated*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostStatusUpdated"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsHostWentOutOfSyncEvent": {
        "type": "object",
        "description": "The DVS configuration on the host diverged from that of\nthe Virtual Center Server.\n",
        "properties": {
          "hostOutOfSync": {
            "description": "The host that went out of sync.\n",
            "$ref": "#/components/schemas/DvsOutOfSyncHostArgument"
          }
        },
        "required": [
          "hostOutOfSync"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsHostWentOutOfSyncEvent": {
        "type": "object",
        "description": "A boxed array of *DvsHostWentOutOfSyncEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostWentOutOfSyncEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsImportEvent": {
        "type": "object",
        "description": "This event is generated when a import operation is\nperformed on a distributed virtual switch\n",
        "properties": {
          "importType": {
            "description": "The type of restore operation.\n\nSee *EntityImportType_enum* for valid values\n",
            "type": "string"
          }
        },
        "required": [
          "importType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsImportEvent": {
        "type": "object",
        "description": "A boxed array of *DvsImportEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsImportEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsMergedEvent": {
        "type": "object",
        "description": "Two distributed virtual switches was merged.\n",
        "properties": {
          "sourceDvs": {
            "description": "The source DVS.\n",
            "$ref": "#/components/schemas/DvsEventArgument"
          },
          "destinationDvs": {
            "description": "The destination DVS.\n",
            "$ref": "#/components/schemas/DvsEventArgument"
          }
        },
        "required": [
          "sourceDvs",
          "destinationDvs"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsMergedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsMergedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsMergedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsOutOfSyncHostArgument": {
        "type": "object",
        "description": "The host on which the DVS configuration is different from that\nof Virtual Center server.\n",
        "properties": {
          "outOfSyncHost": {
            "description": "The host.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "configParamters": {
            "description": "The DVS configuration parameters that are different between\nVirtual Center server and the host.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "outOfSyncHost",
          "configParamters"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsOutOfSyncHostArgument": {
        "type": "object",
        "description": "A boxed array of *DvsOutOfSyncHostArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsOutOfSyncHostArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortBlockedEvent": {
        "type": "object",
        "description": "A port is blocked in the distributed virtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "statusDetail": {
            "description": "Reason for port's current status\n",
            "type": "string"
          },
          "runtimeInfo": {
            "description": "The port runtime information.\n",
            "$ref": "#/components/schemas/DVPortStatus"
          },
          "prevBlockState": {
            "description": "Previous state of the DvsPort.\n\nSee *DvsEventPortBlockState_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortBlockedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortBlockedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortBlockedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortConnectedEvent": {
        "type": "object",
        "description": "A port is connected in the distributed virtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "connectee": {
            "description": "The port's connectee.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortConnectee"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortConnectedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortConnectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortConnectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortCreatedEvent": {
        "type": "object",
        "description": "New ports are created in the distributed virtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The key of the ports that are created.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortDeletedEvent": {
        "type": "object",
        "description": "Existing ports are deleted in the distributed virtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The key of the ports that are deleted.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortDeletedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortDeletedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortDeletedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortDisconnectedEvent": {
        "type": "object",
        "description": "A port is disconnected in the distributed virtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "connectee": {
            "description": "The port's formal connectee.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortConnectee"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortDisconnectedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortDisconnectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortDisconnectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortEnteredPassthruEvent": {
        "type": "object",
        "description": "A port has entered passthrough mode on the distributed virtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "runtimeInfo": {
            "description": "The port runtime information.\n",
            "$ref": "#/components/schemas/DVPortStatus"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortEnteredPassthruEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortEnteredPassthruEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortEnteredPassthruEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortExitedPassthruEvent": {
        "type": "object",
        "description": "A port has exited passthrough mode on the distributed virtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "runtimeInfo": {
            "description": "The port runtime information.\n",
            "$ref": "#/components/schemas/DVPortStatus"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortExitedPassthruEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortExitedPassthruEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortExitedPassthruEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortJoinPortgroupEvent": {
        "type": "object",
        "description": "A port was moved into the distributed virtual portgroup.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "portgroupKey": {
            "description": "The portgroup key.\n",
            "type": "string"
          },
          "portgroupName": {
            "description": "The portgroup name.\n",
            "type": "string"
          }
        },
        "required": [
          "portKey",
          "portgroupKey",
          "portgroupName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortJoinPortgroupEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortJoinPortgroupEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortJoinPortgroupEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortLeavePortgroupEvent": {
        "type": "object",
        "description": "A port was moved out of the distributed virtual portgroup.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "portgroupKey": {
            "description": "The portgroup key.\n",
            "type": "string"
          },
          "portgroupName": {
            "description": "The portgroup name.\n",
            "type": "string"
          }
        },
        "required": [
          "portKey",
          "portgroupKey",
          "portgroupName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortLeavePortgroupEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortLeavePortgroupEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortLeavePortgroupEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortLinkDownEvent": {
        "type": "object",
        "description": "A port of which link status is changed to down in the distributed\nvirtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "runtimeInfo": {
            "description": "The port runtime information.\n",
            "$ref": "#/components/schemas/DVPortStatus"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortLinkDownEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortLinkDownEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortLinkDownEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortLinkUpEvent": {
        "type": "object",
        "description": "A port of which link status is changed to up in the distributed\nvirtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "runtimeInfo": {
            "description": "The port runtime information.\n",
            "$ref": "#/components/schemas/DVPortStatus"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortLinkUpEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortLinkUpEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortLinkUpEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortReconfiguredEvent": {
        "type": "object",
        "description": "Existing ports are reconfigured in the distributed virtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The key of the ports that are reconfigured.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "configChanges": {
            "description": "The configuration values changed during the reconfiguration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChangesInfoEventArgument"
            }
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortRuntimeChangeEvent": {
        "type": "object",
        "description": "A port of which runtime information is changed in the vNetwork Distributed\nSwitch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "runtimeInfo": {
            "description": "The new port runtime information.\n",
            "$ref": "#/components/schemas/DVPortStatus"
          }
        },
        "required": [
          "portKey",
          "runtimeInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortRuntimeChangeEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortRuntimeChangeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortRuntimeChangeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortUnblockedEvent": {
        "type": "object",
        "description": "A port is unblocked in the distributed virtual switch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          },
          "runtimeInfo": {
            "description": "The port runtime information.\n",
            "$ref": "#/components/schemas/DVPortStatus"
          },
          "prevBlockState": {
            "description": "Previous state of the DvsPort.\n\nSee *DvsEventPortBlockState_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortUnblockedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortUnblockedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortUnblockedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsPortVendorSpecificStateChangeEvent": {
        "type": "object",
        "description": "A port of which vendor specific state is changed in the vNetwork Distributed\nSwitch.\n",
        "properties": {
          "portKey": {
            "description": "The port key.\n",
            "type": "string"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsPortVendorSpecificStateChangeEvent": {
        "type": "object",
        "description": "A boxed array of *DvsPortVendorSpecificStateChangeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsPortVendorSpecificStateChangeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsReconfiguredEvent": {
        "type": "object",
        "description": "A distributed virtual switch was reconfigured.\n",
        "properties": {
          "configSpec": {
            "description": "The reconfiguration spec.\n",
            "$ref": "#/components/schemas/DVSConfigSpec"
          },
          "configChanges": {
            "description": "The configuration values changed during the reconfiguration.\n",
            "$ref": "#/components/schemas/ChangesInfoEventArgument"
          }
        },
        "required": [
          "configSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *DvsReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsRenamedEvent": {
        "type": "object",
        "description": "A distributed virtual switch was renamed.\n",
        "properties": {
          "oldName": {
            "description": "The old DistributedVirtualSwitch name.\n",
            "type": "string"
          },
          "newName": {
            "description": "The new DistributedVirtualSwitch name.\n",
            "type": "string"
          }
        },
        "required": [
          "oldName",
          "newName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsRenamedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsRenamedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsRenamedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsRestoreEvent": {
        "type": "object",
        "description": "This event is generated when a restore operation is\nperformed on a distributed virtual switch\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsRestoreEvent": {
        "type": "object",
        "description": "A boxed array of *DvsRestoreEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsRestoreEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsUpgradeAvailableEvent": {
        "type": "object",
        "description": "An upgrade for the distributed virtual switch is available.\n",
        "properties": {
          "productInfo": {
            "description": "The product info of the upgrade.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        },
        "required": [
          "productInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsUpgradeAvailableEvent": {
        "type": "object",
        "description": "A boxed array of *DvsUpgradeAvailableEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsUpgradeAvailableEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsUpgradeInProgressEvent": {
        "type": "object",
        "description": "An upgrade for the distributed virtual switch is in progress.\n",
        "properties": {
          "productInfo": {
            "description": "The product info of the upgrade.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        },
        "required": [
          "productInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsUpgradeInProgressEvent": {
        "type": "object",
        "description": "A boxed array of *DvsUpgradeInProgressEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsUpgradeInProgressEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsUpgradeRejectedEvent": {
        "type": "object",
        "description": "An upgrade for the distributed virtual switch is rejected.\n",
        "properties": {
          "productInfo": {
            "description": "The product info of the upgrade.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        },
        "required": [
          "productInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsUpgradeRejectedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsUpgradeRejectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsUpgradeRejectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsUpgradedEvent": {
        "type": "object",
        "description": "The distributed virtual switch was upgraded.\n",
        "properties": {
          "productInfo": {
            "description": "The product info of the upgrade.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        },
        "required": [
          "productInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfDvsUpgradedEvent": {
        "type": "object",
        "description": "A boxed array of *DvsUpgradedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsUpgradedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EnteredMaintenanceModeEvent": {
        "type": "object",
        "description": "This event records that the host has completely entered\nmaintenance mode.\n\nA host in this mode has no running virtual machines and no\nprovisioning operations are occurring.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfEnteredMaintenanceModeEvent": {
        "type": "object",
        "description": "A boxed array of *EnteredMaintenanceModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnteredMaintenanceModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EnteredStandbyModeEvent": {
        "type": "object",
        "description": "This event records that the host has successfully entered\nstandby mode.\n\nA host in this mode has no running virtual machines and no\nprovisioning operations are occurring.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfEnteredStandbyModeEvent": {
        "type": "object",
        "description": "A boxed array of *EnteredStandbyModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnteredStandbyModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EnteringMaintenanceModeEvent": {
        "type": "object",
        "description": "This event records that a host has begun the process of entering\nmaintenance mode.\n\nAll virtual machine operations\nare blocked, except the following:\n- MigrateVM\n- PowerOffVM\n- SuspendVM\n- ShutdownGuest\n- StandbyGuest\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfEnteringMaintenanceModeEvent": {
        "type": "object",
        "description": "A boxed array of *EnteringMaintenanceModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnteringMaintenanceModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EnteringStandbyModeEvent": {
        "type": "object",
        "description": "This event records that a host has begun the process of entering\nstandby mode.\n\nAll virtual machine operations\nare blocked, except the following:\n- MigrateVM\n- PowerOffVM\n- SuspendVM\n- ShutdownGuest\n- StandbyGuest\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfEnteringStandbyModeEvent": {
        "type": "object",
        "description": "A boxed array of *EnteringStandbyModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnteringStandbyModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EntityEventArgument": {
        "type": "object",
        "description": "The event argument is a managed entity object.\n\nSubclasses of this type distinguish the different managed entities\nreferenced in event objects.\n",
        "properties": {
          "name": {
            "description": "Name of the entity, including its full path from the root of the inventory.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EventArgument"
          }
        ]
      },
      "ArrayOfEntityEventArgument": {
        "type": "object",
        "description": "A boxed array of *EntityEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ErrorUpgradeEvent": {
        "type": "object",
        "description": "This event is a general error event from upgrade.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpgradeEvent"
          }
        ]
      },
      "ArrayOfErrorUpgradeEvent": {
        "type": "object",
        "description": "A boxed array of *ErrorUpgradeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorUpgradeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Event": {
        "type": "object",
        "description": "This event is the base data object type from which all events inherit.\n\nAll event\nobjects are data structures that describe events. While event data objects are data\nstructures that describe events, event data type documentation may describe what the\nevent records, rather than the data structure, itself.\n",
        "properties": {
          "key": {
            "description": "The event ID.\n",
            "type": "integer",
            "format": "int32"
          },
          "chainId": {
            "description": "The parent or group ID.\n",
            "type": "integer",
            "format": "int32"
          },
          "createdTime": {
            "description": "The time the event was created.\n",
            "type": "string",
            "format": "date-time"
          },
          "userName": {
            "description": "The user who caused the event.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "The Datacenter object of the event.\n",
            "$ref": "#/components/schemas/DatacenterEventArgument"
          },
          "computeResource": {
            "description": "The ComputeResource object of the event.\n",
            "$ref": "#/components/schemas/ComputeResourceEventArgument"
          },
          "host": {
            "description": "The Host object of the event.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "vm": {
            "description": "The VirtualMachine object of the event.\n",
            "$ref": "#/components/schemas/VmEventArgument"
          },
          "ds": {
            "description": "The Datastore object of the event.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          },
          "net": {
            "description": "The Network object of the event.\n",
            "$ref": "#/components/schemas/NetworkEventArgument"
          },
          "dvs": {
            "description": "The DistributedVirtualSwitch object of the event.\n",
            "$ref": "#/components/schemas/DvsEventArgument"
          },
          "fullFormattedMessage": {
            "description": "A formatted text message describing the event.\n\nThe message may be localized.\n",
            "type": "string"
          },
          "changeTag": {
            "description": "The user entered tag to identify the operations and their side effects\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "chainId",
          "createdTime",
          "userName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEvent": {
        "type": "object",
        "description": "A boxed array of *Event*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Event"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventArgument": {
        "type": "object",
        "description": "This is the base type for event argument types.\n\nEvent argument objects, which inherit from a common subtype,\nare used to manage supplementary properties of different kinds\nof event objects.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEventArgument": {
        "type": "object",
        "description": "A boxed array of *EventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventDescription": {
        "type": "object",
        "description": "This data object provides static, locale-specific strings for event objects.\n",
        "properties": {
          "category": {
            "description": "*Event Category enum*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "eventInfo": {
            "description": "The event class description details.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventDescriptionEventDetail"
            }
          },
          "enumeratedTypes": {
            "description": "Localized descriptions of all enumerated types that are used for\nmember declarations in event classes.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnumDescription"
            }
          }
        },
        "required": [
          "category",
          "eventInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEventDescription": {
        "type": "object",
        "description": "A boxed array of *EventDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventArgDesc": {
        "type": "object",
        "description": "Describes an available event argument name for an Event type, which\ncan be used in *EventAlarmExpression*.\n",
        "properties": {
          "name": {
            "description": "The name of the argument\n",
            "type": "string"
          },
          "type": {
            "description": "The type of the argument.\n",
            "type": "string"
          },
          "description": {
            "description": "The localized description of the event argument.\n\nThe key holds\nthe localization prefix for the argument, which is decided by\nthe Event type that it is actually declared in, which may be a\nbase type of this event type.\n",
            "$ref": "#/components/schemas/ElementDescription"
          }
        },
        "required": [
          "name",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEventArgDesc": {
        "type": "object",
        "description": "A boxed array of *EventArgDesc*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventArgDesc"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventDescriptionEventDetail": {
        "type": "object",
        "description": "Each Event object provides an automatic event message string through\nits *fullFormattedMessage*\nproperty.\n\nHowever, you can use the EventDetail object's properties to\nformat an event message string that is appropriate when viewed from\na specific context. The variable information (vm.name, and so on) is\nderived from the Event object's event arguments\n(*VmEventArgument*, and so on).\n",
        "properties": {
          "key": {
            "description": "Type of event being described.\n",
            "type": "string"
          },
          "description": {
            "description": "A string that is a short human-parseable description of the event.\n\nThis is not the full message string (which may contain details\nof the arguments, etc.), but merely a more understandable, and\nlocalized, description of what the event stands for. It is meant\nfor contexts where the _name_ of the event has to be displayed\nto end-users, e.g. when creating Event-based Alarms.\n\\` \\* \n\nE.g., for *VmPoweredOnEvent*, the eventDescription\nin English might say \"VM Powered On\".\n",
            "type": "string"
          },
          "category": {
            "description": "A category of events.\n",
            "type": "string"
          },
          "formatOnDatacenter": {
            "description": "A string that is appropriate in the context of a specific\nDatacenter.\n\nFor example, a renaming event in this context produces\nthe following string:\n\n\"Renamed {vm.name} from {oldName} to {newName}\"\n\nwhere *oldName* and\n*newName* are properties of the\nVmRenamedEvent object.\n",
            "type": "string"
          },
          "formatOnComputeResource": {
            "description": "A string that is appropriate in the context of a specific cluster.\n\nFor example, a powering on event in this context produces the\nfollowing string:\n\n\"{vm.name} on {host.name} is powered on\".\n",
            "type": "string"
          },
          "formatOnHost": {
            "description": "A string that is appropriate in the context\nof a specific Host.\n\nFor example, a powering on event in this\ncontext produces the following string:\n\n\"{vm.name} is powered on\"\n",
            "type": "string"
          },
          "formatOnVm": {
            "description": "A string that is appropriate for the context of a specific\nvirtual machine.\n\nFor example, a powering on event in this context\nproduces the following string:\n\n\"Virtual machine on {host.name} is powered on\"\n",
            "type": "string"
          },
          "fullFormat": {
            "description": "A string whose context is not entity-specific.\n\nFor example, a\npowering on event produces the following string:\n\n\"{vm.name} on {host.name} in {datacenter.name} is powered on\"\n",
            "type": "string"
          },
          "longDescription": {
            "description": "A detailed description of the event.\n\nIt includes common causes\nand actions to remediate them. It may also include links to kb\narticles and other diagnostic information.\nFor example, the BadUserNameSessionEvent may produce the\nfollowing string:\n\n         <EventLongDescription id=\"vim.event.BadUserNameSessionEvent\">\n            <description>\n               The user could not be logged in because of an unknown or invalid\n               user name.\n            </description>\n            <cause>\n               <description>The user name was unknown to the system</description>\n               <action>Use a user name known to the system user directory</action>\n               <action>(On Linux) Check if the user directory is correctly\n                       configured.</action>\n               <action>Check the health of the domain controller (if you are using\n                       Active Directory)</action>\n            </cause>\n            <cause>\n               <description>The user provided an invalid password</description>\n               <action>Supply the correct password</action>\n            </cause>\n         </EventLongDescription>\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "category",
          "formatOnDatacenter",
          "formatOnComputeResource",
          "formatOnHost",
          "formatOnVm",
          "fullFormat"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEventDescriptionEventDetail": {
        "type": "object",
        "description": "A boxed array of *EventDescriptionEventDetail*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventDescriptionEventDetail"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventEx": {
        "type": "object",
        "description": "EventEx is a dynamically typed Event class, whose type is indicated by its\neventTypeId property.\n\nA collection of eventTypeIds is registered by Extensions, which can now\npass in optional type information for each eventTypeId which indicates the\napplicable argument names and types, among other properties.\n\nEventEx allows event arguments of any type, though today, the system\nonly supports \"string\" and \"moid\" (a string which can be interpreted as an\nobject ID in the system) as argument types. In the future, the system\nmay optionally strongly check the types of the arguments in the event\nagainst the declared type information, based on how the event type is\ndeclared.\n\nEventEx also allows arbitrary \"event object\"s - the object which the\nevent refers to. You can put in any object identifier as the objectId,\nbut objectType should be filled in only if the object is actually present\nin the VC Server's ManagedEntity inventory.\n",
        "properties": {
          "eventTypeId": {
            "description": "The type of the event.\n",
            "type": "string"
          },
          "severity": {
            "description": "The severity level of the message: null=&gt;info.\n\nSee also *EventEventSeverity_enum*.\n",
            "type": "string"
          },
          "message": {
            "description": "An arbitrary message string, not localized.\n",
            "type": "string"
          },
          "arguments": {
            "description": "The event arguments associated with the event\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          },
          "objectId": {
            "description": "The ID of the object (VM, Host, Folder..) which the event pertains to.\n\nFederated or local inventory path.\n",
            "type": "string"
          },
          "objectType": {
            "description": "the type of the object, if known to the VirtualCenter inventory\n",
            "type": "string"
          },
          "objectName": {
            "description": "The name of the object\n",
            "type": "string"
          },
          "fault": {
            "description": "The fault that triggered the event, if any\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "eventTypeId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfEventEx": {
        "type": "object",
        "description": "A boxed array of *EventEx*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventEx"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventFilterSpec": {
        "type": "object",
        "description": "Event filter used to query events in the history collector database.\n\nThe client creates an event history collector with a filter specification,\nthen retrieves the events from the event history collector.\n",
        "properties": {
          "entity": {
            "description": "The filter specification for retrieving events by managed entity.\n\nIf the property is not set, then events attached to all managed entities\nare collected.\n",
            "$ref": "#/components/schemas/EventFilterSpecByEntity"
          },
          "time": {
            "description": "The filter specification for retrieving tasks by time.\n\nIf the property is not set, then events with any time stamp are collected.\n",
            "$ref": "#/components/schemas/EventFilterSpecByTime"
          },
          "userName": {
            "description": "The filter specification for retrieving events by username.\n\nIf the property is not set, then events belonging to any user are collected.\n",
            "$ref": "#/components/schemas/EventFilterSpecByUsername"
          },
          "eventChainId": {
            "description": "The filter specification for retrieving events by chain ID.\n\nIf the property is not set, events with any chain ID are collected.\n",
            "type": "integer",
            "format": "int32"
          },
          "alarm": {
            "description": "This property, if set, limits the set of collected events to those\nassociated with the specified alarm.\n\nIf the property is not set, events are collected regardless of their\nassociation with alarms.\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "scheduledTask": {
            "description": "This property, if set, limits the set of collected events to those\nassociated with the specified scheduled task.\n\nIf the property is not set, events are collected regardless of their\nassociation with any scheduled task.\n\nRefers instance of *ScheduledTask*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "disableFullMessage": {
            "description": "Flag to specify whether or not to prepare the full formatted message\nfor each event.\n\nIf the property is not set, the collected events do not include\nthe full formatted message.\n",
            "type": "boolean"
          },
          "category": {
            "description": "This property, if set, limits the set of collected events to those\nassociated with the specified category.\n\nIf the property is not set, events are collected regardless of their\nassociation with any category.\n\"category\" here is the same as Event.severity.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0, use *EventFilterSpec.eventTypeId* instead.\n\nThis property, if set, limits the set of collected events to those\nspecified types.\n\nIf the property is not set, events are collected regardless of their\ntypes.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tag": {
            "description": "This property, if set, limits the set of filtered events to those that\nhave it.\n\nIf not set, or the size of it 0, the tag of an event is\ndisregarded. A blank string indicates events without tags.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "eventTypeId": {
            "description": "This property, if set, limits the set of collected events to those\nspecified types.\n\nNote: if both *EventFilterSpec.eventTypeId* and *EventFilterSpec.type* are specified, an\nexception may be thrown by *EventManager.CreateCollectorForEvents*.\n\nThe semantics of how eventTypeId matching is done is as follows:\n- If the event being collected is of type *EventEx*\n  or *ExtendedEvent*, then we match against the\n  <code>eventTypeId</code> (for <code>EventEx</code>) or\n  <code>eventId</code> (for <code>ExtendedEvent</code>) member of the Event.\n- Otherwise, we match against the type of the Event itself.\n  \nIf neither this property, nor <code>type</code>, is set, events are\ncollected regardless of their types.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maxCount": {
            "description": "This property, if set, specifies the maximum number of returned events.\n\nIf unset, the default maximum number will be used.\nUsing this property with *EventManager.CreateCollectorForEvents* is more\nefficient than a call to *HistoryCollector.SetCollectorPageSize*.\n",
            "type": "integer",
            "format": "int32"
          },
          "delayedInit": {
            "description": "This property, if set, specifies whether latest page should be populated on Collector creation.\n\nTrue for delayed population and false for immediate.\nIf unset, the latest page is populated immediately.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEventFilterSpec": {
        "type": "object",
        "description": "A boxed array of *EventFilterSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventFilterSpecByEntity": {
        "type": "object",
        "description": "This option specifies a managed entity used to filter event history.\n\nIf the specified managed entity is a Folder or a ResourcePool, the query\nwill actually be performed on the entities contained within that Folder\nor ResourcePool, so you cannot query for events on Folders and\nResourcePools themselves this way.\n",
        "properties": {
          "entity": {
            "description": "The managed entity to which the event pertains.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "recursion": {
            "description": "Specification of related managed entities in the inventory hierarchy.\n",
            "$ref": "#/components/schemas/EventFilterSpecRecursionOption_enum"
          }
        },
        "required": [
          "entity",
          "recursion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEventFilterSpecByEntity": {
        "type": "object",
        "description": "A boxed array of *EventFilterSpecByEntity*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventFilterSpecByEntity"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventFilterSpecByTime": {
        "type": "object",
        "description": "This option specifies a time range used to filter event history.\n",
        "properties": {
          "beginTime": {
            "description": "The beginning of the time range.\n\nIf this property is not set, then events are collected from\nthe earliest time in the database.\n",
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "description": "The end of the time range.\n\nIf this property is not specified, then events are collected up to\nthe latest time in the database.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEventFilterSpecByTime": {
        "type": "object",
        "description": "A boxed array of *EventFilterSpecByTime*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventFilterSpecByTime"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EventFilterSpecByUsername": {
        "type": "object",
        "description": "This option specifies users used to filter event history.\n",
        "properties": {
          "systemUser": {
            "description": "filter by system user\ntrue for system user event\n",
            "type": "boolean"
          },
          "userList": {
            "description": "all interested username list\nIf this property is not set, then all regular user events are\ncollected\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "systemUser"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfEventFilterSpecByUsername": {
        "type": "object",
        "description": "A boxed array of *EventFilterSpecByUsername*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventFilterSpecByUsername"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExitMaintenanceModeEvent": {
        "type": "object",
        "description": "This event records that the host is no longer in\nmaintenance mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfExitMaintenanceModeEvent": {
        "type": "object",
        "description": "A boxed array of *ExitMaintenanceModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExitMaintenanceModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExitStandbyModeFailedEvent": {
        "type": "object",
        "description": "This event records that the host failed to exit standby mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfExitStandbyModeFailedEvent": {
        "type": "object",
        "description": "A boxed array of *ExitStandbyModeFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExitStandbyModeFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExitedStandbyModeEvent": {
        "type": "object",
        "description": "This event records that the host is no longer in\nstandby mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfExitedStandbyModeEvent": {
        "type": "object",
        "description": "A boxed array of *ExitedStandbyModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExitedStandbyModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExitingStandbyModeEvent": {
        "type": "object",
        "description": "This event records that a host has begun the process of\nexiting standby mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfExitingStandbyModeEvent": {
        "type": "object",
        "description": "A boxed array of *ExitingStandbyModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExitingStandbyModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtendedEvent": {
        "type": "object",
        "description": "This event is the base class for extended events.\n",
        "properties": {
          "eventTypeId": {
            "description": "The id of the type of extended event.\n",
            "type": "string"
          },
          "managedObject": {
            "description": "The object on which the event was logged.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "data": {
            "description": "Key/value pairs associated with event.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedEventPair"
            }
          }
        },
        "required": [
          "eventTypeId",
          "managedObject"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneralEvent"
          }
        ]
      },
      "ArrayOfExtendedEvent": {
        "type": "object",
        "description": "A boxed array of *ExtendedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtendedEventPair": {
        "type": "object",
        "description": "key/value pair\n",
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtendedEventPair": {
        "type": "object",
        "description": "A boxed array of *ExtendedEventPair*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedEventPair"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FailoverLevelRestored": {
        "type": "object",
        "description": "This event records that the amount of cluster resources has increased\nand is now sufficient to satisfy the configured HA failover level.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfFailoverLevelRestored": {
        "type": "object",
        "description": "A boxed array of *FailoverLevelRestored*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FailoverLevelRestored"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FolderEventArgument": {
        "type": "object",
        "description": "The event argument is a Folder object.\n",
        "properties": {
          "folder": {
            "description": "The Folder object.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "folder"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfFolderEventArgument": {
        "type": "object",
        "description": "A boxed array of *FolderEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GeneralEvent": {
        "type": "object",
        "description": "These are general events.\n",
        "properties": {
          "message": {
            "description": "A short form of the message string, not localized.\n",
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfGeneralEvent": {
        "type": "object",
        "description": "A boxed array of *GeneralEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GeneralHostErrorEvent": {
        "type": "object",
        "description": "This event is the general error event for a host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneralEvent"
          }
        ]
      },
      "ArrayOfGeneralHostErrorEvent": {
        "type": "object",
        "description": "A boxed array of *GeneralHostErrorEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralHostErrorEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GeneralHostInfoEvent": {
        "type": "object",
        "description": "This event is the general information event for a host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneralEvent"
          }
        ]
      },
      "ArrayOfGeneralHostInfoEvent": {
        "type": "object",
        "description": "A boxed array of *GeneralHostInfoEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralHostInfoEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GeneralHostWarningEvent": {
        "type": "object",
        "description": "This event is the general warning event for a host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneralEvent"
          }
        ]
      },
      "ArrayOfGeneralHostWarningEvent": {
        "type": "object",
        "description": "A boxed array of *GeneralHostWarningEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralHostWarningEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GeneralUserEvent": {
        "type": "object",
        "description": "This event is the general user event type.\n",
        "properties": {
          "entity": {
            "description": "The entity on which the event was logged.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneralEvent"
          }
        ]
      },
      "ArrayOfGeneralUserEvent": {
        "type": "object",
        "description": "A boxed array of *GeneralUserEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralUserEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GeneralVmErrorEvent": {
        "type": "object",
        "description": "This event is the general error event for a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneralEvent"
          }
        ]
      },
      "ArrayOfGeneralVmErrorEvent": {
        "type": "object",
        "description": "A boxed array of *GeneralVmErrorEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralVmErrorEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GeneralVmInfoEvent": {
        "type": "object",
        "description": "This event is the general information event for a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneralEvent"
          }
        ]
      },
      "ArrayOfGeneralVmInfoEvent": {
        "type": "object",
        "description": "A boxed array of *GeneralVmInfoEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralVmInfoEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GeneralVmWarningEvent": {
        "type": "object",
        "description": "This event is the general warning event for a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneralEvent"
          }
        ]
      },
      "ArrayOfGeneralVmWarningEvent": {
        "type": "object",
        "description": "A boxed array of *GeneralVmWarningEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralVmWarningEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GhostDvsProxySwitchDetectedEvent": {
        "type": "object",
        "description": "This event records when Virtual Center server found DVS proxy switches\non the host that don't match any DVS defined in Virtual Center.\n",
        "properties": {
          "switchUuid": {
            "description": "The list of ghost DVS proxy switch uuids that were found.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "switchUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfGhostDvsProxySwitchDetectedEvent": {
        "type": "object",
        "description": "A boxed array of *GhostDvsProxySwitchDetectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GhostDvsProxySwitchDetectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GhostDvsProxySwitchRemovedEvent": {
        "type": "object",
        "description": "This event records when the ghost DVS proxy switches (a.k.a host\nproxy switches that don't match any DVS defined in Virtual Center)\nwere removed on the host.\n",
        "properties": {
          "switchUuid": {
            "description": "The list of ghost DVS proxy switch uuid that were removed.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "switchUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfGhostDvsProxySwitchRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *GhostDvsProxySwitchRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GhostDvsProxySwitchRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GlobalMessageChangedEvent": {
        "type": "object",
        "description": "This event records a change to the global message.\n",
        "properties": {
          "message": {
            "description": "The new message that was set.\n",
            "type": "string"
          },
          "prevMessage": {
            "description": "The previous message that was set.\n",
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionEvent"
          }
        ]
      },
      "ArrayOfGlobalMessageChangedEvent": {
        "type": "object",
        "description": "A boxed array of *GlobalMessageChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GlobalMessageChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HealthStatusChangedEvent": {
        "type": "object",
        "description": "Event used to report change in health status of VirtualCenter components.\n",
        "properties": {
          "componentId": {
            "description": "Unique ID of the VirtualCenter component.\n",
            "type": "string"
          },
          "oldStatus": {
            "description": "Previous health status of the component.\n",
            "type": "string"
          },
          "newStatus": {
            "description": "Current health status of the component.\n",
            "type": "string"
          },
          "componentName": {
            "description": "Component name.\n",
            "type": "string"
          },
          "serviceId": {
            "description": "Service Id of component.\n",
            "type": "string"
          }
        },
        "required": [
          "componentId",
          "oldStatus",
          "newStatus",
          "componentName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfHealthStatusChangedEvent": {
        "type": "object",
        "description": "A boxed array of *HealthStatusChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HealthStatusChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAddFailedEvent": {
        "type": "object",
        "description": "This event records that adding a host failed.\n",
        "properties": {
          "hostname": {
            "type": "string"
          }
        },
        "required": [
          "hostname"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostAddFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostAddFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAddFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAddedEvent": {
        "type": "object",
        "description": "This event records the addition of a host to VirtualCenter.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostAddedEvent": {
        "type": "object",
        "description": "A boxed array of *HostAddedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAddedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAdminDisableEvent": {
        "type": "object",
        "description": "This event records that the permission on the host has been changed such\nthat only the user account used for VirtualCenter operation will have\nAdministrator permission.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostAdminDisableEvent": {
        "type": "object",
        "description": "A boxed array of *HostAdminDisableEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAdminDisableEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAdminEnableEvent": {
        "type": "object",
        "description": "This event records that the administrator permission has been restored.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostAdminEnableEvent": {
        "type": "object",
        "description": "A boxed array of *HostAdminEnableEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAdminEnableEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedAccountFailedEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to a failure to set up a management account.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedAccountFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedAccountFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedAccountFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedAlreadyManagedEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to the host being managed by a different VirtualCenter server.\n",
        "properties": {
          "serverName": {
            "description": "The name of the VirtualCenter server that manages the host.\n",
            "type": "string"
          }
        },
        "required": [
          "serverName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedAlreadyManagedEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedAlreadyManagedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedAlreadyManagedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedBadCcagentEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to no response being received from the host agent.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedBadCcagentEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedBadCcagentEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedBadCcagentEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedBadUsernameEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to an invalid user name and password combination.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedBadUsernameEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedBadUsernameEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedBadUsernameEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedBadVersionEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to an incompatible client version.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedBadVersionEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedBadVersionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedBadVersionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedCcagentUpgradeEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to a conflict with an upgrade or installation of the host agent.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedCcagentUpgradeEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedCcagentUpgradeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedCcagentUpgradeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to an unspecified condition.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedNetworkErrorEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to a network error.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedNetworkErrorEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedNetworkErrorEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedNetworkErrorEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedNoAccessEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to insufficient account privileges.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedNoAccessEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedNoAccessEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedNoAccessEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedNoConnectionEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to a host not being present on the network.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedNoConnectionEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedNoConnectionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedNoConnectionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedNoLicenseEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to a licensing issue.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedNoLicenseEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedNoLicenseEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedNoLicenseEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedNotFoundEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to a failure to resolve the host name.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedNotFoundEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedNotFoundEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedNotFoundEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCnxFailedTimeoutEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to a timeout on the connection attempt.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCnxFailedTimeoutEvent": {
        "type": "object",
        "description": "A boxed array of *HostCnxFailedTimeoutEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCnxFailedTimeoutEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostComplianceCheckedEvent": {
        "type": "object",
        "description": "This event records that a compliance check was triggered\non the host.\n",
        "properties": {
          "profile": {
            "$ref": "#/components/schemas/ProfileEventArgument"
          }
        },
        "required": [
          "profile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostComplianceCheckedEvent": {
        "type": "object",
        "description": "A boxed array of *HostComplianceCheckedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostComplianceCheckedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCompliantEvent": {
        "type": "object",
        "description": "This event records that host is in compliance.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostCompliantEvent": {
        "type": "object",
        "description": "A boxed array of *HostCompliantEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCompliantEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConfigAppliedEvent": {
        "type": "object",
        "description": "This event records that a configuration was applied on a host\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostConfigAppliedEvent": {
        "type": "object",
        "description": "A boxed array of *HostConfigAppliedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConfigAppliedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConnectedEvent": {
        "type": "object",
        "description": "This event records a successful host connection.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostConnectedEvent": {
        "type": "object",
        "description": "A boxed array of *HostConnectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConnectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConnectionLostEvent": {
        "type": "object",
        "description": "This event records the loss of a host connection.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostConnectionLostEvent": {
        "type": "object",
        "description": "A boxed array of *HostConnectionLostEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConnectionLostEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDasDisabledEvent": {
        "type": "object",
        "description": "This event records when HA has been disabled on a host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostDasDisabledEvent": {
        "type": "object",
        "description": "A boxed array of *HostDasDisabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDasDisabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDasDisablingEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records when HA is being disabled on a host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostDasDisablingEvent": {
        "type": "object",
        "description": "A boxed array of *HostDasDisablingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDasDisablingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDasEnabledEvent": {
        "type": "object",
        "description": "This event records when HA has been enabled on a host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostDasEnabledEvent": {
        "type": "object",
        "description": "A boxed array of *HostDasEnabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDasEnabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDasEnablingEvent": {
        "type": "object",
        "description": "This event records when HA is being enabled on a host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostDasEnablingEvent": {
        "type": "object",
        "description": "A boxed array of *HostDasEnablingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDasEnablingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDasErrorEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the Server will generate the *EventEx* event\nwith the *EventEx.eventTypeId* property set to \"com.vmware.vc.HA.HostAgentErrorEvent\".\n\nThis event records when there is a HA error on a host.\n",
        "properties": {
          "message": {
            "type": "string"
          },
          "reason": {
            "description": "The reason for the failure.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostDasErrorEvent": {
        "type": "object",
        "description": "A boxed array of *HostDasErrorEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDasErrorEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDasEvent": {
        "type": "object",
        "description": "Top-level event for host DAS events to extend.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostDasEvent": {
        "type": "object",
        "description": "A boxed array of *HostDasEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDasEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDasOkEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records when HA on a host returns to normal after an error.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostDasOkEvent": {
        "type": "object",
        "description": "A boxed array of *HostDasOkEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDasOkEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDisconnectedEvent": {
        "type": "object",
        "description": "This event records a disconnection from a host.\n",
        "properties": {
          "reason": {
            "description": "Reason why the host was disconnected.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostDisconnectedEvent": {
        "type": "object",
        "description": "A boxed array of *HostDisconnectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDisconnectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostEnableAdminFailedEvent": {
        "type": "object",
        "description": "This event records the failure to restore some of the administrator's permissions.\n",
        "properties": {
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Permission"
            }
          }
        },
        "required": [
          "permissions"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostEnableAdminFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostEnableAdminFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostEnableAdminFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostEvent": {
        "type": "object",
        "description": "These are host-related events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfHostEvent": {
        "type": "object",
        "description": "A boxed array of *HostEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostEventArgument": {
        "type": "object",
        "description": "The event argument is a Host object.\n",
        "properties": {
          "host": {
            "description": "The host object.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfHostEventArgument": {
        "type": "object",
        "description": "A boxed array of *HostEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostExtraNetworksEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records the fact that a host has extra networks not used by\nother hosts for HA communication\n",
        "properties": {
          "ips": {
            "description": "The comma-separated list of extra networks\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDasEvent"
          }
        ]
      },
      "ArrayOfHostExtraNetworksEvent": {
        "type": "object",
        "description": "A boxed array of *HostExtraNetworksEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostExtraNetworksEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostGetShortNameFailedEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records that hostname -s failed or returned a name containing '.'.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostGetShortNameFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostGetShortNameFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostGetShortNameFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInAuditModeEvent": {
        "type": "object",
        "description": "Host is booted in audit mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostInAuditModeEvent": {
        "type": "object",
        "description": "A boxed array of *HostInAuditModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInAuditModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInventoryFullEvent": {
        "type": "object",
        "description": "This event records if the inventory of hosts has reached capacity.\n",
        "properties": {
          "capacity": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "capacity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfHostInventoryFullEvent": {
        "type": "object",
        "description": "A boxed array of *HostInventoryFullEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInventoryFullEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInventoryUnreadableEvent": {
        "type": "object",
        "description": "Event indicating that the virtual machine inventory\nfile on the host is damaged or unreadable.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfHostInventoryUnreadableEvent": {
        "type": "object",
        "description": "A boxed array of *HostInventoryUnreadableEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInventoryUnreadableEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpChangedEvent": {
        "type": "object",
        "description": "This event records a change in host IP address.\n",
        "properties": {
          "oldIP": {
            "description": "Old IP address of the host.\n",
            "type": "string"
          },
          "newIP": {
            "description": "New IP address of the host.\n",
            "type": "string"
          }
        },
        "required": [
          "oldIP",
          "newIP"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostIpChangedEvent": {
        "type": "object",
        "description": "A boxed array of *HostIpChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpInconsistentEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records that the IP address resolution returned different\naddresses on the host.\n\nPlease check your host's network configuration.\n",
        "properties": {
          "ipAddress": {
            "type": "string"
          },
          "ipAddress2": {
            "type": "string"
          }
        },
        "required": [
          "ipAddress",
          "ipAddress2"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostIpInconsistentEvent": {
        "type": "object",
        "description": "A boxed array of *HostIpInconsistentEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpInconsistentEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpToShortNameFailedEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records that the host's IP address could not be resolved to a short name.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostIpToShortNameFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostIpToShortNameFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpToShortNameFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIsolationIpPingFailedEvent": {
        "type": "object",
        "description": "This event records that the isolation address could not be pinged.\n\nThe default isolation address is the service console's default gateway.\n",
        "properties": {
          "isolationIp": {
            "type": "string"
          }
        },
        "required": [
          "isolationIp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDasEvent"
          }
        ]
      },
      "ArrayOfHostIsolationIpPingFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostIsolationIpPingFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIsolationIpPingFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLicenseExpiredEvent": {
        "type": "object",
        "description": "This event records an expired host license.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfHostLicenseExpiredEvent": {
        "type": "object",
        "description": "A boxed array of *HostLicenseExpiredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLicenseExpiredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLocalPortCreatedEvent": {
        "type": "object",
        "description": "This event records when host local port is created to recover from\nmanagement network connectivity loss.\n",
        "properties": {
          "hostLocalPort": {
            "description": "The configuration of the new host local port.\n",
            "$ref": "#/components/schemas/DVSHostLocalPortInfo"
          }
        },
        "required": [
          "hostLocalPort"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfHostLocalPortCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *HostLocalPortCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLocalPortCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMissingNetworksEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records the fact that a host is missing networks that\nother hosts are using for HA communication\n",
        "properties": {
          "ips": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDasEvent"
          }
        ]
      },
      "ArrayOfHostMissingNetworksEvent": {
        "type": "object",
        "description": "A boxed array of *HostMissingNetworksEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMissingNetworksEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMonitoringStateChangedEvent": {
        "type": "object",
        "description": "This event records when host monitoring state has changed.\n",
        "properties": {
          "state": {
            "description": "The service state in\n*ClusterDasConfigInfoServiceState_enum*\n",
            "type": "string"
          },
          "prevState": {
            "description": "The previous service state in\n*ClusterDasConfigInfoServiceState_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfHostMonitoringStateChangedEvent": {
        "type": "object",
        "description": "A boxed array of *HostMonitoringStateChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMonitoringStateChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNoAvailableNetworksEvent": {
        "type": "object",
        "description": "This event records the fact that a host does not have any available networks\nfor HA communication\n",
        "properties": {
          "ips": {
            "description": "The comma-separated list of used networks\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDasEvent"
          }
        ]
      },
      "ArrayOfHostNoAvailableNetworksEvent": {
        "type": "object",
        "description": "A boxed array of *HostNoAvailableNetworksEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNoAvailableNetworksEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNoHAEnabledPortGroupsEvent": {
        "type": "object",
        "description": "This event records the fact that a host does not have any HA-enabled port\ngroups\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDasEvent"
          }
        ]
      },
      "ArrayOfHostNoHAEnabledPortGroupsEvent": {
        "type": "object",
        "description": "A boxed array of *HostNoHAEnabledPortGroupsEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNoHAEnabledPortGroupsEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNoRedundantManagementNetworkEvent": {
        "type": "object",
        "description": "This event records the fact that a host does not have a redundant\nmanagement network.\n\nIt is recommended that host management networks\nbe configured with redundancy.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDasEvent"
          }
        ]
      },
      "ArrayOfHostNoRedundantManagementNetworkEvent": {
        "type": "object",
        "description": "A boxed array of *HostNoRedundantManagementNetworkEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNoRedundantManagementNetworkEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNonCompliantEvent": {
        "type": "object",
        "description": "This event records that host went out of compliance.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostNonCompliantEvent": {
        "type": "object",
        "description": "A boxed array of *HostNonCompliantEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNonCompliantEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNotInClusterEvent": {
        "type": "object",
        "description": "This event records that the host is not a cluster member.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDasEvent"
          }
        ]
      },
      "ArrayOfHostNotInClusterEvent": {
        "type": "object",
        "description": "A boxed array of *HostNotInClusterEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNotInClusterEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostOvercommittedEvent": {
        "type": "object",
        "description": "This event records when a host's capacity cannot satisfy resource\nconfiguration constraints.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterOvercommittedEvent"
          }
        ]
      },
      "ArrayOfHostOvercommittedEvent": {
        "type": "object",
        "description": "A boxed array of *HostOvercommittedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostOvercommittedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPrimaryAgentNotShortNameEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records that the primary agent specified is not a short name.\n\nThe name of the primary agent is usually stored as a short name. You should\nnot normally see this error. Please check the network configurations of your\nhosts.\n",
        "properties": {
          "primaryAgent": {
            "type": "string"
          }
        },
        "required": [
          "primaryAgent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDasEvent"
          }
        ]
      },
      "ArrayOfHostPrimaryAgentNotShortNameEvent": {
        "type": "object",
        "description": "A boxed array of *HostPrimaryAgentNotShortNameEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPrimaryAgentNotShortNameEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileAppliedEvent": {
        "type": "object",
        "description": "This event records that a Profile application was done\non the host\n",
        "properties": {
          "profile": {
            "description": "Link to the profile which was applied\n",
            "$ref": "#/components/schemas/ProfileEventArgument"
          }
        },
        "required": [
          "profile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostProfileAppliedEvent": {
        "type": "object",
        "description": "A boxed array of *HostProfileAppliedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileAppliedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostReconnectionFailedEvent": {
        "type": "object",
        "description": "This event records a failed attempt to re-establish a host connection.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostReconnectionFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostReconnectionFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostReconnectionFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRemovedEvent": {
        "type": "object",
        "description": "This event records the removal of a host from VirtualCenter.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *HostRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostShortNameInconsistentEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records that host name resolution returned different names on\nthe host.\n\nPlease check your host's network configuration and your DNS\nconfiguration. There may be duplicate entries.\n",
        "properties": {
          "shortName": {
            "type": "string"
          },
          "shortName2": {
            "type": "string"
          }
        },
        "required": [
          "shortName",
          "shortName2"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDasEvent"
          }
        ]
      },
      "ArrayOfHostShortNameInconsistentEvent": {
        "type": "object",
        "description": "A boxed array of *HostShortNameInconsistentEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostShortNameInconsistentEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostShortNameToIpFailedEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records that the host's short name could not be resolved to an IP address.\n",
        "properties": {
          "shortName": {
            "type": "string"
          }
        },
        "required": [
          "shortName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostShortNameToIpFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostShortNameToIpFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostShortNameToIpFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostShutdownEvent": {
        "type": "object",
        "description": "This event records the shutdown of a host.\n",
        "properties": {
          "reason": {
            "description": "The reason for the host shutdown.\n",
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostShutdownEvent": {
        "type": "object",
        "description": "A boxed array of *HostShutdownEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostShutdownEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSpecificationChangedEvent": {
        "type": "object",
        "description": "This event records that the host specification was changed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostSpecificationChangedEvent": {
        "type": "object",
        "description": "A boxed array of *HostSpecificationChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSpecificationChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSpecificationRequireEvent": {
        "type": "object",
        "description": "This event is issued to that the host specification should be updated.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostSpecificationRequireEvent": {
        "type": "object",
        "description": "A boxed array of *HostSpecificationRequireEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSpecificationRequireEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSpecificationUpdateEvent": {
        "type": "object",
        "description": "This event suggests that update the host specification with the\nencapsulated copy.\n",
        "properties": {
          "hostSpec": {
            "$ref": "#/components/schemas/HostSpecification"
          }
        },
        "required": [
          "hostSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostSpecificationUpdateEvent": {
        "type": "object",
        "description": "A boxed array of *HostSpecificationUpdateEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSpecificationUpdateEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostStatusChangedEvent": {
        "type": "object",
        "description": "This event records when a host's overall status changed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterStatusChangedEvent"
          }
        ]
      },
      "ArrayOfHostStatusChangedEvent": {
        "type": "object",
        "description": "A boxed array of *HostStatusChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStatusChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSubSpecificationDeleteEvent": {
        "type": "object",
        "description": "This event suggests that delete the host sub specification specified by\nname.\n",
        "properties": {
          "subSpecName": {
            "type": "string"
          }
        },
        "required": [
          "subSpecName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostSubSpecificationDeleteEvent": {
        "type": "object",
        "description": "A boxed array of *HostSubSpecificationDeleteEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSubSpecificationDeleteEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSubSpecificationUpdateEvent": {
        "type": "object",
        "description": "This event suggests that update the host sub specification with the\nencapsulated copy.\n",
        "properties": {
          "hostSubSpec": {
            "$ref": "#/components/schemas/HostSubSpecification"
          }
        },
        "required": [
          "hostSubSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostSubSpecificationUpdateEvent": {
        "type": "object",
        "description": "A boxed array of *HostSubSpecificationUpdateEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSubSpecificationUpdateEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSyncFailedEvent": {
        "type": "object",
        "description": "This event records a failure to sync up with the VirtualCenter agent on the host\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostSyncFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostSyncFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSyncFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostUpgradeFailedEvent": {
        "type": "object",
        "description": "This event records a failure to connect to a host\ndue to an installation or upgrade issue.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostUpgradeFailedEvent": {
        "type": "object",
        "description": "A boxed array of *HostUpgradeFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUpgradeFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostUserWorldSwapNotEnabledEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the event is no longer relevant.\n\nThis event records that the userworld swap is not enabled on the host.\n\nHA\nneeds userworld swap to be configured on embedded ESX hosts to function.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostUserWorldSwapNotEnabledEvent": {
        "type": "object",
        "description": "A boxed array of *HostUserWorldSwapNotEnabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUserWorldSwapNotEnabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVnicConnectedToCustomizedDVPortEvent": {
        "type": "object",
        "description": "This event records when some host Virtual NICs were reconfigured to use\nDVPorts with port level configuration, which might be different\nfrom the DVportgroup.\n",
        "properties": {
          "vnic": {
            "description": "Information about the Virtual NIC that is using the DVport.\n",
            "$ref": "#/components/schemas/VnicPortArgument"
          },
          "prevPortKey": {
            "description": "Information about the previous Virtual NIC that is using the DVport.\n",
            "type": "string"
          }
        },
        "required": [
          "vnic"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostVnicConnectedToCustomizedDVPortEvent": {
        "type": "object",
        "description": "A boxed array of *HostVnicConnectedToCustomizedDVPortEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVnicConnectedToCustomizedDVPortEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostWwnChangedEvent": {
        "type": "object",
        "description": "This event records a change in a host's WWN (World Wide Name).\n",
        "properties": {
          "oldNodeWwns": {
            "description": "The old node WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "oldPortWwns": {
            "description": "The old port WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "newNodeWwns": {
            "description": "The new node WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "newPortWwns": {
            "description": "The new port WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostWwnChangedEvent": {
        "type": "object",
        "description": "A boxed array of *HostWwnChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostWwnChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostWwnConflictEvent": {
        "type": "object",
        "description": "This event records a conflict of host WWNs (World Wide Name).\n",
        "properties": {
          "conflictedVms": {
            "description": "The virtual machine whose WWN conflicts with the\ncurrent host's WWN.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmEventArgument"
            }
          },
          "conflictedHosts": {
            "description": "The host whose physical WWN conflicts with the\ncurrent host's WWN.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostEventArgument"
            }
          },
          "wwn": {
            "description": "The WWN in conflict.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "wwn"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfHostWwnConflictEvent": {
        "type": "object",
        "description": "A boxed array of *HostWwnConflictEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostWwnConflictEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IncorrectHostInformationEvent": {
        "type": "object",
        "description": "This event records if the host did not provide the information needed\nto acquire the correct set of licenses.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfIncorrectHostInformationEvent": {
        "type": "object",
        "description": "A boxed array of *IncorrectHostInformationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncorrectHostInformationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InfoUpgradeEvent": {
        "type": "object",
        "description": "This event is a general information event from upgrade.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpgradeEvent"
          }
        ]
      },
      "ArrayOfInfoUpgradeEvent": {
        "type": "object",
        "description": "A boxed array of *InfoUpgradeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InfoUpgradeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientFailoverResourcesEvent": {
        "type": "object",
        "description": "This event records that the cluster resources are insufficient\nto satisfy the configured HA failover level.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfInsufficientFailoverResourcesEvent": {
        "type": "object",
        "description": "A boxed array of *InsufficientFailoverResourcesEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientFailoverResourcesEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidEditionEvent": {
        "type": "object",
        "description": "This event records if the edition is set to an invalid value.\n",
        "properties": {
          "feature": {
            "type": "string"
          }
        },
        "required": [
          "feature"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfInvalidEditionEvent": {
        "type": "object",
        "description": "A boxed array of *InvalidEditionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidEditionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseEvent": {
        "type": "object",
        "description": "This is a base licensing event to group all license events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfLicenseEvent": {
        "type": "object",
        "description": "A boxed array of *LicenseEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseExpiredEvent": {
        "type": "object",
        "description": "This event records the expiration of a license.\n",
        "properties": {
          "feature": {
            "$ref": "#/components/schemas/LicenseFeatureInfo"
          }
        },
        "required": [
          "feature"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfLicenseExpiredEvent": {
        "type": "object",
        "description": "A boxed array of *LicenseExpiredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseExpiredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseNonComplianceEvent": {
        "type": "object",
        "description": "This event records that the inventory is not license compliant.\n",
        "properties": {
          "url": {
            "description": "Gives the url at which more details about non-compliance\ncan be found.\n",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfLicenseNonComplianceEvent": {
        "type": "object",
        "description": "A boxed array of *LicenseNonComplianceEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseNonComplianceEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseRestrictedEvent": {
        "type": "object",
        "description": "This event records if the required licenses could not be reserved because\nof a restriction in the option file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfLicenseRestrictedEvent": {
        "type": "object",
        "description": "A boxed array of *LicenseRestrictedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseRestrictedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseServerAvailableEvent": {
        "type": "object",
        "description": "This event is reported if the LicenseServer was previously unreachable\nand is now reachable.\n",
        "properties": {
          "licenseServer": {
            "type": "string"
          }
        },
        "required": [
          "licenseServer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfLicenseServerAvailableEvent": {
        "type": "object",
        "description": "A boxed array of *LicenseServerAvailableEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseServerAvailableEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseServerUnavailableEvent": {
        "type": "object",
        "description": "This event is reported if the LicenseServer becomes unreachable.\n",
        "properties": {
          "licenseServer": {
            "type": "string"
          }
        },
        "required": [
          "licenseServer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfLicenseServerUnavailableEvent": {
        "type": "object",
        "description": "A boxed array of *LicenseServerUnavailableEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseServerUnavailableEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LocalDatastoreCreatedEvent": {
        "type": "object",
        "description": "This event records when a local datastore is created.\n",
        "properties": {
          "datastore": {
            "description": "The associated datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          },
          "datastoreUrl": {
            "description": "Url of the associated datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfLocalDatastoreCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *LocalDatastoreCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalDatastoreCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LocalTSMEnabledEvent": {
        "type": "object",
        "description": "Local Tech Support Mode for the host has been enabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfLocalTSMEnabledEvent": {
        "type": "object",
        "description": "A boxed array of *LocalTSMEnabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalTSMEnabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LockerMisconfiguredEvent": {
        "type": "object",
        "description": "Locker has not been configured properly.\n\nThis event is fired when the datastore configured to back the locker\ndoes not exist or when connectivity to the datastore is lost.\n",
        "properties": {
          "datastore": {
            "description": "The datastore that has been configured to back the locker\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfLockerMisconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *LockerMisconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LockerMisconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LockerReconfiguredEvent": {
        "type": "object",
        "description": "Locker was reconfigured to a new location.\n",
        "properties": {
          "oldDatastore": {
            "description": "The datastore that was previously backing the locker.\n\nThis field is not\nset if a datastore was not backing the locker previously.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          },
          "newDatastore": {
            "description": "The datastore that is now used to back the locker.\n\nThis field is not set if no datastore is currently backing the locker.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfLockerReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *LockerReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LockerReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ManagedEntityEventArgument": {
        "type": "object",
        "description": "The general event argument for a managed entity.\n",
        "properties": {
          "entity": {
            "description": "The managed entity.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfManagedEntityEventArgument": {
        "type": "object",
        "description": "A boxed array of *ManagedEntityEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedEntityEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationErrorEvent": {
        "type": "object",
        "description": "A migration error.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationEvent"
          }
        ]
      },
      "ArrayOfMigrationErrorEvent": {
        "type": "object",
        "description": "A boxed array of *MigrationErrorEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationErrorEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationEvent": {
        "type": "object",
        "description": "These are events used to describe migration warning and errors\n",
        "properties": {
          "fault": {
            "description": "The fault that describes the migration issue.\n\nThis is typically either a\nMigrationFault or a VmConfigFault.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfMigrationEvent": {
        "type": "object",
        "description": "A boxed array of *MigrationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationHostErrorEvent": {
        "type": "object",
        "description": "A migration error that includes the destination host.\n",
        "properties": {
          "dstHost": {
            "description": "The name of the destination host.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "dstHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationEvent"
          }
        ]
      },
      "ArrayOfMigrationHostErrorEvent": {
        "type": "object",
        "description": "A boxed array of *MigrationHostErrorEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationHostErrorEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationHostWarningEvent": {
        "type": "object",
        "description": "A migration warning that includes the destination host.\n",
        "properties": {
          "dstHost": {
            "description": "The name of the destination host.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "dstHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationEvent"
          }
        ]
      },
      "ArrayOfMigrationHostWarningEvent": {
        "type": "object",
        "description": "A boxed array of *MigrationHostWarningEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationHostWarningEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationResourceErrorEvent": {
        "type": "object",
        "description": "A migration error that includes both the destination host and resource pool.\n",
        "properties": {
          "dstPool": {
            "description": "The name of the destination resource pool.\n",
            "$ref": "#/components/schemas/ResourcePoolEventArgument"
          },
          "dstHost": {
            "description": "The name of the destination host.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "dstPool",
          "dstHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationEvent"
          }
        ]
      },
      "ArrayOfMigrationResourceErrorEvent": {
        "type": "object",
        "description": "A boxed array of *MigrationResourceErrorEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationResourceErrorEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationResourceWarningEvent": {
        "type": "object",
        "description": "A migration warning that includes both the destination host and resource pool.\n",
        "properties": {
          "dstPool": {
            "description": "The name of the destination resource pool.\n",
            "$ref": "#/components/schemas/ResourcePoolEventArgument"
          },
          "dstHost": {
            "description": "The name of the destination host.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "dstPool",
          "dstHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationEvent"
          }
        ]
      },
      "ArrayOfMigrationResourceWarningEvent": {
        "type": "object",
        "description": "A boxed array of *MigrationResourceWarningEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationResourceWarningEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationWarningEvent": {
        "type": "object",
        "description": "A migration warning.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationEvent"
          }
        ]
      },
      "ArrayOfMigrationWarningEvent": {
        "type": "object",
        "description": "A boxed array of *MigrationWarningEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationWarningEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MtuMatchEvent": {
        "type": "object",
        "description": "The value of MTU configured in the vSphere Distributed Switch\nmatches physical switch.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsHealthStatusChangeEvent"
          }
        ]
      },
      "ArrayOfMtuMatchEvent": {
        "type": "object",
        "description": "A boxed array of *MtuMatchEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MtuMatchEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MtuMismatchEvent": {
        "type": "object",
        "description": "The value of MTU configured in the vSphere Distributed Switch\nmismatches physical switch.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsHealthStatusChangeEvent"
          }
        ]
      },
      "ArrayOfMtuMismatchEvent": {
        "type": "object",
        "description": "A boxed array of *MtuMismatchEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MtuMismatchEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NASDatastoreCreatedEvent": {
        "type": "object",
        "description": "This event records when a NAS datastore is created.\n",
        "properties": {
          "datastore": {
            "description": "The associated datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          },
          "datastoreUrl": {
            "description": "Url of the associated datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfNASDatastoreCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *NASDatastoreCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NASDatastoreCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworkEventArgument": {
        "type": "object",
        "description": "The event argument is a Network object.\n",
        "properties": {
          "network": {
            "description": "The Network object.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfNetworkEventArgument": {
        "type": "object",
        "description": "A boxed array of *NetworkEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworkEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworkRollbackEvent": {
        "type": "object",
        "description": "This event records when networking configuration on the host\nis rolled back as it disconnects the host from vCenter server.\n",
        "properties": {
          "methodName": {
            "description": "Method name which caused the disconnect\n",
            "type": "string"
          },
          "transactionId": {
            "description": "Transaction ID for the method call that caused the disconnect\n",
            "type": "string"
          }
        },
        "required": [
          "methodName",
          "transactionId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfNetworkRollbackEvent": {
        "type": "object",
        "description": "A boxed array of *NetworkRollbackEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworkRollbackEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoAccessUserEvent": {
        "type": "object",
        "description": "This event records a failed user logon due to insufficient access permission.\n",
        "properties": {
          "ipAddress": {
            "description": "The IP address of the peer that initiated the connection.\n\nThis may\nbe the client that originated the session, or it may be an intervening\nproxy if the binding uses a protocol that supports proxies, such as HTTP.\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionEvent"
          }
        ]
      },
      "ArrayOfNoAccessUserEvent": {
        "type": "object",
        "description": "A boxed array of *NoAccessUserEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoAccessUserEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoDatastoresConfiguredEvent": {
        "type": "object",
        "description": "No datastores have been configured on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfNoDatastoresConfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *NoDatastoresConfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoDatastoresConfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoLicenseEvent": {
        "type": "object",
        "description": "These are events reported by License Manager.\n\nA NoLicenseEvent is reported if the required licenses could not be\nreserved. Each feature that is not fully licensed is reported.\n",
        "properties": {
          "feature": {
            "$ref": "#/components/schemas/LicenseFeatureInfo"
          }
        },
        "required": [
          "feature"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfNoLicenseEvent": {
        "type": "object",
        "description": "A boxed array of *NoLicenseEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoLicenseEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoMaintenanceModeDrsRecommendationForVM": {
        "type": "object",
        "description": "This event records that DRS did not recommend a migration for a\npowered on virtual machine, even though its host is going\ninto maintenance mode.\n\nDRS may not be able to recommend a migration for a virtual machine\nfor reasons, include but not limited to:\n- No other connected host is compatible with this virtual machine.\n- None of the other compatible hosts have sufficient resources\n  to satisfy the reservation requirements of this virtual machine.\n- Moving to any other host would violate a DRS rule. For example, all\n  other compatible hosts have some incompatible virtual machines\n  running.\n- DRS is disabled on this virtual machine.\n- This virtual machine was still in the process of migrating\n  into the host going into maintenance mode and was not\n  considered by DRS.\n- This virtual machine was in the process of migrating to another\n  host when the host tried to enter maintenance mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfNoMaintenanceModeDrsRecommendationForVM": {
        "type": "object",
        "description": "A boxed array of *NoMaintenanceModeDrsRecommendationForVM*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoMaintenanceModeDrsRecommendationForVM"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NonVIWorkloadDetectedOnDatastoreEvent": {
        "type": "object",
        "description": "This event records that non-VI workload is detected on the datastore.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreEvent"
          }
        ]
      },
      "ArrayOfNonVIWorkloadDetectedOnDatastoreEvent": {
        "type": "object",
        "description": "A boxed array of *NonVIWorkloadDetectedOnDatastoreEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NonVIWorkloadDetectedOnDatastoreEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotEnoughResourcesToStartVmEvent": {
        "type": "object",
        "description": "This event records when the HA does not find sufficient resources to failover a\nvirtual machine.\n",
        "properties": {
          "reason": {
            "description": "The reason why the virtual machine could not be restarted\n",
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfNotEnoughResourcesToStartVmEvent": {
        "type": "object",
        "description": "A boxed array of *NotEnoughResourcesToStartVmEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotEnoughResourcesToStartVmEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OutOfSyncDvsHost": {
        "type": "object",
        "description": "The list of hosts that have the DVS configuration on the host\ndiverged from that of the Virtual Center Server.\n",
        "properties": {
          "hostOutOfSync": {
            "description": "The host that went out of sync.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsOutOfSyncHostArgument"
            }
          }
        },
        "required": [
          "hostOutOfSync"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfOutOfSyncDvsHost": {
        "type": "object",
        "description": "A boxed array of *OutOfSyncDvsHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutOfSyncDvsHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PermissionAddedEvent": {
        "type": "object",
        "description": "This event records the creation of a permission.\n",
        "properties": {
          "role": {
            "description": "The associated role.\n",
            "$ref": "#/components/schemas/RoleEventArgument"
          },
          "propagate": {
            "description": "Whether or not the permission applies to sub-entities.\n",
            "type": "boolean"
          }
        },
        "required": [
          "role",
          "propagate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PermissionEvent"
          }
        ]
      },
      "ArrayOfPermissionAddedEvent": {
        "type": "object",
        "description": "A boxed array of *PermissionAddedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionAddedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PermissionEvent": {
        "type": "object",
        "description": "This event records a permission operation.\n",
        "properties": {
          "entity": {
            "description": "The entity to which the permission applied.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          },
          "principal": {
            "description": "The user name or group to which the permission was granted.\n",
            "type": "string"
          },
          "group": {
            "description": "Whether or not the principal was a group.\n",
            "type": "boolean"
          }
        },
        "required": [
          "entity",
          "principal",
          "group"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AuthorizationEvent"
          }
        ]
      },
      "ArrayOfPermissionEvent": {
        "type": "object",
        "description": "A boxed array of *PermissionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PermissionRemovedEvent": {
        "type": "object",
        "description": "This event records the removal of a permission.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PermissionEvent"
          }
        ]
      },
      "ArrayOfPermissionRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *PermissionRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PermissionUpdatedEvent": {
        "type": "object",
        "description": "This event records the update of a permission.\n",
        "properties": {
          "role": {
            "description": "The associated role.\n",
            "$ref": "#/components/schemas/RoleEventArgument"
          },
          "propagate": {
            "description": "Whether or not the permission applies to sub-entities.\n",
            "type": "boolean"
          },
          "prevRole": {
            "description": "The previous associated role.\n",
            "$ref": "#/components/schemas/RoleEventArgument"
          },
          "prevPropagate": {
            "description": "Previous propogate value.\n",
            "type": "boolean"
          }
        },
        "required": [
          "role",
          "propagate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PermissionEvent"
          }
        ]
      },
      "ArrayOfPermissionUpdatedEvent": {
        "type": "object",
        "description": "A boxed array of *PermissionUpdatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionUpdatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileAssociatedEvent": {
        "type": "object",
        "description": "This event records that a Profile was associated with a managed entitiy.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileEvent"
          }
        ]
      },
      "ArrayOfProfileAssociatedEvent": {
        "type": "object",
        "description": "A boxed array of *ProfileAssociatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileAssociatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileChangedEvent": {
        "type": "object",
        "description": "This event records that the profile has beed edited\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileEvent"
          }
        ]
      },
      "ArrayOfProfileChangedEvent": {
        "type": "object",
        "description": "A boxed array of *ProfileChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileCreatedEvent": {
        "type": "object",
        "description": "This event records that a Profile was created.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileEvent"
          }
        ]
      },
      "ArrayOfProfileCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *ProfileCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileDissociatedEvent": {
        "type": "object",
        "description": "This event records that a Profile was dissociated from a managed entity\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileEvent"
          }
        ]
      },
      "ArrayOfProfileDissociatedEvent": {
        "type": "object",
        "description": "A boxed array of *ProfileDissociatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDissociatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileEvent": {
        "type": "object",
        "description": "This event records a Profile specific event.\n",
        "properties": {
          "profile": {
            "description": "Link to the profile to which this event applies\n",
            "$ref": "#/components/schemas/ProfileEventArgument"
          }
        },
        "required": [
          "profile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfProfileEvent": {
        "type": "object",
        "description": "A boxed array of *ProfileEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileEventArgument": {
        "type": "object",
        "description": "The event argument is a Profile object\n",
        "properties": {
          "profile": {
            "description": "Refers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "profile",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EventArgument"
          }
        ]
      },
      "ArrayOfProfileEventArgument": {
        "type": "object",
        "description": "A boxed array of *ProfileEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileReferenceHostChangedEvent": {
        "type": "object",
        "description": "This event records that the reference host associated with this profile has changed\n",
        "properties": {
          "referenceHost": {
            "description": "The newly associated reference host with this profile\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "referenceHostName": {
            "description": "The newly associated reference host name\n",
            "type": "string"
          },
          "prevReferenceHostName": {
            "description": "The previous reference host name\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileEvent"
          }
        ]
      },
      "ArrayOfProfileReferenceHostChangedEvent": {
        "type": "object",
        "description": "A boxed array of *ProfileReferenceHostChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileReferenceHostChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileRemovedEvent": {
        "type": "object",
        "description": "This event records that a Profile was removed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileEvent"
          }
        ]
      },
      "ArrayOfProfileRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *ProfileRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RecoveryEvent": {
        "type": "object",
        "description": "This event is generated when recovery takes place on a management vmknic\n",
        "properties": {
          "hostName": {
            "description": "The host on which recovery happened\n",
            "type": "string"
          },
          "portKey": {
            "description": "The key of the new port\n",
            "type": "string"
          },
          "dvsUuid": {
            "description": "The uuid of the DVS\n",
            "type": "string"
          },
          "vnic": {
            "description": "The virtual management NIC device where recovery was done\n",
            "type": "string"
          }
        },
        "required": [
          "hostName",
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfRecoveryEvent": {
        "type": "object",
        "description": "A boxed array of *RecoveryEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecoveryEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RemoteTSMEnabledEvent": {
        "type": "object",
        "description": "Remote Tech Support Mode for the host has been enabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfRemoteTSMEnabledEvent": {
        "type": "object",
        "description": "A boxed array of *RemoteTSMEnabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RemoteTSMEnabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolCreatedEvent": {
        "type": "object",
        "description": "This event records when a new resource pool is created.\n",
        "properties": {
          "parent": {
            "description": "The parent resource pool that new resource pool belongs to.\n",
            "$ref": "#/components/schemas/ResourcePoolEventArgument"
          }
        },
        "required": [
          "parent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourcePoolEvent"
          }
        ]
      },
      "ArrayOfResourcePoolCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolDestroyedEvent": {
        "type": "object",
        "description": "This event records when a resource pool is destroyed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourcePoolEvent"
          }
        ]
      },
      "ArrayOfResourcePoolDestroyedEvent": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolDestroyedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolDestroyedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolEvent": {
        "type": "object",
        "description": "This event is the base class for all resource pool events.\n",
        "properties": {
          "resourcePool": {
            "$ref": "#/components/schemas/ResourcePoolEventArgument"
          }
        },
        "required": [
          "resourcePool"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfResourcePoolEvent": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolEventArgument": {
        "type": "object",
        "description": "The event argument is a ResourcePool object.\n",
        "properties": {
          "resourcePool": {
            "description": "The ResourcePool object.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "resourcePool"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfResourcePoolEventArgument": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolMovedEvent": {
        "type": "object",
        "description": "This event records when a resource pool is moved.\n",
        "properties": {
          "oldParent": {
            "description": "The old parent of the resource Pool.\n",
            "$ref": "#/components/schemas/ResourcePoolEventArgument"
          },
          "newParent": {
            "description": "The new parent of the resource Pool.\n",
            "$ref": "#/components/schemas/ResourcePoolEventArgument"
          }
        },
        "required": [
          "oldParent",
          "newParent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourcePoolEvent"
          }
        ]
      },
      "ArrayOfResourcePoolMovedEvent": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolMovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolMovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourcePoolReconfiguredEvent": {
        "type": "object",
        "description": "This event records when a resource pool configuration is changed.\n",
        "properties": {
          "configChanges": {
            "description": "The configuration values changed during the reconfiguration.\n",
            "$ref": "#/components/schemas/ChangesInfoEventArgument"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourcePoolEvent"
          }
        ]
      },
      "ArrayOfResourcePoolReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *ResourcePoolReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourcePoolReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourceViolatedEvent": {
        "type": "object",
        "description": "This event records when a conflict with a resource pool's resource\nconfiguration is detected.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourcePoolEvent"
          }
        ]
      },
      "ArrayOfResourceViolatedEvent": {
        "type": "object",
        "description": "A boxed array of *ResourceViolatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceViolatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RoleAddedEvent": {
        "type": "object",
        "description": "This event records the creation of a role.\n",
        "properties": {
          "privilegeList": {
            "description": "The privileges granted to the role.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/RoleEvent"
          }
        ]
      },
      "ArrayOfRoleAddedEvent": {
        "type": "object",
        "description": "A boxed array of *RoleAddedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleAddedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RoleEvent": {
        "type": "object",
        "description": "This event records a role operation.\n",
        "properties": {
          "role": {
            "description": "The associated role.\n",
            "$ref": "#/components/schemas/RoleEventArgument"
          }
        },
        "required": [
          "role"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AuthorizationEvent"
          }
        ]
      },
      "ArrayOfRoleEvent": {
        "type": "object",
        "description": "A boxed array of *RoleEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RoleEventArgument": {
        "type": "object",
        "description": "The event argument is a Role object.\n",
        "properties": {
          "roleId": {
            "description": "The ID of the role.\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "The name of the role.\n",
            "type": "string"
          }
        },
        "required": [
          "roleId",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EventArgument"
          }
        ]
      },
      "ArrayOfRoleEventArgument": {
        "type": "object",
        "description": "A boxed array of *RoleEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RoleRemovedEvent": {
        "type": "object",
        "description": "This class records the removal of a role.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RoleEvent"
          }
        ]
      },
      "ArrayOfRoleRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *RoleRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RoleUpdatedEvent": {
        "type": "object",
        "description": "This event records the creation of a role.\n",
        "properties": {
          "privilegeList": {
            "description": "The privileges granted to the role.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "prevRoleName": {
            "description": "The name of the previous role.\n",
            "type": "string"
          },
          "privilegesAdded": {
            "description": "The privileges added to the role.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "privilegesRemoved": {
            "description": "The privileges removed from the role.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/RoleEvent"
          }
        ]
      },
      "ArrayOfRoleUpdatedEvent": {
        "type": "object",
        "description": "A boxed array of *RoleUpdatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleUpdatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RollbackEvent": {
        "type": "object",
        "description": "This event is generated when network configuration rollback\noccurs on a host due configuration change that disconnected\nthe host from vSphere server\n",
        "properties": {
          "hostName": {
            "description": "The host on which rollback happened\n",
            "type": "string"
          },
          "methodName": {
            "description": "The API method that was rolled back\n",
            "type": "string"
          }
        },
        "required": [
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfRollbackEvent": {
        "type": "object",
        "description": "A boxed array of *RollbackEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RollbackEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskCompletedEvent": {
        "type": "object",
        "description": "This event records the completion of a scheduled task.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduledTaskEvent"
          }
        ]
      },
      "ArrayOfScheduledTaskCompletedEvent": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskCompletedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskCompletedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskCreatedEvent": {
        "type": "object",
        "description": "This event records the creation of a scheduled task.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduledTaskEvent"
          }
        ]
      },
      "ArrayOfScheduledTaskCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskEmailCompletedEvent": {
        "type": "object",
        "description": "This event records the sending of a notification via email for a scheduled task.\n",
        "properties": {
          "to": {
            "description": "The destination email address.\n",
            "type": "string"
          }
        },
        "required": [
          "to"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduledTaskEvent"
          }
        ]
      },
      "ArrayOfScheduledTaskEmailCompletedEvent": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskEmailCompletedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskEmailCompletedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskEmailFailedEvent": {
        "type": "object",
        "description": "This event records the failure of an attempt to send a notification via email\nfor a scheduled task.\n",
        "properties": {
          "to": {
            "description": "The destination email address.\n",
            "type": "string"
          },
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "to",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduledTaskEvent"
          }
        ]
      },
      "ArrayOfScheduledTaskEmailFailedEvent": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskEmailFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskEmailFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskEvent": {
        "type": "object",
        "description": "These events are scheduled task events.\n",
        "properties": {
          "scheduledTask": {
            "description": "The scheduled task object.\n",
            "$ref": "#/components/schemas/ScheduledTaskEventArgument"
          },
          "entity": {
            "description": "The entity on which the scheduled task registered.\n",
            "$ref": "#/components/schemas/ManagedEntityEventArgument"
          }
        },
        "required": [
          "scheduledTask",
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfScheduledTaskEvent": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskEventArgument": {
        "type": "object",
        "description": "The event argument is a scheduled task object.\n",
        "properties": {
          "scheduledTask": {
            "description": "The scheduled task object.\n\nRefers instance of *ScheduledTask*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "scheduledTask"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfScheduledTaskEventArgument": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskFailedEvent": {
        "type": "object",
        "description": "This event records the failure of a scheduled task.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduledTaskEvent"
          }
        ]
      },
      "ArrayOfScheduledTaskFailedEvent": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskReconfiguredEvent": {
        "type": "object",
        "description": "This event records the reconfiguration of a scheduled task.\n",
        "properties": {
          "configChanges": {
            "description": "The configuration values changed during the reconfiguration.\n",
            "$ref": "#/components/schemas/ChangesInfoEventArgument"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduledTaskEvent"
          }
        ]
      },
      "ArrayOfScheduledTaskReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskRemovedEvent": {
        "type": "object",
        "description": "This event records the removal of a scheduled task.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduledTaskEvent"
          }
        ]
      },
      "ArrayOfScheduledTaskRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskStartedEvent": {
        "type": "object",
        "description": "This event records when a scheduled task started.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduledTaskEvent"
          }
        ]
      },
      "ArrayOfScheduledTaskStartedEvent": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskStartedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskStartedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServerLicenseExpiredEvent": {
        "type": "object",
        "description": "This event records an expired VirtualCenter server license.\n",
        "properties": {
          "product": {
            "type": "string"
          }
        },
        "required": [
          "product"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfServerLicenseExpiredEvent": {
        "type": "object",
        "description": "A boxed array of *ServerLicenseExpiredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServerLicenseExpiredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServerStartedSessionEvent": {
        "type": "object",
        "description": "This event records the starting of the VirtualCenter server.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionEvent"
          }
        ]
      },
      "ArrayOfServerStartedSessionEvent": {
        "type": "object",
        "description": "A boxed array of *ServerStartedSessionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServerStartedSessionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SessionEvent": {
        "type": "object",
        "description": "These are session events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfSessionEvent": {
        "type": "object",
        "description": "A boxed array of *SessionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SessionTerminatedEvent": {
        "type": "object",
        "description": "This event records the termination of a session.\n",
        "properties": {
          "sessionId": {
            "description": "The unique identifier of the terminated session.\n",
            "type": "string"
          },
          "terminatedUsername": {
            "description": "The name of the user owning the terminated session.\n",
            "type": "string"
          }
        },
        "required": [
          "sessionId",
          "terminatedUsername"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionEvent"
          }
        ]
      },
      "ArrayOfSessionTerminatedEvent": {
        "type": "object",
        "description": "A boxed array of *SessionTerminatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionTerminatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskEvent": {
        "type": "object",
        "description": "This event records the creation of a Task.\n\nNote that the embedded TaskInfo object is a _snapshot_ of the\nTask state at the time of its creation, so its state will always be\n\"queued\". To find the current status of the task, query for the\ncurrent state of the Task using the eventChainId in the embedded\nTaskInfo object.\n",
        "properties": {
          "info": {
            "description": "The information about the task.\n",
            "$ref": "#/components/schemas/TaskInfo"
          }
        },
        "required": [
          "info"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfTaskEvent": {
        "type": "object",
        "description": "A boxed array of *TaskEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskTimeoutEvent": {
        "type": "object",
        "description": "This event records when a task is cleaned up b/c of timeout\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskEvent"
          }
        ]
      },
      "ArrayOfTaskTimeoutEvent": {
        "type": "object",
        "description": "A boxed array of *TaskTimeoutEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskTimeoutEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TeamingMatchEvent": {
        "type": "object",
        "description": "The teaming configuration of the uplink ports in the DVS matches\nphysical switch configuration.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsHealthStatusChangeEvent"
          }
        ]
      },
      "ArrayOfTeamingMatchEvent": {
        "type": "object",
        "description": "A boxed array of *TeamingMatchEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TeamingMatchEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TeamingMisMatchEvent": {
        "type": "object",
        "description": "The teaming configuration of the uplink ports in the DVS\ndoes not match physical switch configuration.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsHealthStatusChangeEvent"
          }
        ]
      },
      "ArrayOfTeamingMisMatchEvent": {
        "type": "object",
        "description": "A boxed array of *TeamingMisMatchEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TeamingMisMatchEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TemplateBeingUpgradedEvent": {
        "type": "object",
        "description": "This event records the start of a template upgrade.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/TemplateUpgradeEvent"
          }
        ]
      },
      "ArrayOfTemplateBeingUpgradedEvent": {
        "type": "object",
        "description": "A boxed array of *TemplateBeingUpgradedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateBeingUpgradedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TemplateUpgradeEvent": {
        "type": "object",
        "description": "This event is the base class for all the template upgrade events.\n",
        "properties": {
          "legacyTemplate": {
            "type": "string"
          }
        },
        "required": [
          "legacyTemplate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfTemplateUpgradeEvent": {
        "type": "object",
        "description": "A boxed array of *TemplateUpgradeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateUpgradeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TemplateUpgradeFailedEvent": {
        "type": "object",
        "description": "This event records that the template upgrade failed.\n",
        "properties": {
          "reason": {
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/TemplateUpgradeEvent"
          }
        ]
      },
      "ArrayOfTemplateUpgradeFailedEvent": {
        "type": "object",
        "description": "A boxed array of *TemplateUpgradeFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateUpgradeFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TemplateUpgradedEvent": {
        "type": "object",
        "description": "This event records that the template upgrade succeeded.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/TemplateUpgradeEvent"
          }
        ]
      },
      "ArrayOfTemplateUpgradedEvent": {
        "type": "object",
        "description": "A boxed array of *TemplateUpgradedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateUpgradedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TimedOutHostOperationEvent": {
        "type": "object",
        "description": "This event indicates that an operation performed on the host timed out.\n\nTypically,\na previous event in the sequence of events contains more\ninformation about the cause of the operation timing out.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfTimedOutHostOperationEvent": {
        "type": "object",
        "description": "A boxed array of *TimedOutHostOperationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimedOutHostOperationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnlicensedVirtualMachinesEvent": {
        "type": "object",
        "description": "This event records that we have unlicensed virtual machines on the\nspecified host.\n\nThis can be both a (@link vim.ManagedEntity.configIssue\nconfigIssue) and an entry in the event log.\n",
        "properties": {
          "unlicensed": {
            "type": "integer",
            "format": "int32"
          },
          "available": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "unlicensed",
          "available"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfUnlicensedVirtualMachinesEvent": {
        "type": "object",
        "description": "A boxed array of *UnlicensedVirtualMachinesEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnlicensedVirtualMachinesEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnlicensedVirtualMachinesFoundEvent": {
        "type": "object",
        "description": "This event records that we discovered unlicensed virtual machines on\nthe specified host.\n\nAfter this event is entered into the event log, we\nexpect to see a corresponding (@link\nvim.event.Event.UnlicensedVirtualMachinesEvent\nUnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue\nconfigIssue) on the host.\n",
        "properties": {
          "available": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "available"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfUnlicensedVirtualMachinesFoundEvent": {
        "type": "object",
        "description": "A boxed array of *UnlicensedVirtualMachinesFoundEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnlicensedVirtualMachinesFoundEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UpdatedAgentBeingRestartedEvent": {
        "type": "object",
        "description": "This event records that the agent has been patched and will be\nrestarted.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfUpdatedAgentBeingRestartedEvent": {
        "type": "object",
        "description": "A boxed array of *UpdatedAgentBeingRestartedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdatedAgentBeingRestartedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UpgradeEvent": {
        "type": "object",
        "description": "These event types represent events converted from VirtualCenter 1.x.\n\nAll upgraded events are converted to string values.\n",
        "properties": {
          "message": {
            "description": "The formatted message from the upgrade.\n",
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfUpgradeEvent": {
        "type": "object",
        "description": "A boxed array of *UpgradeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpgradeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UplinkPortMtuNotSupportEvent": {
        "type": "object",
        "description": "Mtu health check status of an uplink port is changed, and in the latest mtu health check,\nnot all the vlans' MTU setting on physical switch allows vSphere Distributed Switch\nmax MTU size packets passing.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsHealthStatusChangeEvent"
          }
        ]
      },
      "ArrayOfUplinkPortMtuNotSupportEvent": {
        "type": "object",
        "description": "A boxed array of *UplinkPortMtuNotSupportEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UplinkPortMtuNotSupportEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UplinkPortMtuSupportEvent": {
        "type": "object",
        "description": "Mtu health check status of an uplink port is changed, and in the latest mtu health check,\nall the vlans' MTU setting on physical switch allows vSphere Distributed Switch\nmax MTU size packets passing.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsHealthStatusChangeEvent"
          }
        ]
      },
      "ArrayOfUplinkPortMtuSupportEvent": {
        "type": "object",
        "description": "A boxed array of *UplinkPortMtuSupportEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UplinkPortMtuSupportEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UplinkPortVlanTrunkedEvent": {
        "type": "object",
        "description": "Vlans health check status of an uplink port is changed, and in the latest vlan health check,\nall the vlans are trunked by the physical switch connected to the uplink port.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsHealthStatusChangeEvent"
          }
        ]
      },
      "ArrayOfUplinkPortVlanTrunkedEvent": {
        "type": "object",
        "description": "A boxed array of *UplinkPortVlanTrunkedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UplinkPortVlanTrunkedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UplinkPortVlanUntrunkedEvent": {
        "type": "object",
        "description": "Vlans health check status of an uplink port is changed, and in the latest vlan health check,\nnot all the vlans are trunked by the physical switch connected to the uplink port.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsHealthStatusChangeEvent"
          }
        ]
      },
      "ArrayOfUplinkPortVlanUntrunkedEvent": {
        "type": "object",
        "description": "A boxed array of *UplinkPortVlanUntrunkedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UplinkPortVlanUntrunkedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserAssignedToGroup": {
        "type": "object",
        "description": "This event records that a user account membership was added to a group.\n",
        "properties": {
          "userLogin": {
            "type": "string"
          },
          "group": {
            "type": "string"
          }
        },
        "required": [
          "userLogin",
          "group"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfUserAssignedToGroup": {
        "type": "object",
        "description": "A boxed array of *UserAssignedToGroup*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserAssignedToGroup"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserLoginSessionEvent": {
        "type": "object",
        "description": "This event records a user logon.\n",
        "properties": {
          "ipAddress": {
            "description": "The IP address of the peer that initiated the connection.\n\nThis may\nbe the client that originated the session, or it may be an intervening\nproxy if the binding uses a protocol that supports proxies, such as HTTP.\n",
            "type": "string"
          },
          "userAgent": {
            "description": "The user agent or application\n",
            "type": "string"
          },
          "locale": {
            "description": "The locale of the session.\n",
            "type": "string"
          },
          "sessionId": {
            "description": "The unique identifier for the session.\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress",
          "locale",
          "sessionId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionEvent"
          }
        ]
      },
      "ArrayOfUserLoginSessionEvent": {
        "type": "object",
        "description": "A boxed array of *UserLoginSessionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserLoginSessionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserLogoutSessionEvent": {
        "type": "object",
        "description": "This event records a user logoff, disconnection, or session timeout.\n",
        "properties": {
          "ipAddress": {
            "description": "The IP address of client\n",
            "type": "string"
          },
          "userAgent": {
            "description": "The user agent or application\n",
            "type": "string"
          },
          "callCount": {
            "description": "Number of API invocations made by the session\n",
            "type": "integer",
            "format": "int64"
          },
          "sessionId": {
            "description": "The unique identifier for the session.\n",
            "type": "string"
          },
          "loginTime": {
            "description": "Timestamp when the user logged on for this session.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/SessionEvent"
          }
        ]
      },
      "ArrayOfUserLogoutSessionEvent": {
        "type": "object",
        "description": "A boxed array of *UserLogoutSessionEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserLogoutSessionEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserPasswordChanged": {
        "type": "object",
        "description": "This event records that a user password changed.\n",
        "properties": {
          "userLogin": {
            "type": "string"
          }
        },
        "required": [
          "userLogin"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfUserPasswordChanged": {
        "type": "object",
        "description": "A boxed array of *UserPasswordChanged*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserPasswordChanged"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserUnassignedFromGroup": {
        "type": "object",
        "description": "This event records that a user account membership was removed from a group.\n",
        "properties": {
          "userLogin": {
            "type": "string"
          },
          "group": {
            "type": "string"
          }
        },
        "required": [
          "userLogin",
          "group"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfUserUnassignedFromGroup": {
        "type": "object",
        "description": "A boxed array of *UserUnassignedFromGroup*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserUnassignedFromGroup"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserUpgradeEvent": {
        "type": "object",
        "description": "This event is a general user event from upgrade.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpgradeEvent"
          }
        ]
      },
      "ArrayOfUserUpgradeEvent": {
        "type": "object",
        "description": "A boxed array of *UserUpgradeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserUpgradeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMFSDatastoreCreatedEvent": {
        "type": "object",
        "description": "This event records when a VMFS datastore is created.\n",
        "properties": {
          "datastore": {
            "description": "The associated datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          },
          "datastoreUrl": {
            "description": "Url of the associated datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfVMFSDatastoreCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *VMFSDatastoreCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMFSDatastoreCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMFSDatastoreExpandedEvent": {
        "type": "object",
        "description": "This event records when a datastore is expanded.\n",
        "properties": {
          "datastore": {
            "description": "The associated datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfVMFSDatastoreExpandedEvent": {
        "type": "object",
        "description": "A boxed array of *VMFSDatastoreExpandedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMFSDatastoreExpandedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMFSDatastoreExtendedEvent": {
        "type": "object",
        "description": "This event records when a datastore is extended.\n",
        "properties": {
          "datastore": {
            "description": "The associated datastore.\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfVMFSDatastoreExtendedEvent": {
        "type": "object",
        "description": "A boxed array of *VMFSDatastoreExtendedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMFSDatastoreExtendedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMotionLicenseExpiredEvent": {
        "type": "object",
        "description": "This event records an expired VMotion license.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/LicenseEvent"
          }
        ]
      },
      "ArrayOfVMotionLicenseExpiredEvent": {
        "type": "object",
        "description": "A boxed array of *VMotionLicenseExpiredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMotionLicenseExpiredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VcAgentUninstallFailedEvent": {
        "type": "object",
        "description": "This event records when the VirtualCenter agent on a host failed to uninstall.\n",
        "properties": {
          "reason": {
            "description": "The reason why the uninstall failed, if known.\n\nSee *AgentInstallFailedReason_enum*\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfVcAgentUninstallFailedEvent": {
        "type": "object",
        "description": "A boxed array of *VcAgentUninstallFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VcAgentUninstallFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VcAgentUninstalledEvent": {
        "type": "object",
        "description": "This event records when the VirtualCenter agent on a host is uninstalled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfVcAgentUninstalledEvent": {
        "type": "object",
        "description": "A boxed array of *VcAgentUninstalledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VcAgentUninstalledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VcAgentUpgradeFailedEvent": {
        "type": "object",
        "description": "This event records when the VirtualCenter agent on a host failed to upgrade.\n",
        "properties": {
          "reason": {
            "description": "The reason why the upgrade failed, if known.\n\nSee *AgentInstallFailedReason_enum*\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfVcAgentUpgradeFailedEvent": {
        "type": "object",
        "description": "A boxed array of *VcAgentUpgradeFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VcAgentUpgradeFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VcAgentUpgradedEvent": {
        "type": "object",
        "description": "This event records when the VirtualCenter agent on a host upgraded.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfVcAgentUpgradedEvent": {
        "type": "object",
        "description": "A boxed array of *VcAgentUpgradedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VcAgentUpgradedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VimAccountPasswordChangedEvent": {
        "type": "object",
        "description": "Password for the Vim account user on the host has been changed.\n\nThis is an account created by VirtualCenter and used to manage the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfVimAccountPasswordChangedEvent": {
        "type": "object",
        "description": "A boxed array of *VimAccountPasswordChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimAccountPasswordChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmAcquiredMksTicketEvent": {
        "type": "object",
        "description": "This event records a user successfully acquiring an MKS ticket\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmAcquiredMksTicketEvent": {
        "type": "object",
        "description": "A boxed array of *VmAcquiredMksTicketEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmAcquiredMksTicketEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmAcquiredTicketEvent": {
        "type": "object",
        "description": "This event records a user successfully acquiring a ticket\n",
        "properties": {
          "ticketType": {
            "description": "The type of the ticket @see VirtualMachine.TicketType\n",
            "type": "string"
          }
        },
        "required": [
          "ticketType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmAcquiredTicketEvent": {
        "type": "object",
        "description": "A boxed array of *VmAcquiredTicketEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmAcquiredTicketEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmAutoRenameEvent": {
        "type": "object",
        "description": "This event records that a virtual machine was automatically renamed\nbecause of a name conflict.\n",
        "properties": {
          "oldName": {
            "description": "The name of the virtual machine before renaming.\n",
            "type": "string"
          },
          "newName": {
            "description": "The name of the virtual machine after renaming.\n",
            "type": "string"
          }
        },
        "required": [
          "oldName",
          "newName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmAutoRenameEvent": {
        "type": "object",
        "description": "A boxed array of *VmAutoRenameEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmAutoRenameEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmBeingClonedEvent": {
        "type": "object",
        "description": "This event records a virtual machine being cloned.\n",
        "properties": {
          "destFolder": {
            "description": "The destination folder to which the virtual machine is being cloned.\n",
            "$ref": "#/components/schemas/FolderEventArgument"
          },
          "destName": {
            "description": "The name of the destination virtual machine.\n",
            "type": "string"
          },
          "destHost": {
            "description": "The destination host to which the virtual machine is being cloned.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "destFolder",
          "destName",
          "destHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmCloneEvent"
          }
        ]
      },
      "ArrayOfVmBeingClonedEvent": {
        "type": "object",
        "description": "A boxed array of *VmBeingClonedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmBeingClonedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmBeingClonedNoFolderEvent": {
        "type": "object",
        "description": "This event records a virtual machine being cloned.\n",
        "properties": {
          "destName": {
            "description": "The name of the destination virtual machine.\n",
            "type": "string"
          },
          "destHost": {
            "description": "The destination host to which the virtual machine is being cloned.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "destName",
          "destHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmCloneEvent"
          }
        ]
      },
      "ArrayOfVmBeingClonedNoFolderEvent": {
        "type": "object",
        "description": "A boxed array of *VmBeingClonedNoFolderEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmBeingClonedNoFolderEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmBeingCreatedEvent": {
        "type": "object",
        "description": "This event records a virtual machine being created.\n",
        "properties": {
          "configSpec": {
            "description": "The configuration specification that was used to create this virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmBeingCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *VmBeingCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmBeingCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmBeingDeployedEvent": {
        "type": "object",
        "description": "This event records a virtual machine being deployed from a template.\n",
        "properties": {
          "srcTemplate": {
            "description": "The template object from which the virtual machine is being deployed.\n",
            "$ref": "#/components/schemas/VmEventArgument"
          }
        },
        "required": [
          "srcTemplate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmBeingDeployedEvent": {
        "type": "object",
        "description": "A boxed array of *VmBeingDeployedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmBeingDeployedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmBeingHotMigratedEvent": {
        "type": "object",
        "description": "This event records that a virtual machine is being hot-migrated.\n",
        "properties": {
          "destHost": {
            "description": "The destination host to which the virtual machine is to be migrated.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "destDatacenter": {
            "description": "The destination datacenter to which the virtual machine is being migrated\n",
            "$ref": "#/components/schemas/DatacenterEventArgument"
          },
          "destDatastore": {
            "description": "The destination primary datastore to which the virtual machine is being migrated\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "destHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmBeingHotMigratedEvent": {
        "type": "object",
        "description": "A boxed array of *VmBeingHotMigratedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmBeingHotMigratedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmBeingMigratedEvent": {
        "type": "object",
        "description": "This event records that a virtual machine is being migrated.\n",
        "properties": {
          "destHost": {
            "description": "The destination host.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "destDatacenter": {
            "description": "The destination datacenter\n",
            "$ref": "#/components/schemas/DatacenterEventArgument"
          },
          "destDatastore": {
            "description": "The destination primary datastore\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "destHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmBeingMigratedEvent": {
        "type": "object",
        "description": "A boxed array of *VmBeingMigratedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmBeingMigratedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmBeingRelocatedEvent": {
        "type": "object",
        "description": "This event records that a virtual machine is being relocated.\n",
        "properties": {
          "destHost": {
            "description": "The destination host to which the virtual machine is being relocated.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "destDatacenter": {
            "description": "The destination datacenter to which the virtual machine is being relocated\n",
            "$ref": "#/components/schemas/DatacenterEventArgument"
          },
          "destDatastore": {
            "description": "The destination primary datastore to which the virtual machine is being relocated\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "destHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmRelocateSpecEvent"
          }
        ]
      },
      "ArrayOfVmBeingRelocatedEvent": {
        "type": "object",
        "description": "A boxed array of *VmBeingRelocatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmBeingRelocatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmCloneEvent": {
        "type": "object",
        "description": "The is the base event for all clone operations.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmCloneEvent": {
        "type": "object",
        "description": "A boxed array of *VmCloneEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmCloneEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmCloneFailedEvent": {
        "type": "object",
        "description": "This event records a failure to clone a virtual machine.\n",
        "properties": {
          "destFolder": {
            "description": "The destination folder to which the virtual machine is being cloned.\n",
            "$ref": "#/components/schemas/FolderEventArgument"
          },
          "destName": {
            "description": "The name of the destination virtual machine.\n",
            "type": "string"
          },
          "destHost": {
            "description": "The destination host to which the virtual machine was being cloned.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "reason": {
            "description": "The reason why this clone operation failed.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "destFolder",
          "destName",
          "destHost",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmCloneEvent"
          }
        ]
      },
      "ArrayOfVmCloneFailedEvent": {
        "type": "object",
        "description": "A boxed array of *VmCloneFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmCloneFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmClonedEvent": {
        "type": "object",
        "description": "This event records the completion of a virtual machine cloning operation.\n",
        "properties": {
          "sourceVm": {
            "description": "The source virtual machine for the clone operation.\n",
            "$ref": "#/components/schemas/VmEventArgument"
          }
        },
        "required": [
          "sourceVm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmCloneEvent"
          }
        ]
      },
      "ArrayOfVmClonedEvent": {
        "type": "object",
        "description": "A boxed array of *VmClonedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmClonedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigMissingEvent": {
        "type": "object",
        "description": "This event records if the configuration file can not be found.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmConfigMissingEvent": {
        "type": "object",
        "description": "A boxed array of *VmConfigMissingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigMissingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConnectedEvent": {
        "type": "object",
        "description": "This event records that a virtual machine is connected.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmConnectedEvent": {
        "type": "object",
        "description": "A boxed array of *VmConnectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConnectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmCreatedEvent": {
        "type": "object",
        "description": "This event records that a virtual machine was successfully created.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmCreatedEvent": {
        "type": "object",
        "description": "A boxed array of *VmCreatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmCreatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDasBeingResetEvent": {
        "type": "object",
        "description": "This event records when a virtual machine is reset by\nHA VM Health Monitoring on hosts that do not support the\ncreate screenshot api or if the createscreenshot api fails.\n",
        "properties": {
          "reason": {
            "description": "The reason why this vm is being reset\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDasBeingResetEvent": {
        "type": "object",
        "description": "A boxed array of *VmDasBeingResetEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDasBeingResetEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDasBeingResetWithScreenshotEvent": {
        "type": "object",
        "description": "This event records when a virtual machine is reset by\nHA VM Health Monitoring on hosts that support the create screenshot api\n",
        "properties": {
          "screenshotFilePath": {
            "description": "The datastore path of the screenshot taken before resetting.\n",
            "type": "string"
          }
        },
        "required": [
          "screenshotFilePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmDasBeingResetEvent"
          }
        ]
      },
      "ArrayOfVmDasBeingResetWithScreenshotEvent": {
        "type": "object",
        "description": "A boxed array of *VmDasBeingResetWithScreenshotEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDasBeingResetWithScreenshotEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDasResetFailedEvent": {
        "type": "object",
        "description": "This event records when HA VM Health Monitoring fails to reset\na virtual machine after failure\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDasResetFailedEvent": {
        "type": "object",
        "description": "A boxed array of *VmDasResetFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDasResetFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDasUpdateErrorEvent": {
        "type": "object",
        "description": "The event records that an error occurred when updating the HA agents\nwith the current state of the virtual machine.\n\nIf this occurs during a\npowerOn operation, the virtual machine will not be failed over in the\nevent of a host failure. If it occurs during a powerOff, the virtual\nmachine will be automatically powered on if the host it was last running\non crashes.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDasUpdateErrorEvent": {
        "type": "object",
        "description": "A boxed array of *VmDasUpdateErrorEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDasUpdateErrorEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDasUpdateOkEvent": {
        "type": "object",
        "description": "This event records that HA agents have been updated with the current\nstate of the virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDasUpdateOkEvent": {
        "type": "object",
        "description": "A boxed array of *VmDasUpdateOkEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDasUpdateOkEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDateRolledBackEvent": {
        "type": "object",
        "description": "This event records when the VirtualCenter server date rolled back.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDateRolledBackEvent": {
        "type": "object",
        "description": "A boxed array of *VmDateRolledBackEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDateRolledBackEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDeployFailedEvent": {
        "type": "object",
        "description": "This event records a failure to deploy from a template.\n",
        "properties": {
          "destDatastore": {
            "description": "The destination datastore to which the template was being deployed.\n",
            "$ref": "#/components/schemas/EntityEventArgument"
          },
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "destDatastore",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDeployFailedEvent": {
        "type": "object",
        "description": "A boxed array of *VmDeployFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDeployFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDeployedEvent": {
        "type": "object",
        "description": "This event records the completion of a virtual machine deployment operation.\n",
        "properties": {
          "srcTemplate": {
            "description": "The template object from which the virtual machine has been deployed.\n",
            "$ref": "#/components/schemas/VmEventArgument"
          }
        },
        "required": [
          "srcTemplate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDeployedEvent": {
        "type": "object",
        "description": "A boxed array of *VmDeployedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDeployedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDisconnectedEvent": {
        "type": "object",
        "description": "This event records that a virtual machine disconnected.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDisconnectedEvent": {
        "type": "object",
        "description": "A boxed array of *VmDisconnectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDisconnectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDiscoveredEvent": {
        "type": "object",
        "description": "This event records a virtual machine discovery.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDiscoveredEvent": {
        "type": "object",
        "description": "A boxed array of *VmDiscoveredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDiscoveredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDiskFailedEvent": {
        "type": "object",
        "description": "This event records a failure to create a virtual disk in a virtual machine.\n",
        "properties": {
          "disk": {
            "description": "The name of the virtual disk.\n",
            "type": "string"
          },
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "disk",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmDiskFailedEvent": {
        "type": "object",
        "description": "A boxed array of *VmDiskFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDiskFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmEmigratingEvent": {
        "type": "object",
        "description": "This event records a virtual machine emigration.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmEmigratingEvent": {
        "type": "object",
        "description": "A boxed array of *VmEmigratingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmEmigratingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmEndRecordingEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nThis event indicates the end of a recording session on a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmEndRecordingEvent": {
        "type": "object",
        "description": "A boxed array of *VmEndRecordingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmEndRecordingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmEndReplayingEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nThis event indicates the end of a replay session on a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmEndReplayingEvent": {
        "type": "object",
        "description": "A boxed array of *VmEndReplayingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmEndReplayingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmEvent": {
        "type": "object",
        "description": "These are virtual machine events.\n",
        "properties": {
          "template": {
            "description": "Indicates whether or not the virtual machine is marked as a template.\n",
            "type": "boolean"
          }
        },
        "required": [
          "template"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          }
        ]
      },
      "ArrayOfVmEvent": {
        "type": "object",
        "description": "A boxed array of *VmEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmEventArgument": {
        "type": "object",
        "description": "The event argument is a VirtualMachine object.\n",
        "properties": {
          "vm": {
            "description": "The VirtualMachine object.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityEventArgument"
          }
        ]
      },
      "ArrayOfVmEventArgument": {
        "type": "object",
        "description": "A boxed array of *VmEventArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmEventArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedMigrateEvent": {
        "type": "object",
        "description": "This event records a failure to migrate a virtual machine.\n",
        "properties": {
          "destHost": {
            "description": "The destination host.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "destDatacenter": {
            "description": "The destination datacenter\n",
            "$ref": "#/components/schemas/DatacenterEventArgument"
          },
          "destDatastore": {
            "description": "The destination primary datastore\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "destHost",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedMigrateEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedMigrateEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedMigrateEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedRelayoutEvent": {
        "type": "object",
        "description": "This event records a specific failure to relay out a virtual machine,\nsuch as a failure to access the disk.\n",
        "properties": {
          "reason": {
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedRelayoutEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedRelayoutEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedRelayoutEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedRelayoutOnVmfs2DatastoreEvent": {
        "type": "object",
        "description": "This event records a failure to relay out a virtual machine\nwhen the virtual machine still has disks on a VMFS2 volume.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedRelayoutOnVmfs2DatastoreEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedRelayoutOnVmfs2DatastoreEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedRelayoutOnVmfs2DatastoreEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedStartingSecondaryEvent": {
        "type": "object",
        "description": "This event records vmotion failure when starting a secondary VM.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n\nSee *VmFailedStartingSecondaryEventFailureReason_enum*\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedStartingSecondaryEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedStartingSecondaryEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedStartingSecondaryEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedToPowerOffEvent": {
        "type": "object",
        "description": "This event records a failure to power off a virtual machine.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedToPowerOffEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedToPowerOffEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedToPowerOffEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedToPowerOnEvent": {
        "type": "object",
        "description": "This event records a failure to power on a virtual machine.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedToPowerOnEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedToPowerOnEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedToPowerOnEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedToRebootGuestEvent": {
        "type": "object",
        "description": "This event records a failure to reboot the guest on a virtual machine.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedToRebootGuestEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedToRebootGuestEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedToRebootGuestEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedToResetEvent": {
        "type": "object",
        "description": "This event records a failure to reset a virtual machine.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedToResetEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedToResetEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedToResetEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedToShutdownGuestEvent": {
        "type": "object",
        "description": "This event records a failure to shut down the guest on a virtual machine.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedToShutdownGuestEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedToShutdownGuestEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedToShutdownGuestEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedToStandbyGuestEvent": {
        "type": "object",
        "description": "This event records a failure to set the guest on a virtual machine to a standby\nstate.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedToStandbyGuestEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedToStandbyGuestEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedToStandbyGuestEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedToSuspendEvent": {
        "type": "object",
        "description": "This event records a failure to suspend a virtual machine.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedToSuspendEvent": {
        "type": "object",
        "description": "A boxed array of *VmFailedToSuspendEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedToSuspendEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailedUpdatingSecondaryConfig": {
        "type": "object",
        "description": "This event records after a failover the new new primary failed to\nupdate the config of the secondary vm.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailedUpdatingSecondaryConfig": {
        "type": "object",
        "description": "A boxed array of *VmFailedUpdatingSecondaryConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailedUpdatingSecondaryConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFailoverFailed": {
        "type": "object",
        "description": "This event records when a virtual machine failover was unsuccessful.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFailoverFailed": {
        "type": "object",
        "description": "A boxed array of *VmFailoverFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFailoverFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceStateChangedEvent": {
        "type": "object",
        "description": "This event records a fault tolerance state change.\n\nA default alarm will be triggered upon this event, which would\nchange the vm state:\nthe vm state is red if the newState is needSecondary;\nthe vm state is yellow if the newState is disabled;\nthe vm state is green if the newState is notConfigured, starting,\nenabled or running\n",
        "properties": {
          "oldState": {
            "description": "The old fault toleeance state.\n",
            "$ref": "#/components/schemas/VirtualMachineFaultToleranceState_enum"
          },
          "newState": {
            "description": "The new fault tolerance state.\n",
            "$ref": "#/components/schemas/VirtualMachineFaultToleranceState_enum"
          }
        },
        "required": [
          "oldState",
          "newState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFaultToleranceStateChangedEvent": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceStateChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceStateChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceTurnedOffEvent": {
        "type": "object",
        "description": "This event records that all secondary virtual machines have\nbeen removed and fault tolerance protection turned off for\nthis virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFaultToleranceTurnedOffEvent": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceTurnedOffEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceTurnedOffEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceVmTerminatedEvent": {
        "type": "object",
        "description": "This event records a secondary or primary VM is terminated.\n\nThe reason could be : divergence, lost connection to secondary, partial\nhardware failure of secondary, or by user.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n\nsee *VirtualMachineNeedSecondaryReason_enum*\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmFaultToleranceVmTerminatedEvent": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceVmTerminatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceVmTerminatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmGuestOSCrashedEvent": {
        "type": "object",
        "description": "This event notifies that a guest OS has crashed\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmGuestOSCrashedEvent": {
        "type": "object",
        "description": "A boxed array of *VmGuestOSCrashedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmGuestOSCrashedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmGuestRebootEvent": {
        "type": "object",
        "description": "This is a virtual machine guest reboot request event.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmGuestRebootEvent": {
        "type": "object",
        "description": "A boxed array of *VmGuestRebootEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmGuestRebootEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmGuestShutdownEvent": {
        "type": "object",
        "description": "This is a virtual machine guest shutdown request event.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmGuestShutdownEvent": {
        "type": "object",
        "description": "A boxed array of *VmGuestShutdownEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmGuestShutdownEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmGuestStandbyEvent": {
        "type": "object",
        "description": "This is a virtual machine guest standby request event.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmGuestStandbyEvent": {
        "type": "object",
        "description": "A boxed array of *VmGuestStandbyEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmGuestStandbyEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmHealthMonitoringStateChangedEvent": {
        "type": "object",
        "description": "This event records when host monitoring state has changed.\n",
        "properties": {
          "state": {
            "description": "The service state in\n*ClusterDasConfigInfoVmMonitoringState_enum*\n",
            "type": "string"
          },
          "prevState": {
            "description": "The previous service state in\n*ClusterDasConfigInfoVmMonitoringState_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterEvent"
          }
        ]
      },
      "ArrayOfVmHealthMonitoringStateChangedEvent": {
        "type": "object",
        "description": "A boxed array of *VmHealthMonitoringStateChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmHealthMonitoringStateChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmInstanceUuidAssignedEvent": {
        "type": "object",
        "description": "This event records the assignment of a new instance UUID\nto a virtual machine.\n",
        "properties": {
          "instanceUuid": {
            "description": "The new instance UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmInstanceUuidAssignedEvent": {
        "type": "object",
        "description": "A boxed array of *VmInstanceUuidAssignedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmInstanceUuidAssignedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmInstanceUuidChangedEvent": {
        "type": "object",
        "description": "This event records a change in a virtual machine's instance UUID.\n",
        "properties": {
          "oldInstanceUuid": {
            "description": "The old instance UUID.\n",
            "type": "string"
          },
          "newInstanceUuid": {
            "description": "The new instance UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "oldInstanceUuid",
          "newInstanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmInstanceUuidChangedEvent": {
        "type": "object",
        "description": "A boxed array of *VmInstanceUuidChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmInstanceUuidChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmInstanceUuidConflictEvent": {
        "type": "object",
        "description": "This event records a conflict of virtual machine instance UUIDs.\n",
        "properties": {
          "conflictedVm": {
            "description": "The virtual machine whose instance UUID conflicts with the\ncurrent virtual machine's instance UUID.\n",
            "$ref": "#/components/schemas/VmEventArgument"
          },
          "instanceUuid": {
            "description": "The instance UUID in conflict.\n",
            "type": "string"
          }
        },
        "required": [
          "conflictedVm",
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmInstanceUuidConflictEvent": {
        "type": "object",
        "description": "A boxed array of *VmInstanceUuidConflictEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmInstanceUuidConflictEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMacAssignedEvent": {
        "type": "object",
        "description": "This event records the assignment of a new MAC address\nto a virtual network adapter.\n",
        "properties": {
          "adapter": {
            "description": "The name of the virtual adapter.\n",
            "type": "string"
          },
          "mac": {
            "description": "The new MAC address.\n",
            "type": "string"
          }
        },
        "required": [
          "adapter",
          "mac"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmMacAssignedEvent": {
        "type": "object",
        "description": "A boxed array of *VmMacAssignedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMacAssignedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMacChangedEvent": {
        "type": "object",
        "description": "This event records a change in a virtual machine's MAC address.\n",
        "properties": {
          "adapter": {
            "description": "The name of the virtual network adapter.\n",
            "type": "string"
          },
          "oldMac": {
            "description": "The old MAC address.\n",
            "type": "string"
          },
          "newMac": {
            "description": "The new MAC address.\n",
            "type": "string"
          }
        },
        "required": [
          "adapter",
          "oldMac",
          "newMac"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmMacChangedEvent": {
        "type": "object",
        "description": "A boxed array of *VmMacChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMacChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMacConflictEvent": {
        "type": "object",
        "description": "This event records a MAC address conflict for a virtual machine.\n",
        "properties": {
          "conflictedVm": {
            "description": "The virtual machine whose MAC address conflicts with\nthe current virtual machine's address.\n",
            "$ref": "#/components/schemas/VmEventArgument"
          },
          "mac": {
            "description": "The MAC address that is in conflict.\n",
            "type": "string"
          }
        },
        "required": [
          "conflictedVm",
          "mac"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmMacConflictEvent": {
        "type": "object",
        "description": "A boxed array of *VmMacConflictEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMacConflictEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMaxFTRestartCountReached": {
        "type": "object",
        "description": "This event is fired when FT VM reached the max restart count\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmMaxFTRestartCountReached": {
        "type": "object",
        "description": "A boxed array of *VmMaxFTRestartCountReached*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMaxFTRestartCountReached"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMaxRestartCountReached": {
        "type": "object",
        "description": "This event is fired when the VM reached the max restart count\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmMaxRestartCountReached": {
        "type": "object",
        "description": "A boxed array of *VmMaxRestartCountReached*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMaxRestartCountReached"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMessageErrorEvent": {
        "type": "object",
        "description": "This event records when an error message (consisting of a collection of \"observations\")\nis thrown by the virtual machine.\n\nThis is a generic event for such messages.\n",
        "properties": {
          "message": {
            "description": "A raw message returned by the virtualization platform.\n",
            "type": "string"
          },
          "messageInfo": {
            "description": "A set of localizable message data that comprise this event.\n\nOnly available on servers that support localization.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMessage"
            }
          }
        },
        "required": [
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmMessageErrorEvent": {
        "type": "object",
        "description": "A boxed array of *VmMessageErrorEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMessageErrorEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMessageEvent": {
        "type": "object",
        "description": "This event records when an informational message (consisting of a collection of \"observations\")\nis thrown by the virtual machine.\n\nThis is a generic event for such messages.\n",
        "properties": {
          "message": {
            "description": "A raw message returned by the virtualization platform.\n",
            "type": "string"
          },
          "messageInfo": {
            "description": "A set of localizable message data that comprise this event.\n\nOnly available on servers that support localization.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMessage"
            }
          }
        },
        "required": [
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmMessageEvent": {
        "type": "object",
        "description": "A boxed array of *VmMessageEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMessageEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMessageWarningEvent": {
        "type": "object",
        "description": "This event records when a warning message (consisting of a collection of \"observations\")\nis thrown by the virtual machine.\n\nThis is a generic event for such messages.\n",
        "properties": {
          "message": {
            "description": "A raw message returned by the virtualization platform.\n",
            "type": "string"
          },
          "messageInfo": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMessage"
            }
          }
        },
        "required": [
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmMessageWarningEvent": {
        "type": "object",
        "description": "A boxed array of *VmMessageWarningEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMessageWarningEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMigratedEvent": {
        "type": "object",
        "description": "This event records a virtual machine migration.\n",
        "properties": {
          "sourceHost": {
            "description": "The source host.\n\n(Because this is after a successful migration,\nthe destination host is recorded in the inherited \"host\" property.)\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "sourceDatacenter": {
            "description": "The source datacenter\n",
            "$ref": "#/components/schemas/DatacenterEventArgument"
          },
          "sourceDatastore": {
            "description": "The source primary datastore\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "sourceHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmMigratedEvent": {
        "type": "object",
        "description": "A boxed array of *VmMigratedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMigratedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmNoCompatibleHostForSecondaryEvent": {
        "type": "object",
        "description": "This event records that no compatible host was found to place a\nsecondary VM.\n\nA default alarm will be triggered upon this event, which by default\nwould trigger a SNMP trap.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmNoCompatibleHostForSecondaryEvent": {
        "type": "object",
        "description": "A boxed array of *VmNoCompatibleHostForSecondaryEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmNoCompatibleHostForSecondaryEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmNoNetworkAccessEvent": {
        "type": "object",
        "description": "This event records a migration failure when the destination host\nis not on the same network as the source host.\n",
        "properties": {
          "destHost": {
            "description": "The destination host.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "destHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmNoNetworkAccessEvent": {
        "type": "object",
        "description": "A boxed array of *VmNoNetworkAccessEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmNoNetworkAccessEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmOrphanedEvent": {
        "type": "object",
        "description": "This event records a virtual machine for which no host is responsible.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmOrphanedEvent": {
        "type": "object",
        "description": "A boxed array of *VmOrphanedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmOrphanedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPowerOffOnIsolationEvent": {
        "type": "object",
        "description": "This event records when a virtual machine has been powered off on an isolated host\nin a HA cluster.\n",
        "properties": {
          "isolatedHost": {
            "description": "The isolated host on which a virtual machine is powered off.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "isolatedHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmPoweredOffEvent"
          }
        ]
      },
      "ArrayOfVmPowerOffOnIsolationEvent": {
        "type": "object",
        "description": "A boxed array of *VmPowerOffOnIsolationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPowerOffOnIsolationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPoweredOffEvent": {
        "type": "object",
        "description": "This event records when a virtual machine finished powering off.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmPoweredOffEvent": {
        "type": "object",
        "description": "A boxed array of *VmPoweredOffEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPoweredOffEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPoweredOnEvent": {
        "type": "object",
        "description": "This event records when a virtual machine finished powering on.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmPoweredOnEvent": {
        "type": "object",
        "description": "A boxed array of *VmPoweredOnEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPoweredOnEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPoweringOnWithCustomizedDVPortEvent": {
        "type": "object",
        "description": "This event records when a virtual machine was powering on using\nDVPorts with port level configuration, which might be different\nfrom the DVportgroup.\n",
        "properties": {
          "vnic": {
            "description": "The list of Virtual NIC that were using the DVports.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VnicPortArgument"
            }
          }
        },
        "required": [
          "vnic"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmPoweringOnWithCustomizedDVPortEvent": {
        "type": "object",
        "description": "A boxed array of *VmPoweringOnWithCustomizedDVPortEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPoweringOnWithCustomizedDVPortEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPrimaryFailoverEvent": {
        "type": "object",
        "description": "This event records a fault tolerance failover.\n\nThe reason could be : lost connection to primary, partial hardware failure\nof primary or by user.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n\nsee *VirtualMachineNeedSecondaryReason_enum*\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmPrimaryFailoverEvent": {
        "type": "object",
        "description": "A boxed array of *VmPrimaryFailoverEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPrimaryFailoverEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmReconfiguredEvent": {
        "type": "object",
        "description": "This event records a reconfiguration of the virtual machine.\n",
        "properties": {
          "configSpec": {
            "description": "The configuration specification that was used for the reconfiguration.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          },
          "configChanges": {
            "description": "The configuration values changed during the reconfiguration.\n",
            "$ref": "#/components/schemas/ChangesInfoEventArgument"
          }
        },
        "required": [
          "configSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmReconfiguredEvent": {
        "type": "object",
        "description": "A boxed array of *VmReconfiguredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmReconfiguredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRegisteredEvent": {
        "type": "object",
        "description": "This event records that a virtual machine was successfully registered.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmRegisteredEvent": {
        "type": "object",
        "description": "A boxed array of *VmRegisteredEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRegisteredEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRelayoutSuccessfulEvent": {
        "type": "object",
        "description": "This event records that a virtual machine was successfully\nconverted to the new virtual machine format on a VMFS3 volume.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmRelayoutSuccessfulEvent": {
        "type": "object",
        "description": "A boxed array of *VmRelayoutSuccessfulEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRelayoutSuccessfulEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRelayoutUpToDateEvent": {
        "type": "object",
        "description": "This event records that a virtual machine is already in the\ncorrect format.\n\nNo relay out is necessary.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmRelayoutUpToDateEvent": {
        "type": "object",
        "description": "A boxed array of *VmRelayoutUpToDateEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRelayoutUpToDateEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmReloadFromPathEvent": {
        "type": "object",
        "description": "This event records that a virtual machine was successfully reloaded from a\nnew configuration path.\n",
        "properties": {
          "configPath": {
            "type": "string"
          }
        },
        "required": [
          "configPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmReloadFromPathEvent": {
        "type": "object",
        "description": "A boxed array of *VmReloadFromPathEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmReloadFromPathEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmReloadFromPathFailedEvent": {
        "type": "object",
        "description": "This event records that a virtual machine reload from a new configuration\npath failed.\n",
        "properties": {
          "configPath": {
            "type": "string"
          }
        },
        "required": [
          "configPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmReloadFromPathFailedEvent": {
        "type": "object",
        "description": "A boxed array of *VmReloadFromPathFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmReloadFromPathFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRelocateFailedEvent": {
        "type": "object",
        "description": "This event records a failure to relocate a virtual machine.\n",
        "properties": {
          "destHost": {
            "description": "The destination host to which the virtual machine is being relocated.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "reason": {
            "description": "The reason why this relocate operation failed.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "destDatacenter": {
            "description": "The destination datacenter to which the virtual machine was being relocated\n",
            "$ref": "#/components/schemas/DatacenterEventArgument"
          },
          "destDatastore": {
            "description": "The destination primary datastore to which the virtual machine was being relocated\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "destHost",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmRelocateSpecEvent"
          }
        ]
      },
      "ArrayOfVmRelocateFailedEvent": {
        "type": "object",
        "description": "A boxed array of *VmRelocateFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRelocateFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRelocateSpecEvent": {
        "type": "object",
        "description": "This event is the base event for relocate and clone base events.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmRelocateSpecEvent": {
        "type": "object",
        "description": "A boxed array of *VmRelocateSpecEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRelocateSpecEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRelocatedEvent": {
        "type": "object",
        "description": "This event records the completion of a virtual machine relocation.\n",
        "properties": {
          "sourceHost": {
            "description": "The source host from which the virtual machine was relocated.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "sourceDatacenter": {
            "description": "The source datacenter from which the virtual machine relocated\n",
            "$ref": "#/components/schemas/DatacenterEventArgument"
          },
          "sourceDatastore": {
            "description": "The source primary datastore from which the virtual machine relocated\n",
            "$ref": "#/components/schemas/DatastoreEventArgument"
          }
        },
        "required": [
          "sourceHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmRelocateSpecEvent"
          }
        ]
      },
      "ArrayOfVmRelocatedEvent": {
        "type": "object",
        "description": "A boxed array of *VmRelocatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRelocatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRemoteConsoleConnectedEvent": {
        "type": "object",
        "description": "This event records that a remote console was connected to the VM\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmRemoteConsoleConnectedEvent": {
        "type": "object",
        "description": "A boxed array of *VmRemoteConsoleConnectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRemoteConsoleConnectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRemoteConsoleDisconnectedEvent": {
        "type": "object",
        "description": "This event records that a remote console was disconnected from the VM\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmRemoteConsoleDisconnectedEvent": {
        "type": "object",
        "description": "A boxed array of *VmRemoteConsoleDisconnectedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRemoteConsoleDisconnectedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRemovedEvent": {
        "type": "object",
        "description": "This event records a virtual machine removed from VirtualCenter management.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmRemovedEvent": {
        "type": "object",
        "description": "A boxed array of *VmRemovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRemovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRenamedEvent": {
        "type": "object",
        "description": "This event records the renaming of a virtual machine.\n",
        "properties": {
          "oldName": {
            "description": "The old name of the virtual machine.\n",
            "type": "string"
          },
          "newName": {
            "description": "The new name of the virtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "oldName",
          "newName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmRenamedEvent": {
        "type": "object",
        "description": "A boxed array of *VmRenamedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRenamedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRequirementsExceedCurrentEVCModeEvent": {
        "type": "object",
        "description": "The virtual machine is using features that exceed what the\nhost is capable of providing.\n\nThis may occur when joining an EVC cluster\nwhile the virtual machine is powered on.\nThe most common resolution is to power cycle the virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmRequirementsExceedCurrentEVCModeEvent": {
        "type": "object",
        "description": "A boxed array of *VmRequirementsExceedCurrentEVCModeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRequirementsExceedCurrentEVCModeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmResettingEvent": {
        "type": "object",
        "description": "This event records a virtual machine resetting.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmResettingEvent": {
        "type": "object",
        "description": "A boxed array of *VmResettingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmResettingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmResourcePoolMovedEvent": {
        "type": "object",
        "description": "This event records when a virtual machine is moved from one resource pool to another.\n",
        "properties": {
          "oldParent": {
            "description": "The old parent resourcePool of the moved virtual machine.\n",
            "$ref": "#/components/schemas/ResourcePoolEventArgument"
          },
          "newParent": {
            "description": "The new parent resourcePool of the moved virtual machine.\n",
            "$ref": "#/components/schemas/ResourcePoolEventArgument"
          }
        },
        "required": [
          "oldParent",
          "newParent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmResourcePoolMovedEvent": {
        "type": "object",
        "description": "A boxed array of *VmResourcePoolMovedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmResourcePoolMovedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmResourceReallocatedEvent": {
        "type": "object",
        "description": "This event records a change in resource allocation of a virtual machine.\n",
        "properties": {
          "configChanges": {
            "description": "The configuration values changed during the reconfiguration.\n",
            "$ref": "#/components/schemas/ChangesInfoEventArgument"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmResourceReallocatedEvent": {
        "type": "object",
        "description": "A boxed array of *VmResourceReallocatedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmResourceReallocatedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmRestartedOnAlternateHostEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.0, the Server will generate the *EventEx* event\nwith the *EventEx.eventTypeId* property set to \"com.vmware.vc.ha.VmRestartedByHAEvent\".\n\nThis event records that the virtual machine was restarted on a host, since\nits original host had failed.\n",
        "properties": {
          "sourceHost": {
            "description": "The host that failed.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          }
        },
        "required": [
          "sourceHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmPoweredOnEvent"
          }
        ]
      },
      "ArrayOfVmRestartedOnAlternateHostEvent": {
        "type": "object",
        "description": "A boxed array of *VmRestartedOnAlternateHostEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmRestartedOnAlternateHostEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmResumingEvent": {
        "type": "object",
        "description": "This event records a virtual machine resuming.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmResumingEvent": {
        "type": "object",
        "description": "A boxed array of *VmResumingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmResumingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSecondaryAddedEvent": {
        "type": "object",
        "description": "This event records a secondary VM is added.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmSecondaryAddedEvent": {
        "type": "object",
        "description": "A boxed array of *VmSecondaryAddedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSecondaryAddedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSecondaryDisabledBySystemEvent": {
        "type": "object",
        "description": "This event records that a fault tolerance secondary VM has been\ndisabled by vCenter because the VM could not be powered on.\n",
        "properties": {
          "reason": {
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmSecondaryDisabledBySystemEvent": {
        "type": "object",
        "description": "A boxed array of *VmSecondaryDisabledBySystemEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSecondaryDisabledBySystemEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSecondaryDisabledEvent": {
        "type": "object",
        "description": "This event records a secondary VM is disabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmSecondaryDisabledEvent": {
        "type": "object",
        "description": "A boxed array of *VmSecondaryDisabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSecondaryDisabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSecondaryEnabledEvent": {
        "type": "object",
        "description": "This event records a secondary VM is enabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmSecondaryEnabledEvent": {
        "type": "object",
        "description": "A boxed array of *VmSecondaryEnabledEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSecondaryEnabledEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSecondaryStartedEvent": {
        "type": "object",
        "description": "This event records a secondary VM is started successfully.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmSecondaryStartedEvent": {
        "type": "object",
        "description": "A boxed array of *VmSecondaryStartedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSecondaryStartedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmShutdownOnIsolationEvent": {
        "type": "object",
        "description": "This event records when a virtual machine has been shut down on an isolated host\nin a HA cluster.\n",
        "properties": {
          "isolatedHost": {
            "description": "The isolated host on which a virtual machine was shutdown.\n",
            "$ref": "#/components/schemas/HostEventArgument"
          },
          "shutdownResult": {
            "description": "Indicates if the shutdown was successful.\n\nIf the shutdown failed, the virtual\nmachine was powered off. see *VmShutdownOnIsolationEventOperation_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "isolatedHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmPoweredOffEvent"
          }
        ]
      },
      "ArrayOfVmShutdownOnIsolationEvent": {
        "type": "object",
        "description": "A boxed array of *VmShutdownOnIsolationEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmShutdownOnIsolationEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmStartRecordingEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nThis event indicates the start of a recording session on a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmStartRecordingEvent": {
        "type": "object",
        "description": "A boxed array of *VmStartRecordingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmStartRecordingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmStartReplayingEvent": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nThis event indicates the start of a replay session on a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmStartReplayingEvent": {
        "type": "object",
        "description": "A boxed array of *VmStartReplayingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmStartReplayingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmStartingEvent": {
        "type": "object",
        "description": "This event records a virtual machine powering on.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmStartingEvent": {
        "type": "object",
        "description": "A boxed array of *VmStartingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmStartingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmStartingSecondaryEvent": {
        "type": "object",
        "description": "This event records a vmotion to start a secondary VM.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmStartingSecondaryEvent": {
        "type": "object",
        "description": "A boxed array of *VmStartingSecondaryEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmStartingSecondaryEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmStaticMacConflictEvent": {
        "type": "object",
        "description": "This event records a static MAC address conflict for a virtual machine.\n",
        "properties": {
          "conflictedVm": {
            "description": "The virtual machine whose static MAC address conflicts with\nthe current virtual machine's address.\n",
            "$ref": "#/components/schemas/VmEventArgument"
          },
          "mac": {
            "description": "The static MAC address that is in conflict.\n",
            "type": "string"
          }
        },
        "required": [
          "conflictedVm",
          "mac"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmStaticMacConflictEvent": {
        "type": "object",
        "description": "A boxed array of *VmStaticMacConflictEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmStaticMacConflictEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmStoppingEvent": {
        "type": "object",
        "description": "This event records a virtual machine stopping.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmStoppingEvent": {
        "type": "object",
        "description": "A boxed array of *VmStoppingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmStoppingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSuspendedEvent": {
        "type": "object",
        "description": "This event records when a virtual machine finished suspending.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmSuspendedEvent": {
        "type": "object",
        "description": "A boxed array of *VmSuspendedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSuspendedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSuspendingEvent": {
        "type": "object",
        "description": "This event records a virtual machine suspending.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmSuspendingEvent": {
        "type": "object",
        "description": "A boxed array of *VmSuspendingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSuspendingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmTimedoutStartingSecondaryEvent": {
        "type": "object",
        "description": "This event records timeout when starting a secondary VM.\n\nA default alarm will be triggered upon this event, which by default\nwould trigger a SNMP trap.\n",
        "properties": {
          "timeout": {
            "description": "The duration of the timeout in milliseconds.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmTimedoutStartingSecondaryEvent": {
        "type": "object",
        "description": "A boxed array of *VmTimedoutStartingSecondaryEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmTimedoutStartingSecondaryEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmUnsupportedStartingEvent": {
        "type": "object",
        "description": "This event records when an unsupported guest is powering on.\n",
        "properties": {
          "guestId": {
            "type": "string"
          }
        },
        "required": [
          "guestId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmStartingEvent"
          }
        ]
      },
      "ArrayOfVmUnsupportedStartingEvent": {
        "type": "object",
        "description": "A boxed array of *VmUnsupportedStartingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmUnsupportedStartingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmUpgradeCompleteEvent": {
        "type": "object",
        "description": "This event records the successful completion of an upgrade operation.\n",
        "properties": {
          "version": {
            "description": "The version of the agent.\n",
            "type": "string"
          }
        },
        "required": [
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmUpgradeCompleteEvent": {
        "type": "object",
        "description": "A boxed array of *VmUpgradeCompleteEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmUpgradeCompleteEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmUpgradeFailedEvent": {
        "type": "object",
        "description": "This event records a failure to upgrade virtual hardware.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmUpgradeFailedEvent": {
        "type": "object",
        "description": "A boxed array of *VmUpgradeFailedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmUpgradeFailedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmUpgradingEvent": {
        "type": "object",
        "description": "This event records the process of upgrading the virtual hardware on a\nvirtual machine.\n",
        "properties": {
          "version": {
            "description": "The version of the agent.\n",
            "type": "string"
          }
        },
        "required": [
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmUpgradingEvent": {
        "type": "object",
        "description": "A boxed array of *VmUpgradingEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmUpgradingEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmUuidAssignedEvent": {
        "type": "object",
        "description": "This event records the assignment of a new BIOS UUID\nto a virtual machine.\n",
        "properties": {
          "uuid": {
            "description": "The new BIOS UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmUuidAssignedEvent": {
        "type": "object",
        "description": "A boxed array of *VmUuidAssignedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmUuidAssignedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmUuidChangedEvent": {
        "type": "object",
        "description": "This event records a change in a virtual machine's BIOS UUID.\n",
        "properties": {
          "oldUuid": {
            "description": "The old BIOS UUID.\n",
            "type": "string"
          },
          "newUuid": {
            "description": "The new BIOS UUID.\n",
            "type": "string"
          }
        },
        "required": [
          "oldUuid",
          "newUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmUuidChangedEvent": {
        "type": "object",
        "description": "A boxed array of *VmUuidChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmUuidChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmUuidConflictEvent": {
        "type": "object",
        "description": "This event records a conflict of virtual machine BIOS UUIDs.\n",
        "properties": {
          "conflictedVm": {
            "description": "The virtual machine whose UUID conflicts with the\ncurrent virtual machine's UUID.\n",
            "$ref": "#/components/schemas/VmEventArgument"
          },
          "uuid": {
            "description": "The BIOS UUID in conflict.\n",
            "type": "string"
          }
        },
        "required": [
          "conflictedVm",
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmUuidConflictEvent": {
        "type": "object",
        "description": "A boxed array of *VmUuidConflictEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmUuidConflictEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmVnicPoolReservationViolationClearEvent": {
        "type": "object",
        "description": "This event is generated when the reservations used by all\nthe virtual network adapters belonging to the virtual NIC network\nresource pool goes below the reservation allocated to the resource pool\n",
        "properties": {
          "vmVnicResourcePoolKey": {
            "description": "The key of the Virtual NIC network resource pool\n",
            "type": "string"
          },
          "vmVnicResourcePoolName": {
            "description": "The name of the Virtual NIC network resource pool\n",
            "type": "string"
          }
        },
        "required": [
          "vmVnicResourcePoolKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfVmVnicPoolReservationViolationClearEvent": {
        "type": "object",
        "description": "A boxed array of *VmVnicPoolReservationViolationClearEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmVnicPoolReservationViolationClearEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmVnicPoolReservationViolationRaiseEvent": {
        "type": "object",
        "description": "This event is generated when the reservations used by all\nthe virtual network adapters belonging to the virtual NIC network\nresource pool exceeds the reservation allocated to the resource pool\n",
        "properties": {
          "vmVnicResourcePoolKey": {
            "description": "The key of the Virtual NIC network resource pool\n",
            "type": "string"
          },
          "vmVnicResourcePoolName": {
            "description": "The name of the Virtual NIC network resource pool\n",
            "type": "string"
          }
        },
        "required": [
          "vmVnicResourcePoolKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsEvent"
          }
        ]
      },
      "ArrayOfVmVnicPoolReservationViolationRaiseEvent": {
        "type": "object",
        "description": "A boxed array of *VmVnicPoolReservationViolationRaiseEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmVnicPoolReservationViolationRaiseEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmWwnAssignedEvent": {
        "type": "object",
        "description": "This event records the assignment of a new WWN (World Wide Name)\nto a virtual machine.\n",
        "properties": {
          "nodeWwns": {
            "description": "The new node WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "portWwns": {
            "description": "The new port WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "required": [
          "nodeWwns",
          "portWwns"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmWwnAssignedEvent": {
        "type": "object",
        "description": "A boxed array of *VmWwnAssignedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmWwnAssignedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmWwnChangedEvent": {
        "type": "object",
        "description": "This event records a change in a virtual machine's WWN (World Wide Name).\n",
        "properties": {
          "oldNodeWwns": {
            "description": "The old node WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "oldPortWwns": {
            "description": "The old port WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "newNodeWwns": {
            "description": "The new node WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "newPortWwns": {
            "description": "The new port WWN.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmWwnChangedEvent": {
        "type": "object",
        "description": "A boxed array of *VmWwnChangedEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmWwnChangedEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmWwnConflictEvent": {
        "type": "object",
        "description": "This event records a conflict of virtual machine WWNs (World Wide Name).\n",
        "properties": {
          "conflictedVms": {
            "description": "The virtual machine whose WWN conflicts with the\ncurrent virtual machine's WWN.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmEventArgument"
            }
          },
          "conflictedHosts": {
            "description": "The host whose physical WWN conflicts with the\ncurrent virtual machine's WWN.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostEventArgument"
            }
          },
          "wwn": {
            "description": "The WWN in conflict.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "wwn"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmEvent"
          }
        ]
      },
      "ArrayOfVmWwnConflictEvent": {
        "type": "object",
        "description": "A boxed array of *VmWwnConflictEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmWwnConflictEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VnicPortArgument": {
        "type": "object",
        "description": "This argument records a Virtual NIC device that connects to a DVPort.\n",
        "properties": {
          "vnic": {
            "description": "The Virtual NIC devices that were using the DVports.\n",
            "type": "string"
          },
          "port": {
            "description": "The DVPorts that were being used.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortConnection"
          }
        },
        "required": [
          "vnic",
          "port"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVnicPortArgument": {
        "type": "object",
        "description": "A boxed array of *VnicPortArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VnicPortArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WarningUpgradeEvent": {
        "type": "object",
        "description": "This event is a general warning event from upgrade.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpgradeEvent"
          }
        ]
      },
      "ArrayOfWarningUpgradeEvent": {
        "type": "object",
        "description": "A boxed array of *WarningUpgradeEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarningUpgradeEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IScsiBootFailureEvent": {
        "type": "object",
        "description": "Could not boot from iScsi.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostEvent"
          }
        ]
      },
      "ArrayOfIScsiBootFailureEvent": {
        "type": "object",
        "description": "A boxed array of *IScsiBootFailureEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IScsiBootFailureEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtExtendedProductInfo": {
        "type": "object",
        "description": "This data object encapsulates extended product information for an extension.\n",
        "properties": {
          "companyUrl": {
            "description": "URL to extension vendor.\n",
            "type": "string"
          },
          "productUrl": {
            "description": "URL to vendor's description of this extension.\n",
            "type": "string"
          },
          "managementUrl": {
            "description": "URL to management UI for this extension.\n",
            "type": "string"
          },
          "self": {
            "description": "The VirtualMachine or VirtualApp that is running this extension.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtExtendedProductInfo": {
        "type": "object",
        "description": "A boxed array of *ExtExtendedProductInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtExtendedProductInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ManagedByInfo": {
        "type": "object",
        "description": "The ManagedByInfo data object contains information about the extension\nresponsible for the life-cycle of the entity.\n",
        "properties": {
          "extensionKey": {
            "description": "Key of the extension managing the entity.\n",
            "type": "string"
          },
          "type": {
            "description": "Managed entity type, as defined by the extension managing the entity.\n\nAn extension can manage different types of entities - different kinds\nof virtual machines, vApps, etc. - and this property is used to find\nthe corresponding *managedEntityInfo*\nentry from the extension.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfManagedByInfo": {
        "type": "object",
        "description": "A boxed array of *ManagedByInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedByInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtManagedEntityInfo": {
        "type": "object",
        "description": "This data object contains information about entities managed by this\nextension.\n\nThe data can be used by clients to show extra information\nabout managed virtual machines or vApps, such as a custom icon and a\ndescription of the entity.\n",
        "properties": {
          "type": {
            "description": "Managed entity type, as defined by the extension.\n\nThis matches the\n*type* field in the configuration\nabout a virtual machine or vApp.\n",
            "type": "string"
          },
          "smallIconUrl": {
            "description": "The URL to a 16x16 pixel icon in PNG format for entities of this\ntype managed by this extension.\n\nThe design of the icon should\nallow for the possibility of it being badged with the power state\nof the entity by the vSphere client. If you do not provide this\nicon, the icon at\n*iconUrl*, if found, is\nscaled down to 16x16 pixels.\n",
            "type": "string"
          },
          "iconUrl": {
            "description": "The URL to an icon in PNG format that is no larger than 256x256\npixels.\n\nThis icon will be scaled to 16x16, 32x32, 64x64, and\n128x128 if needed. The icon is shown for all entities of this type\nmanaged by this extension.\n",
            "type": "string"
          },
          "description": {
            "description": "Description of this managed entity type.\n\nThis is typically displayed\nby clients, and should provide users with information about the\nfunction of entities of this type.\n",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtManagedEntityInfo": {
        "type": "object",
        "description": "A boxed array of *ExtManagedEntityInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtManagedEntityInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtSolutionManagerInfo": {
        "type": "object",
        "description": "This data object encapsulates the Solution Manager configuration for\nthis extension.\n",
        "properties": {
          "tab": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1, see client documentation for the\npreferred way to integrate custom user interfaces.\n\nList of tabs that must be shown in the Solution Manager for this extension.\n\nTabs are shown ordered by their position in this array.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtSolutionManagerInfoTabInfo"
            }
          },
          "smallIconUrl": {
            "description": "URL for an icon for this extension.\n\nThe icon will be shown in the Solution\nManager for this extension. The icon must be 16x16, and should be in PNG\nformat.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtSolutionManagerInfo": {
        "type": "object",
        "description": "A boxed array of *ExtSolutionManagerInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtSolutionManagerInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtSolutionManagerInfoTabInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.1.\n\nThis data object contains information about a tab to show in the\nSolution Manager for this extension.\n",
        "properties": {
          "label": {
            "description": "The name of the tab.\n",
            "type": "string"
          },
          "url": {
            "description": "The URL for the webpage to show in the tab.\n\nExtra parameters will be added\nto this URL when vSphere Client loads it. See the \"Customizing the vSphere\nClient\" technical note for more information.\n",
            "type": "string"
          }
        },
        "required": [
          "label",
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfExtSolutionManagerInfoTabInfo": {
        "type": "object",
        "description": "A boxed array of *ExtSolutionManagerInfoTabInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtSolutionManagerInfoTabInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ActiveDirectoryFault": {
        "type": "object",
        "description": "Base fault for Active Directory related problems.\n",
        "properties": {
          "errorCode": {
            "description": "The error code reported by the Active Directory API.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfActiveDirectoryFault": {
        "type": "object",
        "description": "A boxed array of *ActiveDirectoryFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActiveDirectoryFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ActiveVMsBlockingEVC": {
        "type": "object",
        "description": "An attempt to enable Enhanced VMotion Compatibility on a cluster, or to\nselect a less-featureful EVC mode for a cluster where EVC is already\nenabled, has failed for the following reason:\n- The cluster contains hosts that expose additional compatibility-\n  relevant CPU features beyond those present in the baseline of the\n  requested EVC mode.\n- Those hosts have powered-on or suspended virtual machines.\n  \nTherefore the EVC configuration has been rejected since it may suppress\nCPU features that are currently in-use.\n",
        "properties": {
          "evcMode": {
            "description": "The requested EVC mode.\n",
            "type": "string"
          },
          "host": {
            "description": "Hosts with active virtual machines that are blocking the operation,\nbecause the hosts expose compatibility-relevant CPU features not present\nin the baseline of the requested EVC mode.\n\nNote that in rare cases, a host may be on this list even if its\n*maxEVCModeKey* corresponds to the\nrequested EVC mode. This means that even though that EVC mode is the\nbest match for the host's hardware, the host still has some features\nbeyond those present in the baseline for that EVC mode.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "hostName": {
            "description": "The names of the hosts in the host array.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCConfigFault"
          }
        ]
      },
      "ArrayOfActiveVMsBlockingEVC": {
        "type": "object",
        "description": "A boxed array of *ActiveVMsBlockingEVC*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActiveVMsBlockingEVC"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AdminDisabled": {
        "type": "object",
        "description": "Fault thrown if an attempt to disable the Administrator permission\non a host of which the Administator permission has already been disabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfAdminDisabled": {
        "type": "object",
        "description": "A boxed array of *AdminDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AdminNotDisabled": {
        "type": "object",
        "description": "Fault thrown if an attempt to enable the Administrator permission\non a host of which the Administator permission is not disabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfAdminNotDisabled": {
        "type": "object",
        "description": "A boxed array of *AdminNotDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminNotDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AffinityConfigured": {
        "type": "object",
        "description": "Virtual machine has a configured memory and/or CPU affinity that will\nprevent VMotion.\n\nThis is an error for powered-on virtual machines.\n",
        "properties": {
          "configuredAffinity": {
            "description": "Configured affinity types for the virtual machine.\n\nSee *AffinityType_enum* for valid values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "configuredAffinity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfAffinityConfigured": {
        "type": "object",
        "description": "A boxed array of *AffinityConfigured*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AffinityConfigured"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgentInstallFailed": {
        "type": "object",
        "description": "An AgentInstallFailed fault is thrown when VirtualCenter\nfails to install the VirtualCenter agent on a host.\n\nFor example, a fault is\nthrown if the agent software cannot be uploaded to the host or an error occurred\nduring the agent installation.\n",
        "properties": {
          "reason": {
            "description": "The reason why the agent install failed, if known.\n\nValues should come from *AgentInstallFailedReason_enum*.\n",
            "type": "string"
          },
          "statusCode": {
            "description": "The status code returned by the agent installer, if it was run.\n",
            "type": "integer",
            "format": "int32"
          },
          "installerOutput": {
            "description": "The output (stdout/stderr) from executing the agent installer.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfAgentInstallFailed": {
        "type": "object",
        "description": "A boxed array of *AgentInstallFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentInstallFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlreadyBeingManaged": {
        "type": "object",
        "description": "AlreadyBeingManaged fault is thrown by the host\nconnect method if the host is already being managed\nby a VirtualCenter server.\n",
        "properties": {
          "ipAddress": {
            "description": "IP address of server that is currently managing the host.\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfAlreadyBeingManaged": {
        "type": "object",
        "description": "A boxed array of *AlreadyBeingManaged*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlreadyBeingManaged"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlreadyConnected": {
        "type": "object",
        "description": "AlreadyConnect fault is thrown by the host connect method\nif the host is already connected to a VirtualCenter server.\n\nThis might occur if the host has been added more than once\nin the same VirtualCenter in different folders or compute\nresources.\n",
        "properties": {
          "name": {
            "description": "Name of the host\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfAlreadyConnected": {
        "type": "object",
        "description": "A boxed array of *AlreadyConnected*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlreadyConnected"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlreadyExists": {
        "type": "object",
        "description": "An AlreadyExists fault is thrown when an attempt is made to add an element\nto a collection, if the element's key, name, or identifier already exists in that\ncollection.\n",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfAlreadyExists": {
        "type": "object",
        "description": "A boxed array of *AlreadyExists*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlreadyExists"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AlreadyUpgraded": {
        "type": "object",
        "description": "An AlreadyUpgraded fault is thrown when an attempt is made to upgrade the\nvirtual hardware of a Virtual machine whose virtual hardware is already\nup-to-date.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfAlreadyUpgraded": {
        "type": "object",
        "description": "A boxed array of *AlreadyUpgraded*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlreadyUpgraded"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AnswerFileUpdateFailed": {
        "type": "object",
        "description": "Could not update the answer file as it has invalid inputs.\n",
        "properties": {
          "failure": {
            "description": "Failures encountered during answer file update\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFileUpdateFailure"
            }
          }
        },
        "required": [
          "failure"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfAnswerFileUpdateFailed": {
        "type": "object",
        "description": "A boxed array of *AnswerFileUpdateFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFileUpdateFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AnswerFileUpdateFailure": {
        "type": "object",
        "description": "DataObject which represents the errors that occurred when an\nanswer file update was performed.\n",
        "properties": {
          "userInputPath": {
            "description": "The user input that has the error\n",
            "$ref": "#/components/schemas/ProfilePropertyPath"
          },
          "errMsg": {
            "description": "Message which explains the error\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          }
        },
        "required": [
          "userInputPath",
          "errMsg"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAnswerFileUpdateFailure": {
        "type": "object",
        "description": "A boxed array of *AnswerFileUpdateFailure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFileUpdateFailure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ApplicationQuiesceFault": {
        "type": "object",
        "description": "This fault is thrown when creating a quiesced snapshot failed\nbecause the (user-supplied) custom pre-freeze script in the\nvirtual machine exited with a non-zero return code.\n\nThis indicates that the script failed to perform its quiescing\ntask, which causes us to fail the quiesced snapshot operation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotFault"
          }
        ]
      },
      "ArrayOfApplicationQuiesceFault": {
        "type": "object",
        "description": "A boxed array of *ApplicationQuiesceFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplicationQuiesceFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AuthMinimumAdminPermission": {
        "type": "object",
        "description": "This fault is thrown when the requested change\nwould result in a loss of full administrative privileges\nfor at least one user or group.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfAuthMinimumAdminPermission": {
        "type": "object",
        "description": "A boxed array of *AuthMinimumAdminPermission*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthMinimumAdminPermission"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BackupBlobReadFailure": {
        "type": "object",
        "description": "Thrown if backupConfig blob is corrupted\n",
        "properties": {
          "entityName": {
            "description": "The entity name on which backupConfig read failed\n",
            "type": "string"
          },
          "entityType": {
            "description": "The entity type on which backupConfig read failed\n",
            "type": "string"
          },
          "fault": {
            "description": "The fault that occurred.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "entityName",
          "entityType",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfBackupBlobReadFailure": {
        "type": "object",
        "description": "A boxed array of *BackupBlobReadFailure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BackupBlobReadFailure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BackupBlobWriteFailure": {
        "type": "object",
        "description": "Thrown if backupConfig blob write fails\n",
        "properties": {
          "entityName": {
            "description": "The entity name on which backupConfig write failed\n",
            "type": "string"
          },
          "entityType": {
            "description": "The entity type on which backupConfig write failed\n",
            "type": "string"
          },
          "fault": {
            "description": "The fault that occurred.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "entityName",
          "entityType",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfBackupBlobWriteFailure": {
        "type": "object",
        "description": "A boxed array of *BackupBlobWriteFailure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BackupBlobWriteFailure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BlockedByFirewall": {
        "type": "object",
        "description": "Fault indicating that firewall configuration prevents\nan operation from completing successfully.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfBlockedByFirewall": {
        "type": "object",
        "description": "A boxed array of *BlockedByFirewall*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BlockedByFirewall"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CAMServerRefusedConnection": {
        "type": "object",
        "description": "Fault indicating that the CAM server\ncannot be connected.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidCAMServer"
          }
        ]
      },
      "ArrayOfCAMServerRefusedConnection": {
        "type": "object",
        "description": "A boxed array of *CAMServerRefusedConnection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CAMServerRefusedConnection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAccessFile": {
        "type": "object",
        "description": "This fault is thrown when an operation fails because of insufficient\npermissions to access a file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfCannotAccessFile": {
        "type": "object",
        "description": "A boxed array of *CannotAccessFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAccessFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAccessLocalSource": {
        "type": "object",
        "description": "An CannotAccessLocalSourceFault exception is thrown when a\nan attempt is made to upload license content\nand the local source cannot be accesed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfCannotAccessLocalSource": {
        "type": "object",
        "description": "A boxed array of *CannotAccessLocalSource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAccessLocalSource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAccessNetwork": {
        "type": "object",
        "description": "A network associated with the virtual machine is not accessible.\n\nIf returned as\npart of migration checks, this is an error if either of the following is true,\na warning otherwise:\n- The virtual ethernet card device backing is a distributed virtual switch,\n  of which the destination host is not a member\n- The virtual ethernet card device backing is a standard network and the\n  the device is connected\n",
        "properties": {
          "network": {
            "description": "A reference to the network that cannot be accessed\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotAccessVmDevice"
          }
        ]
      },
      "ArrayOfCannotAccessNetwork": {
        "type": "object",
        "description": "A boxed array of *CannotAccessNetwork*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAccessNetwork"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAccessVmComponent": {
        "type": "object",
        "description": "One of the virtual machine's components is not accessible on the execution host.\n\nThis is a base class. Subclasses will encode the type of component that is not\naccessible.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfCannotAccessVmComponent": {
        "type": "object",
        "description": "A boxed array of *CannotAccessVmComponent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAccessVmComponent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAccessVmConfig": {
        "type": "object",
        "description": "One or more of the virtual machine's configuration files are not accessible.\n",
        "properties": {
          "reason": {
            "description": "Contains the reason why the VM file could not be found.\n\nThis is typically\na FileFault.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotAccessVmComponent"
          }
        ]
      },
      "ArrayOfCannotAccessVmConfig": {
        "type": "object",
        "description": "A boxed array of *CannotAccessVmConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAccessVmConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAccessVmDevice": {
        "type": "object",
        "description": "One of the virtual machine's devices uses a backing that is not accessible\non the host.\n\nFollowing is a discussion of this fault's use in migration validation.\nThis is an error if the device is currently connected and a warning\notherwise. Devices that can be disconnected can only be connected if the virtual\nmachine is powered on.\n\nThe usage of this fault is slightly different if the backing of a device is\ninherently host-local, and therefore not shared or globally named among\nhosts. (Examples of such backings: physical CD-ROM drive, physical serial\nport.) If a device with such a backing is currently connected, that will\nbe a migration error. If the device is disconnected, there will be a\nwarning if no backing with the same name exists on the destination host.\nIf the device is disconnected and a backing with the same name exists on\nthe destination host, this is neither a warning nor an error case, even\nthough the destination host's backing is not the same instance as the\nsource host's. It is assumed that use of the host-local backing is what is\ndesired for the device.\n",
        "properties": {
          "device": {
            "description": "The label of the device.\n",
            "type": "string"
          },
          "backing": {
            "description": "The backing of the device.\n",
            "type": "string"
          },
          "connected": {
            "description": "The connected/disconnected state of the device.\n",
            "type": "boolean"
          }
        },
        "required": [
          "device",
          "backing",
          "connected"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotAccessVmComponent"
          }
        ]
      },
      "ArrayOfCannotAccessVmDevice": {
        "type": "object",
        "description": "A boxed array of *CannotAccessVmDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAccessVmDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAccessVmDisk": {
        "type": "object",
        "description": "One of the virtual machine's virtual disks is not accessible.\n",
        "properties": {
          "fault": {
            "description": "The reason why the disk could not be accessed\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotAccessVmDevice"
          }
        ]
      },
      "ArrayOfCannotAccessVmDisk": {
        "type": "object",
        "description": "A boxed array of *CannotAccessVmDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAccessVmDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAddHostWithFTVmAsStandalone": {
        "type": "object",
        "description": "Can not add a host with fault tolerance vms to be standalone\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfCannotAddHostWithFTVmAsStandalone": {
        "type": "object",
        "description": "A boxed array of *CannotAddHostWithFTVmAsStandalone*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAddHostWithFTVmAsStandalone"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAddHostWithFTVmToDifferentCluster": {
        "type": "object",
        "description": "Can not add a host with fault tolerance vms to a different cluster other\nthan the one used other vms in the same fault tolerance group.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfCannotAddHostWithFTVmToDifferentCluster": {
        "type": "object",
        "description": "A boxed array of *CannotAddHostWithFTVmToDifferentCluster*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAddHostWithFTVmToDifferentCluster"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotAddHostWithFTVmToNonHACluster": {
        "type": "object",
        "description": "Can not add a host with fault tolerance vms to a non HA enabled cluster\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfCannotAddHostWithFTVmToNonHACluster": {
        "type": "object",
        "description": "A boxed array of *CannotAddHostWithFTVmToNonHACluster*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotAddHostWithFTVmToNonHACluster"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotChangeDrsBehaviorForFtSecondary": {
        "type": "object",
        "description": "This fault is used to report that the DRS behavior cannot be modified\nfor a FT secondary virtual machine\n",
        "properties": {
          "vm": {
            "description": "The virtual machine whose behavior cannot be modified\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "Name of the virtual machine\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfCannotChangeDrsBehaviorForFtSecondary": {
        "type": "object",
        "description": "A boxed array of *CannotChangeDrsBehaviorForFtSecondary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotChangeDrsBehaviorForFtSecondary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotChangeHaSettingsForFtSecondary": {
        "type": "object",
        "description": "This fault is used to report that the HA settings cannot be modified\nfor a FT secondary virtual machine\n",
        "properties": {
          "vm": {
            "description": "The FT secondary virtual machine whose behavior cannot be modified\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "Name of the FT secondary virtual machine\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfCannotChangeHaSettingsForFtSecondary": {
        "type": "object",
        "description": "A boxed array of *CannotChangeHaSettingsForFtSecondary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotChangeHaSettingsForFtSecondary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotChangeVsanClusterUuid": {
        "type": "object",
        "description": "Fault thrown for cases that a VSAN cluster UUID may not be changed.\n\nFor example, the VSAN cluster UUID for a host may not be changed so long\nas that host is enabled for VSAN.\nThe VSAN cluster UUID for a given *ClusterComputeResource* may\nnot be changed so long as that vim.ClusterComputeResource is enabled for\nVSAN.\n\nSee also *HostVsanSystem.UpdateVsan_Task*, *ComputeResource.ReconfigureComputeResource_Task*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanFault"
          }
        ]
      },
      "ArrayOfCannotChangeVsanClusterUuid": {
        "type": "object",
        "description": "A boxed array of *CannotChangeVsanClusterUuid*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotChangeVsanClusterUuid"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotChangeVsanNodeUuid": {
        "type": "object",
        "description": "Fault thrown for cases that a VSAN node UUID may not be changed.\n\nFor example, the VSAN node UUID for a host may not be changed so long as\nthat host is enabled for VSAN.\n\nSee also *HostVsanSystem.UpdateVsan_Task*, *ComputeResource.ReconfigureComputeResource_Task*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanFault"
          }
        ]
      },
      "ArrayOfCannotChangeVsanNodeUuid": {
        "type": "object",
        "description": "A boxed array of *CannotChangeVsanNodeUuid*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotChangeVsanNodeUuid"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotComputeFTCompatibleHosts": {
        "type": "object",
        "description": "This fault is used if FT compatible hosts cannot be computed for a VM\n",
        "properties": {
          "vm": {
            "description": "The virtual machine for FT compatible hosts is being computed\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "Name of the virtual machine\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfCannotComputeFTCompatibleHosts": {
        "type": "object",
        "description": "A boxed array of *CannotComputeFTCompatibleHosts*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotComputeFTCompatibleHosts"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotCreateFile": {
        "type": "object",
        "description": "A CannotCreateFile exception is thrown if a file create\noperation fails.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfCannotCreateFile": {
        "type": "object",
        "description": "A boxed array of *CannotCreateFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotCreateFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotDecryptPasswords": {
        "type": "object",
        "description": "The VirtualCenter server is unable to decrypt passwords stored in\nthe customization specification.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfCannotDecryptPasswords": {
        "type": "object",
        "description": "A boxed array of *CannotDecryptPasswords*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotDecryptPasswords"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotDeleteFile": {
        "type": "object",
        "description": "A CannotDeleteFile exception is thrown if a file-deletion\noperation fails.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfCannotDeleteFile": {
        "type": "object",
        "description": "A boxed array of *CannotDeleteFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotDeleteFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotDisableDrsOnClustersWithVApps": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to disable DRS on a cluster,\nwhich contains a vApp.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfCannotDisableDrsOnClustersWithVApps": {
        "type": "object",
        "description": "A boxed array of *CannotDisableDrsOnClustersWithVApps*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotDisableDrsOnClustersWithVApps"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotDisableSnapshot": {
        "type": "object",
        "description": "Fault thrown when an attempt is made to disable snapshots on a virtual\nmachine which has a snapshot.\n\nTo disable the snapshot feature, the\nvirtual machine must not currently have a snapshot.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfCannotDisableSnapshot": {
        "type": "object",
        "description": "A boxed array of *CannotDisableSnapshot*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotDisableSnapshot"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotDisconnectHostWithFaultToleranceVm": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to disconnect a host, which\nhas one or more fault tolerance vms and is not in maintenance mode.\n",
        "properties": {
          "hostName": {
            "description": "The name of the host to be disconnected\n",
            "type": "string"
          }
        },
        "required": [
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfCannotDisconnectHostWithFaultToleranceVm": {
        "type": "object",
        "description": "A boxed array of *CannotDisconnectHostWithFaultToleranceVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotDisconnectHostWithFaultToleranceVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotEnableVmcpForCluster": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to enable VM Component Protection\non a cluster which contains a host that does not support this feature.\n",
        "properties": {
          "host": {
            "description": "Report the host with APD timeout disabled.\n\nIf the host is set it points to the host which is the reason\nfor this fault i.e this host has ADPTimeout disabled.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostName": {
            "description": "If set this reports the hostName.\n\nThis is used for printing the host name in the\nlocalized message as the host may have been removed\nfrom the vCenter's inventory by the time localization would\nbe taking place.\n",
            "type": "string"
          },
          "reason": {
            "description": "This reports the reason for host not meeting the requirements\nfor enabling vSphere VMCP.\n\nIt can be the following reason.\n- APDTimeout disabled.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfCannotEnableVmcpForCluster": {
        "type": "object",
        "description": "A boxed array of *CannotEnableVmcpForCluster*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotEnableVmcpForCluster"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotModifyConfigCpuRequirements": {
        "type": "object",
        "description": "A virtual machine's total CPU feature requirements are determined by\noverlaying the requirements specified in its configuration (if any) on top\nof the requirements specified in the descriptor for its guest OS.\n\nIt is\ntherefore possible for a host change to implicitly change a virtual\nmachine's CPU feature requirements. The guest OS descriptor may have\ndifferent requirements on the new host. Or, if the virtual machine\ncurrently specifies requirements in its configuration, those requirements\nwill be lost if the new host does not support this.\n\nThis fault indicates that the virtual machine's CPU feature requirements\nwould change because of a migration, and also that the destination host\ndoes not support storing CPU feature requirements in the virtual machine's\nconfiguration. (If the destination host does support such an action,\nWillModifyConfigCpuRequirements is used instead of this fault.)\n\nFor a powered-off virtual machine, this is a warning. The migration may\nproceed, but the virtual machine will be operating under different\nCPU feature requirements if it is powered on after the migration.\n\nFor a powered-on or suspended virtual machine, this is an error.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfCannotModifyConfigCpuRequirements": {
        "type": "object",
        "description": "A boxed array of *CannotModifyConfigCpuRequirements*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotModifyConfigCpuRequirements"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotMoveFaultToleranceVm": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to move a fault tolerance\nvm to a different resource pool or cluster.\n",
        "properties": {
          "moveType": {
            "description": "The type of the move\n",
            "type": "string"
          },
          "vmName": {
            "description": "The virtual machine name to be moved.\n",
            "type": "string"
          }
        },
        "required": [
          "moveType",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfCannotMoveFaultToleranceVm": {
        "type": "object",
        "description": "A boxed array of *CannotMoveFaultToleranceVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotMoveFaultToleranceVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotMoveHostWithFaultToleranceVm": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to move a host which has\none or more fault tolerance vms out of the current cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfCannotMoveHostWithFaultToleranceVm": {
        "type": "object",
        "description": "A boxed array of *CannotMoveHostWithFaultToleranceVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotMoveHostWithFaultToleranceVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotMoveVmWithDeltaDisk": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to relocate a virtual machine\nwith virtual disk(s) having delta disk backing.\n",
        "properties": {
          "device": {
            "description": "The label of the delta disk device\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfCannotMoveVmWithDeltaDisk": {
        "type": "object",
        "description": "A boxed array of *CannotMoveVmWithDeltaDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotMoveVmWithDeltaDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotMoveVmWithNativeDeltaDisk": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to migrate a virtual machine\nwith native delta disks to different datastores.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfCannotMoveVmWithNativeDeltaDisk": {
        "type": "object",
        "description": "A boxed array of *CannotMoveVmWithNativeDeltaDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotMoveVmWithNativeDeltaDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotMoveVsanEnabledHost": {
        "type": "object",
        "description": "Fault thrown for the case that an attempt is made to move a host which\nis enabled for VSAN into an unsuitable *ClusterComputeResource*.\n\nThe destination vim.ClusterComputeResource may be disabled for VSAN, or\nmay be using VSAN with a different cluster UUID.\n\nSee also *ClusterComputeResource.AddHost_Task*, *ClusterComputeResource.MoveHostInto_Task*, *ClusterComputeResource.MoveInto_Task*, *VsanClusterUuidMismatch*, *DestinationVsanDisabled*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanFault"
          }
        ]
      },
      "ArrayOfCannotMoveVsanEnabledHost": {
        "type": "object",
        "description": "A boxed array of *CannotMoveVsanEnabledHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotMoveVsanEnabledHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotPlaceWithoutPrerequisiteMoves": {
        "type": "object",
        "description": "This fault is thrown when Storage DRS cannot recommend to place disks of\na virtual machine without moving existing virtual disks in a\ndatastore cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfCannotPlaceWithoutPrerequisiteMoves": {
        "type": "object",
        "description": "A boxed array of *CannotPlaceWithoutPrerequisiteMoves*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotPlaceWithoutPrerequisiteMoves"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotPowerOffVmInCluster": {
        "type": "object",
        "description": "This fault is reported when a user attempts to power off or\nsuspend a VM when the HA master agent to which vCenter Server is\nconnected does not manage the VM.\n",
        "properties": {
          "operation": {
            "description": "The operation being performed.\n\nValues come from\n*CannotPowerOffVmInClusterOperation_enum*.\n",
            "type": "string"
          },
          "vm": {
            "description": "The Virtual Machine\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "Name of the Virtual Machine\n",
            "type": "string"
          }
        },
        "required": [
          "operation",
          "vm",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfCannotPowerOffVmInCluster": {
        "type": "object",
        "description": "A boxed array of *CannotPowerOffVmInCluster*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotPowerOffVmInCluster"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotReconfigureVsanWhenHaEnabled": {
        "type": "object",
        "description": "Fault thrown for the case that an attempt is made to reconfigure VSAN\nwhen HA is currently enabled for a given *ClusterComputeResource*.\n\nSee also *ComputeResource.ReconfigureComputeResource_Task*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanFault"
          }
        ]
      },
      "ArrayOfCannotReconfigureVsanWhenHaEnabled": {
        "type": "object",
        "description": "A boxed array of *CannotReconfigureVsanWhenHaEnabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotReconfigureVsanWhenHaEnabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CannotUseNetwork": {
        "type": "object",
        "description": "A network associated with the virtual machine is accessible, but it\ncannot be used for some reason.\n",
        "properties": {
          "device": {
            "description": "The label of the network device.\n",
            "type": "string"
          },
          "backing": {
            "description": "The backing of the network device.\n",
            "type": "string"
          },
          "connected": {
            "description": "The connected/disconnected state of the device.\n",
            "type": "boolean"
          },
          "reason": {
            "description": "Reason describing why the network cannot be used.\n",
            "type": "string"
          },
          "network": {
            "description": "A reference to the network that cannot be used\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "device",
          "backing",
          "connected",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfCannotUseNetwork": {
        "type": "object",
        "description": "A boxed array of *CannotUseNetwork*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CannotUseNetwork"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClockSkew": {
        "type": "object",
        "description": "Fault indicating that the clock skew in the system exceeds the limit.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfClockSkew": {
        "type": "object",
        "description": "A boxed array of *ClockSkew*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClockSkew"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CloneFromSnapshotNotSupported": {
        "type": "object",
        "description": "An attempt is being made to clone a virtual machine from a snapshot\npoint, and this is not supported.\n\nSee also *VirtualMachineCloneSpec.snapshot*, *VirtualMachineCapability.snapshotConfigSupported*, *HostCapability.cloneFromSnapshotSupported*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfCloneFromSnapshotNotSupported": {
        "type": "object",
        "description": "A boxed array of *CloneFromSnapshotNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CloneFromSnapshotNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CollectorAddressUnset": {
        "type": "object",
        "description": "The distributed virtual switch received a reconfiguration request to\nactivate ipfix monitoring of the switch traffic.\n\nHowever, the address\nand/or the port of the ipfix collector has not been specified.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfCollectorAddressUnset": {
        "type": "object",
        "description": "A boxed array of *CollectorAddressUnset*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CollectorAddressUnset"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ConcurrentAccess": {
        "type": "object",
        "description": "A ConcurrentAccess fault is thrown when an operation\nfails because another operation has modified the\ndatastructure.\n\nFor non-transactional operations, such as a recursive\ndelete of a subtree of the inventory, the operation might\nfail with ConcurrentAccess if another thread has added\na new entity to the hierarchy.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfConcurrentAccess": {
        "type": "object",
        "description": "A boxed array of *ConcurrentAccess*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConcurrentAccess"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ConflictingConfiguration": {
        "type": "object",
        "description": "Thrown if the configurations of the objects are in conflict.\n",
        "properties": {
          "configInConflict": {
            "description": "The configurations that are in conflict.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConflictingConfigurationConfig"
            }
          }
        },
        "required": [
          "configInConflict"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfConflictingConfiguration": {
        "type": "object",
        "description": "A boxed array of *ConflictingConfiguration*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConflictingConfiguration"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ConflictingConfigurationConfig": {
        "type": "object",
        "description": "This class defines the configuration that is in conflict.\n",
        "properties": {
          "entity": {
            "description": "The entity on which the configuration is in conflict.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "propertyPath": {
            "description": "The property paths that are in conflict.\n",
            "type": "string"
          }
        },
        "required": [
          "propertyPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfConflictingConfigurationConfig": {
        "type": "object",
        "description": "A boxed array of *ConflictingConfigurationConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConflictingConfigurationConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ConflictingDatastoreFound": {
        "type": "object",
        "description": "ConflictingDatastoreFound is thrown when the conflicting datastores\nwith the same url but backed by different disks are found in the host\nand the target datacenter.\n",
        "properties": {
          "name": {
            "description": "The name of the datastore.\n",
            "type": "string"
          },
          "url": {
            "description": "The unique locator for the datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfConflictingDatastoreFound": {
        "type": "object",
        "description": "A boxed array of *ConflictingDatastoreFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConflictingDatastoreFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ConnectedIso": {
        "type": "object",
        "properties": {
          "cdrom": {
            "description": "The CD-ROM drive that caused the event.\n",
            "$ref": "#/components/schemas/VirtualCdrom"
          },
          "filename": {
            "description": "The filename of the ISO\n",
            "type": "string"
          }
        },
        "required": [
          "cdrom",
          "filename"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfExport"
          }
        ]
      },
      "ArrayOfConnectedIso": {
        "type": "object",
        "description": "A boxed array of *ConnectedIso*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectedIso"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CpuCompatibilityUnknown": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *CpuIncompatible* and its other subclasses,\nnot this one.\n\nCompatibility between the virtual machine's host and its CPU\nfeature requirements cannot be determined, because not enough information\nis available about the CPU features of the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CpuIncompatible"
          }
        ]
      },
      "ArrayOfCpuCompatibilityUnknown": {
        "type": "object",
        "description": "A boxed array of *CpuCompatibilityUnknown*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CpuCompatibilityUnknown"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CpuHotPlugNotSupported": {
        "type": "object",
        "description": "Thrown when virtual CPUs cannot be hot-added or hot-removed from\nthe virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfCpuHotPlugNotSupported": {
        "type": "object",
        "description": "A boxed array of *CpuHotPlugNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CpuHotPlugNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CpuIncompatible": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.5 use\n*FeatureRequirementsNotMet*.\n\nThe host is not compatible with the CPU feature requirements of the\nvirtual machine, for a particular CPUID register.\n\nA subclass of this fault\nmay be used to express the incompatibilities in a more easily\nunderstandable format.\n",
        "properties": {
          "level": {
            "description": "The CpuIdInfo level where a problem was detected.\n\nOther levels may\nalso have problems.\n",
            "type": "integer",
            "format": "int32"
          },
          "registerName": {
            "description": "The CpuIdInfo register where a problem was detected.\n\nOther registers\nmay also have problems. Possible register names are eax, ebx, ecx, or edx.\n",
            "type": "string"
          },
          "registerBits": {
            "description": "The contents of the register on the target host, in CpuIdInfo register\nformat.\n\nThe '-' character indicates an unknown value.\n",
            "type": "string"
          },
          "desiredBits": {
            "description": "The desired values for the register's bits.\n\nThe 'x' character indicates\ndon't-care.\n",
            "type": "string"
          },
          "host": {
            "description": "The host that is not compatible with the requirements.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "level",
          "registerName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfCpuIncompatible": {
        "type": "object",
        "description": "A boxed array of *CpuIncompatible*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CpuIncompatible"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CpuIncompatible1ECX": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.5 use\n*FeatureRequirementsNotMet*.\n\nConvenience subclass for calling out some named features among the\nincompatibilities found in CPUID level 1 register ecx.\n",
        "properties": {
          "sse3": {
            "description": "Flag to indicate bit 0 is incompatible.\n",
            "type": "boolean"
          },
          "pclmulqdq": {
            "description": "Flag to indicate bit 1 is incompatible.\n",
            "type": "boolean"
          },
          "ssse3": {
            "description": "Flag to indicate bit 9 is incompatible.\n",
            "type": "boolean"
          },
          "sse41": {
            "description": "Flag to indicate bit 19 is incompatible.\n",
            "type": "boolean"
          },
          "sse42": {
            "description": "Flag to indicate bit 20 is incompatible.\n",
            "type": "boolean"
          },
          "aes": {
            "description": "Flag to indicate bit 25 is incompatible.\n",
            "type": "boolean"
          },
          "other": {
            "description": "Flag to indicate that bits other than 0/1/9/19/20/25 are incompatible.\n\nI.e. the detected incompatibilities cannot be completely described by\nthe sse3, pclmulqdq, ssse3, sse41, sse42, and/or aes flags.\n",
            "type": "boolean"
          },
          "otherOnly": {
            "description": "Flag to indicate that the sse3, pclmulqdq, ssse3, sse41, sse42, and aes\nflags are all false, and the \"other\" flag is true.\n\nPurely a convenience\nproperty for the client processing this fault.\n",
            "type": "boolean"
          }
        },
        "required": [
          "sse3",
          "pclmulqdq",
          "ssse3",
          "sse41",
          "sse42",
          "aes",
          "other",
          "otherOnly"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CpuIncompatible"
          }
        ]
      },
      "ArrayOfCpuIncompatible1ECX": {
        "type": "object",
        "description": "A boxed array of *CpuIncompatible1ECX*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CpuIncompatible1ECX"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CpuIncompatible81EDX": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.5 use\n*FeatureRequirementsNotMet*.\n\nConvenience subclass for calling out some named features among the\nincompatibilities found in CPUID level 0x80000001 register edx.\n",
        "properties": {
          "nx": {
            "description": "Flag to indicate bit 20 is incompatible.\n",
            "type": "boolean"
          },
          "ffxsr": {
            "description": "Flag to indicate bit 25 is incompatible.\n",
            "type": "boolean"
          },
          "rdtscp": {
            "description": "Flag to indicate bit 27 is incompatible.\n",
            "type": "boolean"
          },
          "lm": {
            "description": "Flag to indicate bit 29 is incompatible.\n",
            "type": "boolean"
          },
          "other": {
            "description": "Flag to indicate that bits other than 20/25/27/29 are incompatible.\n\nI.e. the detected incompatibilities cannot be completely described by\nthe nx, ffxsr, rdtscp, and/or lm flags.\n",
            "type": "boolean"
          },
          "otherOnly": {
            "description": "Flag to indicate that the nx, ffxsr, rdtscp, and lm flags are all false,\nand the \"other\" flag is true.\n\nPurely a convenience property for the\nclient processing this fault.\n",
            "type": "boolean"
          }
        },
        "required": [
          "nx",
          "ffxsr",
          "rdtscp",
          "lm",
          "other",
          "otherOnly"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CpuIncompatible"
          }
        ]
      },
      "ArrayOfCpuIncompatible81EDX": {
        "type": "object",
        "description": "A boxed array of *CpuIncompatible81EDX*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CpuIncompatible81EDX"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationFault": {
        "type": "object",
        "description": "Base for exceptions that can be thrown from the customizer.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfCustomizationFault": {
        "type": "object",
        "description": "A boxed array of *CustomizationFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationPending": {
        "type": "object",
        "description": "A customization operation is already pending on this virtual\nmachine and is awaiting power-up to complete.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfCustomizationPending": {
        "type": "object",
        "description": "A boxed array of *CustomizationPending*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationPending"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DVPortNotSupported": {
        "type": "object",
        "description": "The virtual machine is configured to use a DVPort, which is not\nsupported on the host.\n\nThis could be because the host\ndoes not support VDS at all, or because the host has not\njoined a VDS.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceBackingNotSupported"
          }
        ]
      },
      "ArrayOfDVPortNotSupported": {
        "type": "object",
        "description": "A boxed array of *DVPortNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DVPortNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DasConfigFault": {
        "type": "object",
        "description": "This fault indicates that some error has occurred during the\nconfiguration of the host for HA.\n\nThis may be subclassed by a more specific fault.\n",
        "properties": {
          "reason": {
            "description": "The reason why the HA configuration failed, if known.\n\nValues should come from *DasConfigFaultDasConfigFaultReason_enum*.\n",
            "type": "string"
          },
          "output": {
            "description": "The output (stdout/stderr) from executing the configuration.\n",
            "type": "string"
          },
          "event": {
            "description": "The list of events containing details why the configuration failed, if known.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Event"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfDasConfigFault": {
        "type": "object",
        "description": "A boxed array of *DasConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatabaseError": {
        "type": "object",
        "description": "A DatabaseError exception is thrown if an\noperation failed when accessing the external\ndatabase.\n\nThis typically is because\nthe database is (temporarily) unavailable or\nbecause of network problems.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfDatabaseError": {
        "type": "object",
        "description": "A boxed array of *DatabaseError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatabaseError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatacenterMismatch": {
        "type": "object",
        "description": "The input arguments had entities that did not belong to the same\ndatacenter.\n",
        "properties": {
          "invalidArgument": {
            "description": "The list of invalid arguments.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterMismatchArgument"
            }
          },
          "expectedDatacenter": {
            "description": "The expected datacenter for the arguments.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "invalidArgument",
          "expectedDatacenter"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfDatacenterMismatch": {
        "type": "object",
        "description": "A boxed array of *DatacenterMismatch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterMismatch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatacenterMismatchArgument": {
        "type": "object",
        "description": "An input entity argument that belongs to a mismatched datacenter.\n",
        "properties": {
          "entity": {
            "description": "The invalid input entity.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "inputDatacenter": {
            "description": "The datacenter for this entity.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatacenterMismatchArgument": {
        "type": "object",
        "description": "A boxed array of *DatacenterMismatchArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatacenterMismatchArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreNotWritableOnHost": {
        "type": "object",
        "description": "This exception is thrown if a datastore is not\nwritable on the target host.\n",
        "properties": {
          "host": {
            "description": "The target host on which the datastore is not writable.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDatastore"
          }
        ]
      },
      "ArrayOfDatastoreNotWritableOnHost": {
        "type": "object",
        "description": "A boxed array of *DatastoreNotWritableOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreNotWritableOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeltaDiskFormatNotSupported": {
        "type": "object",
        "description": "Thrown on an attempt to use an unsupported delta disk format.\n",
        "properties": {
          "datastore": {
            "description": "The datastores which do not support the specified format.\n\nRefers instances of *Datastore*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "deltaDiskFormat": {
            "description": "The format not supported.\n\nSee *DeltaDiskFormat*.\n",
            "type": "string"
          }
        },
        "required": [
          "deltaDiskFormat"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfDeltaDiskFormatNotSupported": {
        "type": "object",
        "description": "A boxed array of *DeltaDiskFormatNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeltaDiskFormatNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DestinationSwitchFull": {
        "type": "object",
        "description": "For one of the networks that the virtual machine is using, the corresponding\nswitch on the host is full.\n\nIf returned as part of migration checks, this is an error\nif either of the following is true, a warning otherwise:\n- The virtual ethernet card device backing is a distributed virtual switch\n- The virtual ethernet card device backing is a standard network and the\n  the device is connected\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotAccessNetwork"
          }
        ]
      },
      "ArrayOfDestinationSwitchFull": {
        "type": "object",
        "description": "A boxed array of *DestinationSwitchFull*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DestinationSwitchFull"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DestinationVsanDisabled": {
        "type": "object",
        "description": "Fault thrown for the case that an attempt is made to move a host which\nis enabled for VSAN into a *ClusterComputeResource* which is\ndisabled for VSAN.\n\nSee also *CannotMoveVsanEnabledHost*.\n",
        "properties": {
          "destinationCluster": {
            "description": "Name of the disabled destination *ClusterComputeResource*.\n\nSee also *ManagedEntity.name*.\n",
            "type": "string"
          }
        },
        "required": [
          "destinationCluster"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotMoveVsanEnabledHost"
          }
        ]
      },
      "ArrayOfDestinationVsanDisabled": {
        "type": "object",
        "description": "A boxed array of *DestinationVsanDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DestinationVsanDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceBackingNotSupported": {
        "type": "object",
        "description": "The device is backed by a backing type which is not supported\nfor this particular device.\n\nIf this fault is returned as a subfault of\nDisallowedMigrationDeviceAttached, this indicates that although\nthis backing for the device may be supported on the destination\nhost, the hosts do not support the requested migration of the\nvirtual machine while using this device with this backing.\n",
        "properties": {
          "backing": {
            "description": "The type of the backing.\n",
            "type": "string"
          }
        },
        "required": [
          "backing"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfDeviceBackingNotSupported": {
        "type": "object",
        "description": "A boxed array of *DeviceBackingNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceBackingNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceControllerNotSupported": {
        "type": "object",
        "description": "The device in question is supported, but the device-controller\ncombination is not supported.\n\nIf this fault is returned as a subfault of\nDisallowedMigrationDeviceAttached, this indicates that although\nthis device-controller combination may be supported on the\ndestination host, the hosts do not support the requested migration\nof the virtual machine while using this device and controller.\n",
        "properties": {
          "controller": {
            "description": "The type of the controller.\n",
            "type": "string"
          }
        },
        "required": [
          "controller"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfDeviceControllerNotSupported": {
        "type": "object",
        "description": "A boxed array of *DeviceControllerNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceControllerNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceHotPlugNotSupported": {
        "type": "object",
        "description": "A DeviceHotPlugNotSupported exception is thrown if the specified device\ncannot be hot-added or hot-removed from the virtual machine\nat this time.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDeviceSpec"
          }
        ]
      },
      "ArrayOfDeviceHotPlugNotSupported": {
        "type": "object",
        "description": "A boxed array of *DeviceHotPlugNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceHotPlugNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceNotFound": {
        "type": "object",
        "description": "A DeviceNotFound exception is thrown if\na device to be edited or removed\ncannot be found.\n\nMost likely, the client incorrectly passed\nthe device key.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDeviceSpec"
          }
        ]
      },
      "ArrayOfDeviceNotFound": {
        "type": "object",
        "description": "A boxed array of *DeviceNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceNotSupported": {
        "type": "object",
        "description": "The virtual machine uses a device type that is not supported on the\nhost.\n\nIf this fault is returned as a subfault of\n*DisallowedMigrationDeviceAttached*, this indicates that although\nthis device may be supported on the destination host, the hosts do\nnot support the requested migration of the virtual machine while\nusing this device.\n",
        "properties": {
          "device": {
            "description": "The label of the device.\n",
            "type": "string"
          },
          "reason": {
            "description": "The specific reason why the device is not supported.\n\nValues should come from *DeviceNotSupportedReason_enum*.\nThis might not be set if we're not sure of the reason, or\nif this doesn't make sense in the context. For example,\nin the *DisallowedMigrationDeviceAttached* context\nwe already know the problem.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfDeviceNotSupported": {
        "type": "object",
        "description": "A boxed array of *DeviceNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceUnsupportedForVmPlatform": {
        "type": "object",
        "description": "A DeviceUnsupportedForVmPlatform exception is thrown if the specified device\nis not supported on the platform on which the virtual machine is being\ncreated/configured.\n\nFor example, this exception might be thrown if a client\nincorrectly attempts to add a device supported only on ESX Server to a\nvirtual machine on a hosted product.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDeviceSpec"
          }
        ]
      },
      "ArrayOfDeviceUnsupportedForVmPlatform": {
        "type": "object",
        "description": "A boxed array of *DeviceUnsupportedForVmPlatform*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceUnsupportedForVmPlatform"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceUnsupportedForVmVersion": {
        "type": "object",
        "description": "A DeviceUnsupportedForVmVersion exception is thrown if a specific device\nis not supported for a given version of the virtual machine.\n",
        "properties": {
          "currentVersion": {
            "description": "The current version of the virtual machine.\n",
            "type": "string"
          },
          "expectedVersion": {
            "description": "The minimum expected virtual mahcine version needed to\nsupport this device.\n",
            "type": "string"
          }
        },
        "required": [
          "currentVersion",
          "expectedVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDeviceSpec"
          }
        ]
      },
      "ArrayOfDeviceUnsupportedForVmVersion": {
        "type": "object",
        "description": "A boxed array of *DeviceUnsupportedForVmVersion*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceUnsupportedForVmVersion"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DigestNotSupported": {
        "type": "object",
        "description": "The digest file of the specified virtual disk is not supported.\n\nTypically, this fault is returned as part of a parent fault like\n*VmConfigIncompatibleForFaultTolerance*, indicating that the\nvirtual disk's digest file needs to be changed before fault tolerance can be\nenabled on the associated virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfDigestNotSupported": {
        "type": "object",
        "description": "A boxed array of *DigestNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigestNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DirectoryNotEmpty": {
        "type": "object",
        "description": "This fault is thrown when an operation fails because the specified\ndirectory is not empty.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfDirectoryNotEmpty": {
        "type": "object",
        "description": "A boxed array of *DirectoryNotEmpty*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DirectoryNotEmpty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DisableAdminNotSupported": {
        "type": "object",
        "description": "Fault thrown when an attempt is made to move a disk with associated snapshots to a destination host.\n\nIf such a move were to occur, snapshots associated with the disk would be irrevocably\nlost. This is always an error.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfDisableAdminNotSupported": {
        "type": "object",
        "description": "A boxed array of *DisableAdminNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisableAdminNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DisallowedChangeByService": {
        "type": "object",
        "description": "Fault thrown if the disallowed operation is invoked by the client.\n\nThe\nchange is disallowed because it conflicts with target state maintained\nby a service. The corresponding method is usually not disabled because\nonly a subset of changes carried out by the method is disallowed. For\nexample, an online extend executed via virtual machine reconfigure\nmethod is not allowed if replication is enabled on a virtual machine.\n",
        "properties": {
          "serviceName": {
            "description": "The service that has disallowed the change.\n",
            "type": "string"
          },
          "disallowedChange": {
            "description": "The change this is not allowed, the set of possible values is\ndescribed in *DisallowedChangeByServiceDisallowedChange_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "serviceName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfDisallowedChangeByService": {
        "type": "object",
        "description": "A boxed array of *DisallowedChangeByService*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisallowedChangeByService"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DisallowedDiskModeChange": {
        "type": "object",
        "description": "Thrown when the *VirtualMachine.ReconfigVM_Task* operation\nincludes a change to the *VirtualDiskMode_enum*\nproperty.\n\nThis property cannot be changed as long as a virtual machine\nhas an existing snapshot.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDeviceSpec"
          }
        ]
      },
      "ArrayOfDisallowedDiskModeChange": {
        "type": "object",
        "description": "A boxed array of *DisallowedDiskModeChange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisallowedDiskModeChange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DisallowedMigrationDeviceAttached": {
        "type": "object",
        "description": "The virtual machine is using a type of device that prevents migration.\n",
        "properties": {
          "fault": {
            "description": "A fault specifies the particular device issue.\n\nThis is typically\na subclass of VirtualHardwareCompatibilityIssue, such as\nRawDiskNotSupported, RemoteDeviceNotSupported, or SharedBusControllerNotSupported\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfDisallowedMigrationDeviceAttached": {
        "type": "object",
        "description": "A boxed array of *DisallowedMigrationDeviceAttached*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisallowedMigrationDeviceAttached"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DisallowedOperationOnFailoverHost": {
        "type": "object",
        "description": "Fault thrown when an attempt is made to perform a disallowed operation on a\nhost that has been configured as a failover host in an cluster that has High\nAvailability enabled.\n\nSee *ClusterFailoverHostAdmissionControlPolicy*.\nExamples of such operations are destroying a host, moving a host out of a cluster,\nor powering on a virtual machine on a specific host.\n",
        "properties": {
          "host": {
            "description": "The failover host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostname": {
            "description": "Name of the failover host.\n",
            "type": "string"
          }
        },
        "required": [
          "host",
          "hostname"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfDisallowedOperationOnFailoverHost": {
        "type": "object",
        "description": "A boxed array of *DisallowedOperationOnFailoverHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisallowedOperationOnFailoverHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DisconnectedHostsBlockingEVC": {
        "type": "object",
        "description": "An attempt to enable Enhanced VMotion Compatibility on a cluster, or to\nselect a less-featureful EVC mode for a cluster where EVC is already enabled,\nhas failed because the cluster contains one or more disconnected hosts.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCConfigFault"
          }
        ]
      },
      "ArrayOfDisconnectedHostsBlockingEVC": {
        "type": "object",
        "description": "A boxed array of *DisconnectedHostsBlockingEVC*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisconnectedHostsBlockingEVC"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskHasPartitions": {
        "type": "object",
        "description": "Fault used for disks which have existing, non-VSAN partitions.\n\nSee also *HostStorageSystem.UpdateDiskPartitions*, *HostVsanSystem.QueryDisksForVsan*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanDiskFault"
          }
        ]
      },
      "ArrayOfDiskHasPartitions": {
        "type": "object",
        "description": "A boxed array of *DiskHasPartitions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskHasPartitions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskIsLastRemainingNonSSD": {
        "type": "object",
        "description": "Fault thrown for the case that an attempt is made to delete the last\n*VsanHostDiskMapping.nonSsd* from a *VsanHostDiskMapping*.\n\nSee also *HostVsanSystem.RemoveDisk_Task*, *HostVsanSystem.RemoveDiskMapping_Task*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanDiskFault"
          }
        ]
      },
      "ArrayOfDiskIsLastRemainingNonSSD": {
        "type": "object",
        "description": "A boxed array of *DiskIsLastRemainingNonSSD*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskIsLastRemainingNonSSD"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskIsNonLocal": {
        "type": "object",
        "description": "Fault used for disks which are ineligible for VSAN because they are\nconsidered non-local.\n\nSee also *HostVsanSystem.QueryDisksForVsan*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanDiskFault"
          }
        ]
      },
      "ArrayOfDiskIsNonLocal": {
        "type": "object",
        "description": "A boxed array of *DiskIsNonLocal*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskIsNonLocal"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskIsUSB": {
        "type": "object",
        "description": "Fault used for disks which are ineligible for VSAN because they are USB\ndisks.\n\nSee also *HostVsanSystem.QueryDisksForVsan*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanDiskFault"
          }
        ]
      },
      "ArrayOfDiskIsUSB": {
        "type": "object",
        "description": "A boxed array of *DiskIsUSB*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskIsUSB"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskMoveTypeNotSupported": {
        "type": "object",
        "description": "Specifying non-standard disk movement types is not supported.\n\nSee also *VirtualMachineRelocateSpec.diskMoveType*, *VirtualMachineRelocateSpecDiskLocator.diskMoveType*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfDiskMoveTypeNotSupported": {
        "type": "object",
        "description": "A boxed array of *DiskMoveTypeNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskMoveTypeNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskNotSupported": {
        "type": "object",
        "description": "The host does not support the backings for the disks specified by the virtual\nmachine.\n\nFor example, this fault is thrown if a virtual machine is created from\na template that specifies backings that the host does not have. Similarly, this fault\nis thrown if a virtual machine is registered on a host that does not support the\nspecified backings.\n",
        "properties": {
          "disk": {
            "description": "The ID of disk that is not supported.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "disk"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfDiskNotSupported": {
        "type": "object",
        "description": "A boxed array of *DiskNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskTooSmall": {
        "type": "object",
        "description": "Fault used for disks which are too small for usage by VSAN.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanDiskFault"
          }
        ]
      },
      "ArrayOfDiskTooSmall": {
        "type": "object",
        "description": "A boxed array of *DiskTooSmall*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskTooSmall"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DomainNotFound": {
        "type": "object",
        "description": "Fault indicating that the domain controller\nfor domainName cannot be reached.\n",
        "properties": {
          "domainName": {
            "description": "The domain that cannot be accessed.\n",
            "type": "string"
          }
        },
        "required": [
          "domainName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ActiveDirectoryFault"
          }
        ]
      },
      "ArrayOfDomainNotFound": {
        "type": "object",
        "description": "A boxed array of *DomainNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DomainNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsDisabledOnVm": {
        "type": "object",
        "description": "This fault is thrown when DRS cannot move a virtual machine because\nDRS is disabled on it (i.e., it is pinned on its registered host).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfDrsDisabledOnVm": {
        "type": "object",
        "description": "A boxed array of *DrsDisabledOnVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsDisabledOnVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsVmotionIncompatibleFault": {
        "type": "object",
        "description": "This fault is thrown when DRS tries to migrate a virtual machine to a host,\nbut finds that the host is incompatible with the given virtual machine.\n",
        "properties": {
          "host": {
            "description": "The host that is incompatible with a given virtual machine.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfDrsVmotionIncompatibleFault": {
        "type": "object",
        "description": "A boxed array of *DrsVmotionIncompatibleFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsVmotionIncompatibleFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DuplicateDisks": {
        "type": "object",
        "description": "Fault used to denote a duplicate set of disks were incorrectly specified\nfor a given operation.\n\nSee also *HostVsanSystem.AddDisks_Task*, *HostVsanSystem.InitializeDisks_Task*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanDiskFault"
          }
        ]
      },
      "ArrayOfDuplicateDisks": {
        "type": "object",
        "description": "A boxed array of *DuplicateDisks*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DuplicateDisks"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DuplicateName": {
        "type": "object",
        "description": "A DuplicateName exception is thrown because a name already exists\nin the same name space.\n",
        "properties": {
          "name": {
            "description": "The name that is already bound in the name space.\n",
            "type": "string"
          },
          "object": {
            "description": "Managed object that already holds the name.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name",
          "object"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfDuplicateName": {
        "type": "object",
        "description": "A boxed array of *DuplicateName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DuplicateName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DuplicateVsanNetworkInterface": {
        "type": "object",
        "description": "Fault thrown for cases that duplicate network interface names are\nincorrectly specified for a VSAN operation.\n\nSee also *HostVsanSystem.UpdateVsan_Task*, *ComputeResource.ReconfigureComputeResource_Task*.\n",
        "properties": {
          "device": {
            "description": "The network interface name found to be duplicated.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanFault"
          }
        ]
      },
      "ArrayOfDuplicateVsanNetworkInterface": {
        "type": "object",
        "description": "A boxed array of *DuplicateVsanNetworkInterface*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DuplicateVsanNetworkInterface"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsApplyOperationFault": {
        "type": "object",
        "description": "Thrown if a vSphere Distributed Switch apply operation failed to set or remove\nsome of the specified objects.\n",
        "properties": {
          "objectFault": {
            "description": "Faults occurred on the host during a DistributedVirtualSwitch operation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsApplyOperationFaultFaultOnObject"
            }
          }
        },
        "required": [
          "objectFault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfDvsApplyOperationFault": {
        "type": "object",
        "description": "A boxed array of *DvsApplyOperationFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsApplyOperationFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsApplyOperationFaultFaultOnObject": {
        "type": "object",
        "description": "The fault occurred during an apply operation.\n",
        "properties": {
          "objectId": {
            "description": "The object identifier.\n\nIt should be UUID for vSphere Distributed Switches,\nkeys for vNetwork distributed portgroups and ports.\n",
            "type": "string"
          },
          "type": {
            "description": "The Type of the objects.\n",
            "type": "string"
          },
          "fault": {
            "description": "The fault that occurred.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "objectId",
          "type",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsApplyOperationFaultFaultOnObject": {
        "type": "object",
        "description": "A boxed array of *DvsApplyOperationFaultFaultOnObject*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsApplyOperationFaultFaultOnObject"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsFault": {
        "type": "object",
        "description": "Base class for faults that can be thrown while invoking a distributed virtual switch\noperation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfDvsFault": {
        "type": "object",
        "description": "A boxed array of *DvsFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsNotAuthorized": {
        "type": "object",
        "description": "Thrown if\n*DVSCapability.dvsOperationSupported*\nis false and *DVSConfigInfo.extensionKey* is not same\nas the extension key of the login-session.\n",
        "properties": {
          "sessionExtensionKey": {
            "description": "The extension key associated with the user-session.\n",
            "type": "string"
          },
          "dvsExtensionKey": {
            "description": "The value of *DVSConfigInfo.extensionKey*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfDvsNotAuthorized": {
        "type": "object",
        "description": "A boxed array of *DvsNotAuthorized*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsNotAuthorized"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsOperationBulkFault": {
        "type": "object",
        "description": "Thrown if a DistributedVirtualSwitch operation failed on some of the host members.\n",
        "properties": {
          "hostFault": {
            "description": "Faults occurred on the host during a DistributedVirtualSwitch operation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsOperationBulkFaultFaultOnHost"
            }
          }
        },
        "required": [
          "hostFault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfDvsOperationBulkFault": {
        "type": "object",
        "description": "A boxed array of *DvsOperationBulkFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsOperationBulkFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsOperationBulkFaultFaultOnHost": {
        "type": "object",
        "description": "The fault occurred on the host during an operation.\n",
        "properties": {
          "host": {
            "description": "The host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "fault": {
            "description": "The fault that occurred.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "host",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDvsOperationBulkFaultFaultOnHost": {
        "type": "object",
        "description": "A boxed array of *DvsOperationBulkFaultFaultOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsOperationBulkFaultFaultOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsScopeViolated": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5.\n\nThrown if a entity trying to connect to a port or portgroup but it is not in the\nport or portgroup's scope.\n",
        "properties": {
          "scope": {
            "description": "The configured scope.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "entity": {
            "description": "The entity that violates the scope.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "scope",
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfDvsScopeViolated": {
        "type": "object",
        "description": "A boxed array of *DvsScopeViolated*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsScopeViolated"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailed": {
        "type": "object",
        "description": "The host does not satisfy the admission requirements for the Enhanced\nVMotion Compatibility mode of the cluster.\n",
        "properties": {
          "faults": {
            "description": "The faults that caused this EVC test to fail\n(e.g.\n\nFeatureRequirementsNotMet faults).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupportedHostInCluster"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailed": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailedCPUFeaturesForMode": {
        "type": "object",
        "description": "The host's CPU hardware is a family/model that should support the\nEnhanced VMotion Compatibility mode of the cluster, but some necessary\nCPU features are not present.\n",
        "properties": {
          "currentEVCModeKey": {
            "description": "The Enhanced VMotion Compatibility mode that is currently in effect for\nthe cluster.\n",
            "type": "string"
          }
        },
        "required": [
          "currentEVCModeKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCAdmissionFailed"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailedCPUFeaturesForMode": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailedCPUFeaturesForMode*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailedCPUFeaturesForMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailedCPUModel": {
        "type": "object",
        "description": "The host's CPU hardware is a family/model that does not support any\nEnhanced VMotion Compatibility mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCAdmissionFailed"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailedCPUModel": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailedCPUModel*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailedCPUModel"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailedCPUModelForMode": {
        "type": "object",
        "description": "The host's CPU hardware is a family/model that does not support the Enhanced\nVMotion Compatibility mode of the cluster.\n",
        "properties": {
          "currentEVCModeKey": {
            "description": "The Enhanced VMotion Compatibility mode that is currently in effect for\nthe cluster.\n",
            "type": "string"
          }
        },
        "required": [
          "currentEVCModeKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCAdmissionFailed"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailedCPUModelForMode": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailedCPUModelForMode*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailedCPUModelForMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailedCPUVendor": {
        "type": "object",
        "description": "The host's CPU vendor does not match the required CPU vendor for the\nEnhanced VMotion Compatibility mode of the cluster.\n",
        "properties": {
          "clusterCPUVendor": {
            "description": "The CPU vendor required for entering the cluster.\n",
            "type": "string"
          },
          "hostCPUVendor": {
            "description": "The CPU vendor of the host.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterCPUVendor",
          "hostCPUVendor"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCAdmissionFailed"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailedCPUVendor": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailedCPUVendor*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailedCPUVendor"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailedCPUVendorUnknown": {
        "type": "object",
        "description": "The host's CPU vendor is unknown, which prevents admission into an Enhanced\nVMotion Compatibility cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCAdmissionFailed"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailedCPUVendorUnknown": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailedCPUVendorUnknown*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailedCPUVendorUnknown"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailedHostDisconnected": {
        "type": "object",
        "description": "The host is not connected, which prevents admission into an Enhanced\nVMotion Compatibility cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCAdmissionFailed"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailedHostDisconnected": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailedHostDisconnected*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailedHostDisconnected"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailedHostSoftware": {
        "type": "object",
        "description": "The host's software does not support any Enhanced VMotion Compatibility mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCAdmissionFailed"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailedHostSoftware": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailedHostSoftware*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailedHostSoftware"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailedHostSoftwareForMode": {
        "type": "object",
        "description": "The host's software does not support the Enhanced VMotion Compatibility\nmode of the cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCAdmissionFailed"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailedHostSoftwareForMode": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailedHostSoftwareForMode*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailedHostSoftwareForMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCAdmissionFailedVmActive": {
        "type": "object",
        "description": "An attempt to move or add a host into an Enhanced VMotion Compatibility\ncluster has failed for the following reason:\n- The host exposes additional compatibility-relevant CPU features beyond\n  those present in the baseline mandated by the cluster's EVC mode.\n- The host has powered-on or suspended virtual machines.\n  \nTherefore the host may not be admitted into the cluster, since its virtual\nmachines may be using CPU features suppressed in the cluster.\n\nNote that in rare cases, this may occur even if the host's\n*maxEVCModeKey* corresponds to the EVC\nmode of the cluster. This means that even though that EVC mode is the best\nmatch for the host's hardware, the host still has some features beyond\nthose present in the baseline for that EVC mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCAdmissionFailed"
          }
        ]
      },
      "ArrayOfEVCAdmissionFailedVmActive": {
        "type": "object",
        "description": "A boxed array of *EVCAdmissionFailedVmActive*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCAdmissionFailedVmActive"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCConfigFault": {
        "type": "object",
        "description": "An attempt to enable Enhanced VMotion Compatibility on a cluster has failed.\n",
        "properties": {
          "faults": {
            "description": "The faults that caused this EVC test to fail,\nsuch as *FeatureRequirementsNotMet* faults.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfEVCConfigFault": {
        "type": "object",
        "description": "A boxed array of *EVCConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCModeIllegalByVendor": {
        "type": "object",
        "description": "An attempt to enable Enhanced VMotion Compatibility on a cluster, or change\nthe EVC configuration on an EVC-enabled cluster, has failed because the\nselected EVC mode is not legal for the CPU hardware vendor of the hosts\ncurrently in the cluster.\n",
        "properties": {
          "clusterCPUVendor": {
            "description": "The CPU vendor in use in the cluster.\n",
            "type": "string"
          },
          "modeCPUVendor": {
            "description": "The CPU vendor for the requested EVC mode.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterCPUVendor",
          "modeCPUVendor"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCConfigFault"
          }
        ]
      },
      "ArrayOfEVCModeIllegalByVendor": {
        "type": "object",
        "description": "A boxed array of *EVCModeIllegalByVendor*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCModeIllegalByVendor"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCModeUnsupportedByHosts": {
        "type": "object",
        "description": "An attempt to enable Enhanced VMotion Compatibility on a cluster has failed\nbecause there are hosts in the cluster with a CPU feature baseline below the\ndesired EVC mode.\n",
        "properties": {
          "evcMode": {
            "description": "The requested EVC mode.\n",
            "type": "string"
          },
          "host": {
            "description": "The set of hosts which are blocking EVC because their CPU hardware does\nnot support the requested EVC mode.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "hostName": {
            "description": "The names of the hosts in the host array.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCConfigFault"
          }
        ]
      },
      "ArrayOfEVCModeUnsupportedByHosts": {
        "type": "object",
        "description": "A boxed array of *EVCModeUnsupportedByHosts*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCModeUnsupportedByHosts"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCUnsupportedByHostHardware": {
        "type": "object",
        "description": "An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has\nfailed because one or more hosts in the cluster do not match the desired\nfeatureset and lack hardware support for EVC.\n",
        "properties": {
          "host": {
            "description": "The set of hosts which are blocking EVC because their CPU hardware does\nnot support CPUID override.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "hostName": {
            "description": "The names of the hosts in the host array.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "host",
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCConfigFault"
          }
        ]
      },
      "ArrayOfEVCUnsupportedByHostHardware": {
        "type": "object",
        "description": "A boxed array of *EVCUnsupportedByHostHardware*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCUnsupportedByHostHardware"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EVCUnsupportedByHostSoftware": {
        "type": "object",
        "description": "An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has\nfailed because one or more hosts in the cluster lack software support for\nEVC.\n",
        "properties": {
          "host": {
            "description": "The set of hosts which are blocking EVC because their virtualization\nsoftware does not support CPUID override.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "hostName": {
            "description": "The names of the hosts in the host array.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "host",
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCConfigFault"
          }
        ]
      },
      "ArrayOfEVCUnsupportedByHostSoftware": {
        "type": "object",
        "description": "A boxed array of *EVCUnsupportedByHostSoftware*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EVCUnsupportedByHostSoftware"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EightHostLimitViolated": {
        "type": "object",
        "description": "Only virtual machines on eight different hosts can have a single\nvirtual disk backing opened for read at once.\n\nThis fault occurs when moving or powering on this virtual\nmachine would cause a violation of the above constraint.\nThis only occurs when multiple virtual machines are sharing a\nsingle disk backing.\n\nNote that there is no limit on the number of virtual machines\nwho share a disk backings, so long as they are running on\neight or fewer hosts.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfEightHostLimitViolated": {
        "type": "object",
        "description": "A boxed array of *EightHostLimitViolated*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EightHostLimitViolated"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "EncryptionKeyRequired": {
        "type": "object",
        "description": "An EncryptionKeyRequired fault occurs when an operation fails due\nto one or more required encryption keys.\n",
        "properties": {
          "requiredKey": {
            "description": "A list of required key identifiers.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoKeyId"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfEncryptionKeyRequired": {
        "type": "object",
        "description": "A boxed array of *EncryptionKeyRequired*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EncryptionKeyRequired"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExpiredAddonLicense": {
        "type": "object",
        "description": "An ExpiredAddonLicense fault is thrown if an attempt to acquire an Addon license\n'feature failed for count 'count'.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ExpiredFeatureLicense"
          }
        ]
      },
      "ArrayOfExpiredAddonLicense": {
        "type": "object",
        "description": "A boxed array of *ExpiredAddonLicense*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExpiredAddonLicense"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExpiredEditionLicense": {
        "type": "object",
        "description": "An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license\n'feature failed for count 'count'.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ExpiredFeatureLicense"
          }
        ]
      },
      "ArrayOfExpiredEditionLicense": {
        "type": "object",
        "description": "A boxed array of *ExpiredEditionLicense*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExpiredEditionLicense"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExpiredFeatureLicense": {
        "type": "object",
        "description": "An ExpiredFeatureLicense fault is thrown if an attempt to acquire an Addon license\n'feature failed for count 'count'.\n",
        "properties": {
          "feature": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "feature",
          "count",
          "expirationDate"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfExpiredFeatureLicense": {
        "type": "object",
        "description": "A boxed array of *ExpiredFeatureLicense*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExpiredFeatureLicense"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ExtendedFault": {
        "type": "object",
        "description": "This fault is the container for faults logged by extensions.\n",
        "properties": {
          "faultTypeId": {
            "description": "The id of the type of extended fault.\n",
            "type": "string"
          },
          "data": {
            "description": "Key/value pairs associated with fault.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "faultTypeId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfExtendedFault": {
        "type": "object",
        "description": "A boxed array of *ExtendedFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FailToEnableSPBM": {
        "type": "object",
        "description": "Fault type that could be thrown when enabling SPBM(Storage Policy\nBased Management) feature of a compute resource.\n",
        "properties": {
          "cs": {
            "description": "The compute resource\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "csName": {
            "description": "The computer resource name\n",
            "type": "string"
          },
          "hostLicenseStates": {
            "description": "Array of *ComputeResourceHostSPBMLicenseInfo* that\ncontains SPBM license information for all hosts in the compute resource\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComputeResourceHostSPBMLicenseInfo"
            }
          }
        },
        "required": [
          "cs",
          "csName",
          "hostLicenseStates"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfFailToEnableSPBM": {
        "type": "object",
        "description": "A boxed array of *FailToEnableSPBM*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FailToEnableSPBM"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FailToLockFaultToleranceVMs": {
        "type": "object",
        "description": "Thrown when trying to state lock a Fault Tolerance VM, and the\nother VM in the same Fault Tolerance pair is already locked.\n",
        "properties": {
          "vmName": {
            "description": "The name of the vm to be locked.\n",
            "type": "string"
          },
          "vm": {
            "description": "The vm to be locked, this can be a Fault Tolerance primary or secondary VM\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "alreadyLockedVm": {
            "description": "The vm that is already locked, this can be a Fault Tolerance primary or secondary VM\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vmName",
          "vm",
          "alreadyLockedVm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfFailToLockFaultToleranceVMs": {
        "type": "object",
        "description": "A boxed array of *FailToLockFaultToleranceVMs*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FailToLockFaultToleranceVMs"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceAntiAffinityViolated": {
        "type": "object",
        "description": "More than one VM in the same fault tolerance group are placed on the same host\n",
        "properties": {
          "hostName": {
            "description": "The name of the host.\n",
            "type": "string"
          },
          "host": {
            "description": "The host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "hostName",
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfFaultToleranceAntiAffinityViolated": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceAntiAffinityViolated*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceAntiAffinityViolated"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceCannotEditMem": {
        "type": "object",
        "description": "The memory size, reservation, limit or shares of a virtual machine cannot\nbe edited if Fault Tolerance is turned on\n",
        "properties": {
          "vmName": {
            "description": "The name of the VM.\n",
            "type": "string"
          },
          "vm": {
            "description": "The VM.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vmName",
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfFaultToleranceCannotEditMem": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceCannotEditMem*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceCannotEditMem"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceCpuIncompatible": {
        "type": "object",
        "description": "Convenience subclass for calling out some named features among the\nincompatibilities found in CPUID level 1 register ecx for FT vms.\n",
        "properties": {
          "model": {
            "description": "Flag to indicate CPU model is incompatible.\n",
            "type": "boolean"
          },
          "family": {
            "description": "Flag to indicate CPU family is incompatible.\n",
            "type": "boolean"
          },
          "stepping": {
            "description": "Flag to indicate CPU stepping is incompatible.\n",
            "type": "boolean"
          }
        },
        "required": [
          "model",
          "family",
          "stepping"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CpuIncompatible"
          }
        ]
      },
      "ArrayOfFaultToleranceCpuIncompatible": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceCpuIncompatible*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceCpuIncompatible"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceNeedsThickDisk": {
        "type": "object",
        "description": "Fault Tolerance VM requires thick disks\n",
        "properties": {
          "vmName": {
            "description": "The name of the VM.\n",
            "type": "string"
          }
        },
        "required": [
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfFaultToleranceNeedsThickDisk": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceNeedsThickDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceNeedsThickDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceNotLicensed": {
        "type": "object",
        "description": "This fault is thrown when fault tolerance has not been licensed on the\nsource or destination host.\n\nIt must be licensed on both hosts.\n",
        "properties": {
          "hostName": {
            "description": "The host name\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfFaultToleranceNotLicensed": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceNotLicensed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceNotLicensed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceNotSameBuild": {
        "type": "object",
        "description": "The destination host does not have the same build or Fault Tolerance\nfeature version number as the source host.\n",
        "properties": {
          "build": {
            "description": "The string.\n",
            "type": "string"
          }
        },
        "required": [
          "build"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfFaultToleranceNotSameBuild": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceNotSameBuild*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceNotSameBuild"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultTolerancePrimaryPowerOnNotAttempted": {
        "type": "object",
        "description": "This fault is used to report that VirtualCenter did not attempt to power on\na Fault Tolerance secondary virtual machine because it was unable to\npower on the corresponding Fault Tolerance primary virtual machine.\n",
        "properties": {
          "secondaryVm": {
            "description": "The secondary virtual machine that was not attempted\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "primaryVm": {
            "description": "The corresponding primary virtual machine\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "secondaryVm",
          "primaryVm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfFaultTolerancePrimaryPowerOnNotAttempted": {
        "type": "object",
        "description": "A boxed array of *FaultTolerancePrimaryPowerOnNotAttempted*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultTolerancePrimaryPowerOnNotAttempted"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceVmNotDasProtected": {
        "type": "object",
        "description": "A FaultToleranceVmNotDasProtected fault occurs when an Fault Tolerance VM\nis not protected by HA and the operation for terminating the primary VM\nor secondary VM is invoked.\n",
        "properties": {
          "vm": {
            "description": "The Fault Toelrance primary VM\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "Name of the VM\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfFaultToleranceVmNotDasProtected": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceVmNotDasProtected*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceVmNotDasProtected"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FcoeFault": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0. Software FCoE not supported.\n\nBase class for faults that can be thrown while invoking FCoE management operations.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfFcoeFault": {
        "type": "object",
        "description": "A boxed array of *FcoeFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcoeFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FcoeFaultPnicHasNoPortSet": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 8.0. Software FCoE not supported.\n\nThis fault indicates the given Software Fcoe NIC has no uplink ports\nthat is required for initiating a discovery.\n",
        "properties": {
          "nicDevice": {
            "type": "string"
          }
        },
        "required": [
          "nicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/FcoeFault"
          }
        ]
      },
      "ArrayOfFcoeFaultPnicHasNoPortSet": {
        "type": "object",
        "description": "A boxed array of *FcoeFaultPnicHasNoPortSet*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcoeFaultPnicHasNoPortSet"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FeatureRequirementsNotMet": {
        "type": "object",
        "description": "The host does not meet feature requirements of the virtual machine.\n",
        "properties": {
          "featureRequirement": {
            "description": "The feature requirements that were not met.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFeatureRequirement"
            }
          },
          "vm": {
            "description": "The virtual machine whose feature requirements were not met.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The host whose capabilities did not meet the virtual machine's feature requirements.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfFeatureRequirementsNotMet": {
        "type": "object",
        "description": "A boxed array of *FeatureRequirementsNotMet*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeatureRequirementsNotMet"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileAlreadyExists": {
        "type": "object",
        "description": "This fault is thrown when an operation attempts to create a file using the name of\nan existing file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfFileAlreadyExists": {
        "type": "object",
        "description": "A boxed array of *FileAlreadyExists*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileAlreadyExists"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileBackedPortNotSupported": {
        "type": "object",
        "description": "The virtual machine has a port (either a SerialPort or a ParallelPort) which is\nbacked by a file.\n\nThis is an error when migrating a virtual machine with the device\nconnected, and can be returned as a subfault of DisallowedMigrationDeviceAttached.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfFileBackedPortNotSupported": {
        "type": "object",
        "description": "A boxed array of *FileBackedPortNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileBackedPortNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileFault": {
        "type": "object",
        "description": "The common base type for all file-related exceptions.\n",
        "properties": {
          "file": {
            "description": "The file in question.\n",
            "type": "string"
          }
        },
        "required": [
          "file"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfFileFault": {
        "type": "object",
        "description": "A boxed array of *FileFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileLocked": {
        "type": "object",
        "description": "Thrown if an attempt is made to lock a file that is already in use.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfFileLocked": {
        "type": "object",
        "description": "A boxed array of *FileLocked*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileLocked"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileNameTooLong": {
        "type": "object",
        "description": "This fault is thrown when an operation fails because the name of the\nspecified file is too long.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfFileNameTooLong": {
        "type": "object",
        "description": "A boxed array of *FileNameTooLong*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileNameTooLong"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileNotFound": {
        "type": "object",
        "description": "This fault is thrown when an operation fails because the specified file\ndoes not exist.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfFileNotFound": {
        "type": "object",
        "description": "A boxed array of *FileNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileNotWritable": {
        "type": "object",
        "description": "Thrown if an attempt is made to write to a read-only file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfFileNotWritable": {
        "type": "object",
        "description": "A boxed array of *FileNotWritable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileNotWritable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileTooLarge": {
        "type": "object",
        "description": "This fault is thrown when an operation fails because the file is larger\nthan the maximum file size supported by the datastore.\n",
        "properties": {
          "datastore": {
            "description": "The name of the datastore that does not support the file's size.\n",
            "type": "string"
          },
          "fileSize": {
            "description": "The size (in bytes) of the file.\n",
            "type": "integer",
            "format": "int64"
          },
          "maxFileSize": {
            "description": "The max file size (in bytes) supported on the datastore.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "datastore",
          "fileSize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfFileTooLarge": {
        "type": "object",
        "description": "A boxed array of *FileTooLarge*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileTooLarge"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FilesystemQuiesceFault": {
        "type": "object",
        "description": "This fault is thrown when creating a quiesced snapshot failed\nbecause the create snapshot operation exceeded the time limit\nfor holding off I/O in the frozen VM.\n\nThis indicates that when we attempted to thaw the VM after\ncreating the snapshot, we got an error back indicating that\nthe VM was not frozen anymore. In this case, we roll back\nthe entire snapshot create operation and throw this exception.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotFault"
          }
        ]
      },
      "ArrayOfFilesystemQuiesceFault": {
        "type": "object",
        "description": "A boxed array of *FilesystemQuiesceFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilesystemQuiesceFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FilterInUse": {
        "type": "object",
        "description": "A FilterInUse fault indicates that some error has occurred because an\nIO filter was in use.\n",
        "properties": {
          "disk": {
            "description": "Virtual disks that use the filter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskId"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceInUse"
          }
        ]
      },
      "ArrayOfFilterInUse": {
        "type": "object",
        "description": "A boxed array of *FilterInUse*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterInUse"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FtIssuesOnHost": {
        "type": "object",
        "description": "The FtIssuesOnHost fault reports issues that prevent a particular\nhost from being used as the register or power on host for a Fault\nTolerance secondary virtual machine\n",
        "properties": {
          "host": {
            "description": "The host which has Fault Tolerance issues.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostName": {
            "description": "Name for the host which has Fault Tolerance issues.\n",
            "type": "string"
          },
          "errors": {
            "description": "Information on the details of the Fault Tolerance issues\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "host",
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfFtIssuesOnHost": {
        "type": "object",
        "description": "A boxed array of *FtIssuesOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FtIssuesOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FtVmHostRuleViolation": {
        "type": "object",
        "description": "The virtual machine if powered on or VMotioned, would violate an\nFT VM-Host rule.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "vmName": {
            "description": "The vm that can not be powered on or VMotioned without violating FT Metro\nCluster placement rule.\n",
            "type": "string"
          },
          "hostName": {
            "description": "The host that the virtual machine can not be powered on without violating\nFT Metro Cluster placement rule.\n",
            "type": "string"
          },
          "hostGroup": {
            "description": "Indicate the Host Group for FT Metro Cluster enabled Virtual Machine.\n",
            "type": "string"
          }
        },
        "required": [
          "vmName",
          "hostName",
          "hostGroup"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfFtVmHostRuleViolation": {
        "type": "object",
        "description": "A boxed array of *FtVmHostRuleViolation*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FtVmHostRuleViolation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FullStorageVMotionNotSupported": {
        "type": "object",
        "description": "An operation on a powered-on virtual machine requests a simultaneous change\nof storage location and execution host, but the host does not have that\ncapability.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFeatureNotSupported"
          }
        ]
      },
      "ArrayOfFullStorageVMotionNotSupported": {
        "type": "object",
        "description": "A boxed array of *FullStorageVMotionNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FullStorageVMotionNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GatewayConnectFault": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated not used since vSphere 6.5.\n\nGatewayConnectFault is a base fault type for the faults thrown by a gateway\nserver used to connect to a host.\n",
        "properties": {
          "gatewayType": {
            "description": "The type of the gateway used for the connection to the host.\n",
            "type": "string"
          },
          "gatewayId": {
            "description": "Identifier of the gateway that is used for the connection to the host.\n",
            "type": "string"
          },
          "gatewayInfo": {
            "description": "Human-readable information about the host gateway server.\n",
            "type": "string"
          },
          "details": {
            "description": "Details of the cause for this fault.\n\nThis is the way in which Host\nGateway servers propagate opaque error messages through vCenter Server.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          }
        },
        "required": [
          "gatewayType",
          "gatewayId",
          "gatewayInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfGatewayConnectFault": {
        "type": "object",
        "description": "A boxed array of *GatewayConnectFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GatewayConnectFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GatewayHostNotReachable": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated not used since vSphere 6.5.\n\nGatewayHostNotReachable is thrown by the gateway used to connect to a host,\nif an error occurs while establishing a connection to that host.\n\nThe fault may provide a more detailed message of what caused the problem.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GatewayToHostConnectFault"
          }
        ]
      },
      "ArrayOfGatewayHostNotReachable": {
        "type": "object",
        "description": "A boxed array of *GatewayHostNotReachable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GatewayHostNotReachable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GatewayNotFound": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated not used since vSphere 6.5.\n\nGatewayNotFound is thrown by vCenter Server, if no host gateway with the\nspecified type/id and available resources is known to the vCenter Server.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GatewayConnectFault"
          }
        ]
      },
      "ArrayOfGatewayNotFound": {
        "type": "object",
        "description": "A boxed array of *GatewayNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GatewayNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GatewayNotReachable": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated not used since vSphere 6.5.\n\nGatewayNotReachable is thrown by vCenter Server when it fails to establish\na connection to the host gateway server.\n\nThis fault may occur due to\nnetwork connectivity problems or inability to establish secure connection\nbetween the gateway server and vCenter Server.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GatewayConnectFault"
          }
        ]
      },
      "ArrayOfGatewayNotReachable": {
        "type": "object",
        "description": "A boxed array of *GatewayNotReachable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GatewayNotReachable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GatewayOperationRefused": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated not used sine vSphere 6.5.\n\nGatewayOperationRefused is thrown by vCenter Server when a gateway server denies to\naccept more connection due to resource limitation.\n\nThe fault may occur due\nto specific configuration of the Gateway server to work with limited\nresources or due to physical limitation to handle more host connections.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GatewayConnectFault"
          }
        ]
      },
      "ArrayOfGatewayOperationRefused": {
        "type": "object",
        "description": "A boxed array of *GatewayOperationRefused*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GatewayOperationRefused"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GatewayToHostAuthFault": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated not used since vSphere 6.5.\n\nGatewayToHostAuthFault is thrown by the gateway used to communicate with a\nhost, if the gateway cannot authenticate to the host with the provided\nauthentication data.\n\nThe fault provides information, which of the properties given in the\nauthentication data are invalid or if more properties are required.\n\nSee also *HostGatewaySpec.hostAuthParams*.\n",
        "properties": {
          "invalidProperties": {
            "description": "List of properties that have been provided in the authentication data\nbut have wrong values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "missingProperties": {
            "description": "List of properties that do not have their values specified in the\nprovided authentication data but are required.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "invalidProperties",
          "missingProperties"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GatewayToHostConnectFault"
          }
        ]
      },
      "ArrayOfGatewayToHostAuthFault": {
        "type": "object",
        "description": "A boxed array of *GatewayToHostAuthFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GatewayToHostAuthFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GatewayToHostConnectFault": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated not used since vSphere 6.5.\n\nGatewayToHostConnectFault is thrown by the gateway used to communicate\nwith a host, if an error occurs in the communication between the gateway and\nthe host.\n\nMore details may be provided by a subfault.\n",
        "properties": {
          "hostname": {
            "description": "Hostname of the host that the gateway is communicating with.\n",
            "type": "string"
          },
          "port": {
            "description": "Port specified for the connection between the gateway and the host.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "hostname"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GatewayConnectFault"
          }
        ]
      },
      "ArrayOfGatewayToHostConnectFault": {
        "type": "object",
        "description": "A boxed array of *GatewayToHostConnectFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GatewayToHostConnectFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GatewayToHostTrustVerifyFault": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated not used since vSphere 6.5.\n\nGatewayToHostTrustVerifyFault is thrown by the gateway used to communicate\nwith a host, if it cannot establish a trusted connection to the host with\nthe provided host verification token parameter.\n\nThe fault provides a list of opaque &lt;key,value&gt; properties, which the end\nuser has to verify in order to trust the host and a verification token,\nwhich can be used to state that those exact properties are valid.\n\nSee also *HostGatewaySpec.trustVerificationToken*.\n",
        "properties": {
          "verificationToken": {
            "description": "A unique verification token, that can be used to state the the listed\nproperties are valid.\n",
            "type": "string"
          },
          "propertiesToVerify": {
            "description": "A key/value list of properties that need user verification in order\nfor the gateway to trust the host to succeed.\n\nFor instance the user may\nneed to verify an SSL thumbprint or a whole certificate.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "verificationToken",
          "propertiesToVerify"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GatewayToHostConnectFault"
          }
        ]
      },
      "ArrayOfGatewayToHostTrustVerifyFault": {
        "type": "object",
        "description": "A boxed array of *GatewayToHostTrustVerifyFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GatewayToHostTrustVerifyFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GenericDrsFault": {
        "type": "object",
        "description": "DRS returns more than one faults for each virtual machine, or DRS returns\n*VimFault* because of some internal errors.\n",
        "properties": {
          "hostFaults": {
            "description": "This is an optional field to return the detailed information back to\nthe client.\n\nThis optional array may consist of the exact fault for\nsome hosts in the cluster.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfGenericDrsFault": {
        "type": "object",
        "description": "A boxed array of *GenericDrsFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericDrsFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GenericVmConfigFault": {
        "type": "object",
        "description": "Thrown when a running virtual machine reports an error.\n",
        "properties": {
          "reason": {
            "description": "Message from the virtual machine\n",
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfGenericVmConfigFault": {
        "type": "object",
        "description": "A boxed array of *GenericVmConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericVmConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestAuthenticationChallenge": {
        "type": "object",
        "description": "Fault is thrown when a call to *GuestAuthManager.AcquireCredentialsInGuest* requires a challenge\nresponse in order to authenticate in the guest.\n\nThe authToken string\nin serverChallenge contains a base64 encoded challenge token.\n",
        "properties": {
          "serverChallenge": {
            "description": "Contains the server challenge information\n",
            "$ref": "#/components/schemas/GuestAuthentication"
          },
          "sessionID": {
            "description": "Contains a session ID number that associates the server response\nwith the initial request.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "serverChallenge",
          "sessionID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfGuestAuthenticationChallenge": {
        "type": "object",
        "description": "A boxed array of *GuestAuthenticationChallenge*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestAuthenticationChallenge"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestComponentsOutOfDate": {
        "type": "object",
        "description": "A GuestComponentsOutOfDate exception is thrown when an\noperation fails because the guest operations agent is out of date and lacks\nthe functionality to execute the operation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfGuestComponentsOutOfDate": {
        "type": "object",
        "description": "A boxed array of *GuestComponentsOutOfDate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestComponentsOutOfDate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestMultipleMappings": {
        "type": "object",
        "description": "A GuestMultipleMappings exception is thrown when an\noperation fails because the guest alias store mapping file\ncontains multiple conflicting instances of the same certificate\nand username.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfGuestMultipleMappings": {
        "type": "object",
        "description": "A boxed array of *GuestMultipleMappings*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestMultipleMappings"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestOperationsFault": {
        "type": "object",
        "description": "The common base type for all guest operations faults.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfGuestOperationsFault": {
        "type": "object",
        "description": "A boxed array of *GuestOperationsFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestOperationsFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestOperationsUnavailable": {
        "type": "object",
        "description": "A GuestOperationsUnavailable exception is thrown when an\noperation fails to contact the guest operations agent\nrunning inside the virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfGuestOperationsUnavailable": {
        "type": "object",
        "description": "A boxed array of *GuestOperationsUnavailable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestOperationsUnavailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestPermissionDenied": {
        "type": "object",
        "description": "A GuestPermissionDenied exception is thrown when an\noperation fails because the authentication used\nis insufficient to perform the operation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfGuestPermissionDenied": {
        "type": "object",
        "description": "A boxed array of *GuestPermissionDenied*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestPermissionDenied"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestProcessNotFound": {
        "type": "object",
        "description": "A GuestProcessNotFound exception is thrown when an\noperation fails because the guest process specified does not exist.\n",
        "properties": {
          "pid": {
            "description": "The process ID that was not found.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "pid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfGuestProcessNotFound": {
        "type": "object",
        "description": "A boxed array of *GuestProcessNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestProcessNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegistryFault": {
        "type": "object",
        "description": "A GuestRegistryFault exception is thrown when an operation fails\nbecause of some errors in accessing/modifying the guest registry.\n",
        "properties": {
          "windowsSystemErrorCode": {
            "description": "The windows system error number from GetLastError().\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "windowsSystemErrorCode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfGuestRegistryFault": {
        "type": "object",
        "description": "A boxed array of *GuestRegistryFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegistryFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegistryKeyAlreadyExists": {
        "type": "object",
        "description": "A GuestRegistryKeyAlreadyExists exception is thrown when an operation fails\nbecause the guest registry key specified already exists.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegistryKeyFault"
          }
        ]
      },
      "ArrayOfGuestRegistryKeyAlreadyExists": {
        "type": "object",
        "description": "A boxed array of *GuestRegistryKeyAlreadyExists*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegistryKeyAlreadyExists"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegistryKeyFault": {
        "type": "object",
        "description": "A GuestRegistryKeyFault exception is thrown when an operation fails\nbecause of some errors in accessing/modifying a guest registry key.\n",
        "properties": {
          "keyName": {
            "description": "The full path to the windows registry key.\n",
            "type": "string"
          }
        },
        "required": [
          "keyName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegistryFault"
          }
        ]
      },
      "ArrayOfGuestRegistryKeyFault": {
        "type": "object",
        "description": "A boxed array of *GuestRegistryKeyFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegistryKeyFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegistryKeyHasSubkeys": {
        "type": "object",
        "description": "A GuestRegistryKeyHasSubkeys exception is thrown when an operation fails\nbecause the guest registry key has subkeys.\n\nIf a delete on the key is\ndesired, please use the recursive delete option.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegistryKeyFault"
          }
        ]
      },
      "ArrayOfGuestRegistryKeyHasSubkeys": {
        "type": "object",
        "description": "A boxed array of *GuestRegistryKeyHasSubkeys*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegistryKeyHasSubkeys"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegistryKeyInvalid": {
        "type": "object",
        "description": "A GuestRegistryKeyInvalid exception is thrown when an operation fails\nbecause the guest registry key specified was not valid (most probably\ndue to an invalid HKEY Root in the key path), or does not exist.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegistryKeyFault"
          }
        ]
      },
      "ArrayOfGuestRegistryKeyInvalid": {
        "type": "object",
        "description": "A boxed array of *GuestRegistryKeyInvalid*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegistryKeyInvalid"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegistryKeyParentVolatile": {
        "type": "object",
        "description": "A GuestRegistryKeyParentVolatile exception is thrown when trying to create\na non-volatile registry subkey under a volatile registry parent key.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegistryKeyFault"
          }
        ]
      },
      "ArrayOfGuestRegistryKeyParentVolatile": {
        "type": "object",
        "description": "A boxed array of *GuestRegistryKeyParentVolatile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegistryKeyParentVolatile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegistryValueFault": {
        "type": "object",
        "description": "A GuestRegistryValueFault exception is thrown when an operation fails\nbecause of some errors in accessing/modifying a guest registry value.\n",
        "properties": {
          "keyName": {
            "description": "The full path to the windows registry key containing the value.\n",
            "type": "string"
          },
          "valueName": {
            "description": "The name of the value.\n",
            "type": "string"
          }
        },
        "required": [
          "keyName",
          "valueName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegistryFault"
          }
        ]
      },
      "ArrayOfGuestRegistryValueFault": {
        "type": "object",
        "description": "A boxed array of *GuestRegistryValueFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegistryValueFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegistryValueNotFound": {
        "type": "object",
        "description": "A GuestRegistryValueNotFound exception is thrown when an operation fails\nbecause the guest registry Value specified was not found.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegistryValueFault"
          }
        ]
      },
      "ArrayOfGuestRegistryValueNotFound": {
        "type": "object",
        "description": "A boxed array of *GuestRegistryValueNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegistryValueNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HAErrorsAtDest": {
        "type": "object",
        "description": "The destination compute resource is HA-enabled, and HA is not running\nproperly.\n\nThis will cause the following problems:\n1\\) The VM will not have HA protection.\n2\\) If this is an intracluster VMotion, HA will not be properly\ninformed that the migration completed. This can have serious\nconsequences to the functioning of HA.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfHAErrorsAtDest": {
        "type": "object",
        "description": "A boxed array of *HAErrorsAtDest*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HAErrorsAtDest"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HeterogenousHostsBlockingEVC": {
        "type": "object",
        "description": "An attempt to enable Enhanced VMotion Compatibility on a cluster has failed\nbecause the cluster contains CPUs from more than one vendor.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/EVCConfigFault"
          }
        ]
      },
      "ArrayOfHeterogenousHostsBlockingEVC": {
        "type": "object",
        "description": "A boxed array of *HeterogenousHostsBlockingEVC*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HeterogenousHostsBlockingEVC"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAccessRestrictedToManagementServer": {
        "type": "object",
        "description": "Fault thrown when an attempt is made to adjust resource settings\ndirectly on a host that is being managed by VC.\n\nVC is currently the\nsource of truth for all resource pools on the host.\nExamples of methods affected by this are:\n- create respool\n- update respool\n- change VM resource settings.\n",
        "properties": {
          "managementServer": {
            "description": "Name/IP of the server currently managing this host.\n",
            "type": "string"
          }
        },
        "required": [
          "managementServer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupported"
          }
        ]
      },
      "ArrayOfHostAccessRestrictedToManagementServer": {
        "type": "object",
        "description": "A boxed array of *HostAccessRestrictedToManagementServer*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAccessRestrictedToManagementServer"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConfigFailed": {
        "type": "object",
        "description": "Fault to indicate configuration of the host failed.\n\nConfiguration could have failed because of multiple\nreasons and individual failures will be reported in\n\\#failure.\n",
        "properties": {
          "failure": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "failure"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfHostConfigFailed": {
        "type": "object",
        "description": "A boxed array of *HostConfigFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConfigFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConfigFault": {
        "type": "object",
        "description": "Base class for all Host configuration related faults\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfHostConfigFault": {
        "type": "object",
        "description": "A boxed array of *HostConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConnectFault": {
        "type": "object",
        "description": "A base clase for faults that are related to connecting or\nadding a host to the inventory.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfHostConnectFault": {
        "type": "object",
        "description": "A boxed array of *HostConnectFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConnectFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostHasComponentFailure": {
        "type": "object",
        "description": "The host has a component failure and thus can cause issues for VMs running or\nto be running on it.\n",
        "properties": {
          "hostName": {
            "description": "The host that has the component failure.\n",
            "type": "string"
          },
          "componentType": {
            "description": "The type of the component that has failed.\n\nValues come from *HostHasComponentFailureHostComponentType_enum*.\n",
            "type": "string"
          },
          "componentName": {
            "description": "The name of the component that has failed.\n",
            "type": "string"
          }
        },
        "required": [
          "hostName",
          "componentType",
          "componentName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfHostHasComponentFailure": {
        "type": "object",
        "description": "A boxed array of *HostHasComponentFailure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHasComponentFailure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInDomain": {
        "type": "object",
        "description": "Fault indicating that an operation cannot be performed while\nthe host is part of a Windows domain.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfHostInDomain": {
        "type": "object",
        "description": "A boxed array of *HostInDomain*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInDomain"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIncompatibleForFaultTolerance": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to configure a fault tolerant\nvirtual machine on a host that is incompatible.\n",
        "properties": {
          "hostName": {
            "type": "string"
          },
          "reason": {
            "description": "The specific reason why the host does not support fault tolerance.\n\nValues should come from *HostIncompatibleForFaultToleranceReason_enum*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfHostIncompatibleForFaultTolerance": {
        "type": "object",
        "description": "A boxed array of *HostIncompatibleForFaultTolerance*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIncompatibleForFaultTolerance"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIncompatibleForRecordReplay": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nThis fault is thrown when an attempt is made record or replay\na virtual machine on a host that is incompatible.\n",
        "properties": {
          "hostName": {
            "type": "string"
          },
          "reason": {
            "description": "The specific reason why the host does not support record/replay.\n\nValues should come from *HostIncompatibleForRecordReplayReason_enum*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfHostIncompatibleForRecordReplay": {
        "type": "object",
        "description": "A boxed array of *HostIncompatibleForRecordReplay*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIncompatibleForRecordReplay"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInventoryFull": {
        "type": "object",
        "description": "A HostInventoryFull is thrown if the inventory has reach the max capacity of hosts.\n",
        "properties": {
          "capacity": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "capacity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfHostInventoryFull": {
        "type": "object",
        "description": "A boxed array of *HostInventoryFull*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInventoryFull"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPowerOpFailed": {
        "type": "object",
        "description": "This fault is thrown when a host power operation fails.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfHostPowerOpFailed": {
        "type": "object",
        "description": "A boxed array of *HostPowerOpFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPowerOpFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSpecificationOperationFailed": {
        "type": "object",
        "description": "Fault thrown when an operation, on host specification or host sub\nspecification for a host, failed.\n",
        "properties": {
          "host": {
            "description": "The host on which host specification operation failed.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfHostSpecificationOperationFailed": {
        "type": "object",
        "description": "A boxed array of *HostSpecificationOperationFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSpecificationOperationFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HotSnapshotMoveNotSupported": {
        "type": "object",
        "description": "An attempt is being made to move a virtual machine's disk that has\nassociated snapshots, and preserving the snapshots is not supported by the\nhost because the virtual machine is currently powered on.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotCopyNotSupported"
          }
        ]
      },
      "ArrayOfHotSnapshotMoveNotSupported": {
        "type": "object",
        "description": "A boxed array of *HotSnapshotMoveNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HotSnapshotMoveNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HttpFault": {
        "type": "object",
        "description": "Generic base class for outbound HTTP communication errors.\n",
        "properties": {
          "statusCode": {
            "description": "HTTP status code received from external web-server.\n",
            "type": "integer",
            "format": "int32"
          },
          "statusMessage": {
            "description": "HTTP status message received from external web-server.\n",
            "type": "string"
          }
        },
        "required": [
          "statusCode",
          "statusMessage"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfHttpFault": {
        "type": "object",
        "description": "A boxed array of *HttpFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IDEDiskNotSupported": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of VI API 2.5, use *DeviceControllerNotSupported*.\n\nThe virtual machine uses a virtual disk with an IDE controller, but this\nis not supported on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DiskNotSupported"
          }
        ]
      },
      "ArrayOfIDEDiskNotSupported": {
        "type": "object",
        "description": "A boxed array of *IDEDiskNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IDEDiskNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IORMNotSupportedHostOnDatastore": {
        "type": "object",
        "description": "A IORMNotSupportedHostOnDatastore fault occurs when the datastore is connected\nto one or more hosts that do not support storage I/O resource management.\n",
        "properties": {
          "datastore": {
            "description": "The datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastoreName": {
            "description": "The name of the datastore.\n",
            "type": "string"
          },
          "host": {
            "description": "The list of hosts that do not support storage I/O\nresource management.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "datastore",
          "datastoreName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfIORMNotSupportedHostOnDatastore": {
        "type": "object",
        "description": "A boxed array of *IORMNotSupportedHostOnDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IORMNotSupportedHostOnDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ImportHostAddFailure": {
        "type": "object",
        "description": "Thrown if failure occurs while adding host to DVS during import operation\n",
        "properties": {
          "hostIp": {
            "description": "Hosts on which import operation failed\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "hostIp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfImportHostAddFailure": {
        "type": "object",
        "description": "A boxed array of *ImportHostAddFailure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportHostAddFailure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ImportOperationBulkFault": {
        "type": "object",
        "description": "Thrown if a Import operation fails\n",
        "properties": {
          "importFaults": {
            "description": "Faults occurred during the import operation\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportOperationBulkFaultFaultOnImport"
            }
          }
        },
        "required": [
          "importFaults"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfImportOperationBulkFault": {
        "type": "object",
        "description": "A boxed array of *ImportOperationBulkFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportOperationBulkFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ImportOperationBulkFaultFaultOnImport": {
        "type": "object",
        "description": "The fault occurred on the entity during an import operation.\n",
        "properties": {
          "entityType": {
            "description": "The entity type on which import failed.\n\nSee *EntityType_enum*\nfor valid values\n",
            "type": "string"
          },
          "key": {
            "description": "The key on which import failed\n",
            "type": "string"
          },
          "fault": {
            "description": "The fault that occurred.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfImportOperationBulkFaultFaultOnImport": {
        "type": "object",
        "description": "A boxed array of *ImportOperationBulkFaultFaultOnImport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportOperationBulkFaultFaultOnImport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InUseFeatureManipulationDisallowed": {
        "type": "object",
        "description": "A InUseFeatureManipulationDisallowed fault is thrown if an Vim.LicenseAssignmentManager.SetFeatureInUse or Vim.LicenseAssignmentManager.ResetFeatureInUse call can not complete because a feature is not available or the manipulation is not allowed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfInUseFeatureManipulationDisallowed": {
        "type": "object",
        "description": "A boxed array of *InUseFeatureManipulationDisallowed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InUseFeatureManipulationDisallowed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InaccessibleDatastore": {
        "type": "object",
        "description": "An InaccessibleDatastore exception is thrown if the datastore corresponding to the\ngiven datastore path isn't currently accessible.\n",
        "properties": {
          "detail": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDatastore"
          }
        ]
      },
      "ArrayOfInaccessibleDatastore": {
        "type": "object",
        "description": "A boxed array of *InaccessibleDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InaccessibleDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InaccessibleFTMetadataDatastore": {
        "type": "object",
        "description": "An InaccessibleFTMetadataDatastore exception is thrown if the datastore\ncorresponding to the specified FT Metadata Datastore path isn't currently\naccessible.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InaccessibleDatastore"
          }
        ]
      },
      "ArrayOfInaccessibleFTMetadataDatastore": {
        "type": "object",
        "description": "A boxed array of *InaccessibleFTMetadataDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InaccessibleFTMetadataDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InaccessibleVFlashSource": {
        "type": "object",
        "description": "An InaccessibleVFlashSource exception is thrown when\nan attempt is made to access the vFlash resource on\nthe host, such as creating vFlash cache file for the\nvirtual disk.\n",
        "properties": {
          "hostName": {
            "description": "Name of the host which has the vFlash resource\n",
            "type": "string"
          }
        },
        "required": [
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInaccessibleVFlashSource": {
        "type": "object",
        "description": "A boxed array of *InaccessibleVFlashSource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InaccessibleVFlashSource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IncompatibleDefaultDevice": {
        "type": "object",
        "description": "A default device (see *VirtualMachineConfigOption.defaultDevice* for a\ndefinition) which the virtual machine is using is incompatible with\nthe corresponding default device which will be created on the target host.\n\nThis is an issue with powered-on or suspended migration under some\ncircumstances. The problem is that in cases where the virtual machine\nmust be recreated, it will have the default device created with default\nsettings that are appropriate for the target host. If those are not\ncompatible with the settings for that device that the virtual machine is currently\nusing, then resuming the virtual machine on the target host might fail.\n\nThis might happen if the device in question were reconfigured or the default\nis different between the source and the destination host. An example of\na default device and associated setting which might cause this is\n*VirtualMachineVideoCard.videoRamSizeInKB*.\nThis is an error.\n",
        "properties": {
          "device": {
            "description": "The label of the device.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfIncompatibleDefaultDevice": {
        "type": "object",
        "description": "A boxed array of *IncompatibleDefaultDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncompatibleDefaultDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IncompatibleHostForFtSecondary": {
        "type": "object",
        "description": "The IncompatibleHostForFtSecondary fault is thrown when an invalid\nhost has been specified when calling *VirtualMachine.CreateSecondaryVM_Task*\nor *VirtualMachine.EnableSecondaryVM_Task*.\n",
        "properties": {
          "host": {
            "description": "The host that is not compatible with the secondary virtual machine.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "error": {
            "description": "Information on why the host that was specified could not be used for\nthe FaultTolerance Secondary VirtualMachine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfIncompatibleHostForFtSecondary": {
        "type": "object",
        "description": "A boxed array of *IncompatibleHostForFtSecondary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncompatibleHostForFtSecondary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IncompatibleHostForVmReplication": {
        "type": "object",
        "description": "A IncompatibleHostForVmReplication is thrown when a VM is powered\non or migrated to a host which does not support the replication\nconfiguration of the VM.\n",
        "properties": {
          "vmName": {
            "description": "The VM which has replication configured\n",
            "type": "string"
          },
          "hostName": {
            "description": "The host which is incompatible for VM replication\n",
            "type": "string"
          },
          "reason": {
            "description": "The reason why the host is incompatible\n",
            "type": "string"
          }
        },
        "required": [
          "vmName",
          "hostName",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ReplicationFault"
          }
        ]
      },
      "ArrayOfIncompatibleHostForVmReplication": {
        "type": "object",
        "description": "A boxed array of *IncompatibleHostForVmReplication*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncompatibleHostForVmReplication"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IncompatibleSetting": {
        "type": "object",
        "description": "Thrown when two parameters in the customization settings conflict with each other.\n\nFor example, a client may not specify both a Workgroup and a DomainName.\n",
        "properties": {
          "conflictingProperty": {
            "description": "The name of the setting that is conflicting.\n",
            "type": "string"
          }
        },
        "required": [
          "conflictingProperty"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidArgument"
          }
        ]
      },
      "ArrayOfIncompatibleSetting": {
        "type": "object",
        "description": "A boxed array of *IncompatibleSetting*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncompatibleSetting"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IncorrectFileType": {
        "type": "object",
        "description": "Thrown when an operation fails because the files do not match a\nspecified file type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfIncorrectFileType": {
        "type": "object",
        "description": "A boxed array of *IncorrectFileType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncorrectFileType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IncorrectHostInformation": {
        "type": "object",
        "description": "A IncorrectHostInformation is thrown if the host does not provide the information\nneeded to acquire the correct set of licenses.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfIncorrectHostInformation": {
        "type": "object",
        "description": "A boxed array of *IncorrectHostInformation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncorrectHostInformation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IndependentDiskVMotionNotSupported": {
        "type": "object",
        "description": "An operation on a powered-on virtual machine requests that the virtual\nmachine's disks be moved without choosing a new home datastore for the\nvirtual machine, but the host does not have that capability.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFeatureNotSupported"
          }
        ]
      },
      "ArrayOfIndependentDiskVMotionNotSupported": {
        "type": "object",
        "description": "A boxed array of *IndependentDiskVMotionNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndependentDiskVMotionNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientAgentVmsDeployed": {
        "type": "object",
        "description": "This fault is returned when the required number of deployed agent virtual\nmachines is not currently deployed on a host and hence the host cannot be\nused to run client virtual machines.\n",
        "properties": {
          "hostName": {
            "type": "string"
          },
          "requiredNumAgentVms": {
            "description": "The number of agent virtual machines required to be deployed on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "currentNumAgentVms": {
            "description": "The number of agent virtual machines currently deployed on the host.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "hostName",
          "requiredNumAgentVms",
          "currentNumAgentVms"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientAgentVmsDeployed": {
        "type": "object",
        "description": "A boxed array of *InsufficientAgentVmsDeployed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientAgentVmsDeployed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientCpuResourcesFault": {
        "type": "object",
        "description": "CPU resources admission control failed\n",
        "properties": {
          "unreserved": {
            "description": "The CPU available in the resource pool requested in MHz.\n",
            "type": "integer",
            "format": "int64"
          },
          "requested": {
            "description": "The CPU resource amount requested in the failed operation in MHz.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "unreserved",
          "requested"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientCpuResourcesFault": {
        "type": "object",
        "description": "A boxed array of *InsufficientCpuResourcesFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientCpuResourcesFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientDisks": {
        "type": "object",
        "description": "Fault used to denote an insufficient group of disks for a given operation.\n\nSee also *HostVsanSystem.AddDisks_Task*, *HostVsanSystem.InitializeDisks_Task*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanDiskFault"
          }
        ]
      },
      "ArrayOfInsufficientDisks": {
        "type": "object",
        "description": "A boxed array of *InsufficientDisks*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientDisks"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientFailoverResourcesFault": {
        "type": "object",
        "description": "This is thrown if an operation would violate the configured failover level of a HA\ncluster.\n\nIn a HA cluster, virtual machines provide high availability by moving among physical\nmachines in the event of a failure. HA Admission Control ensures that the total\nresource requirements for the set of virtual machines in a HA cluster does not exceed\nthe resources that would be available in the worst-case scenario failure. If HA\nAdmission Control is not used, physical machines may have insufficient resources to\nprovide the expected level of service.\n\nThis fault indicates that the virtual machine operation you attempted would have\ncreated a situation where the remaining physical machines would not meet the needs of\nthe virtual machines in the event of a failure.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientFailoverResourcesFault": {
        "type": "object",
        "description": "A boxed array of *InsufficientFailoverResourcesFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientFailoverResourcesFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientGraphicsResourcesFault": {
        "type": "object",
        "description": "Graphics resources admission control failed\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientGraphicsResourcesFault": {
        "type": "object",
        "description": "A boxed array of *InsufficientGraphicsResourcesFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientGraphicsResourcesFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientHostCapacityFault": {
        "type": "object",
        "description": "The host does not have enough capacity for running the virtual machine.\n",
        "properties": {
          "host": {
            "description": "The host which does not have the enough capacity.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientHostCapacityFault": {
        "type": "object",
        "description": "A boxed array of *InsufficientHostCapacityFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientHostCapacityFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientHostCpuCapacityFault": {
        "type": "object",
        "description": "The host does not have enough CPU capacity for running the virtual machine.\n",
        "properties": {
          "unreserved": {
            "description": "The CPU available on the host in MHz.\n",
            "type": "integer",
            "format": "int64"
          },
          "requested": {
            "description": "The CPU resource amount requested in the failed operation in MHz.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "unreserved",
          "requested"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientHostCapacityFault"
          }
        ]
      },
      "ArrayOfInsufficientHostCpuCapacityFault": {
        "type": "object",
        "description": "A boxed array of *InsufficientHostCpuCapacityFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientHostCpuCapacityFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientHostMemoryCapacityFault": {
        "type": "object",
        "description": "The host does not have enough memory capacity for running the virtual machine.\n",
        "properties": {
          "unreserved": {
            "description": "The memory available on the host in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "requested": {
            "description": "The memory resource amount requested in the failed operation in bytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "unreserved",
          "requested"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientHostCapacityFault"
          }
        ]
      },
      "ArrayOfInsufficientHostMemoryCapacityFault": {
        "type": "object",
        "description": "A boxed array of *InsufficientHostMemoryCapacityFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientHostMemoryCapacityFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientMemoryResourcesFault": {
        "type": "object",
        "description": "Memory resource admission control failed\n",
        "properties": {
          "unreserved": {
            "description": "The memory available in the resource pool requested in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "requested": {
            "description": "The memory resource amount requested in the failed operation in bytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "unreserved",
          "requested"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientMemoryResourcesFault": {
        "type": "object",
        "description": "A boxed array of *InsufficientMemoryResourcesFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientMemoryResourcesFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientNetworkCapacity": {
        "type": "object",
        "description": "The host does not have enough network capacity for running the virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientNetworkCapacity": {
        "type": "object",
        "description": "A boxed array of *InsufficientNetworkCapacity*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientNetworkCapacity"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientNetworkResourcePoolCapacity": {
        "type": "object",
        "description": "Insufficient network resource pool bandwidth\n",
        "properties": {
          "dvsName": {
            "description": "Distributed Virtual Switch containing the resource pool\nhaving unsufficient network bandwitdh.\n",
            "type": "string"
          },
          "dvsUuid": {
            "description": "UUID of the distributed Virtual Switch containing the resource pool\nhaving unsufficient network bandwitdh.\n",
            "type": "string"
          },
          "resourcePoolKey": {
            "description": "Key of the resource pool on which network bandwidth is requested.\n",
            "type": "string"
          },
          "available": {
            "description": "Network bandwidth available (in MBs) in the requested resource pool.\n",
            "type": "integer",
            "format": "int64"
          },
          "requested": {
            "description": "Network bandwidth amount requested (in MBs).\n",
            "type": "integer",
            "format": "int64"
          },
          "device": {
            "description": "List of network devices that are requesting or already have requested\nbandwidth on the network resource pool.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "dvsName",
          "dvsUuid",
          "resourcePoolKey",
          "available",
          "requested",
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientNetworkResourcePoolCapacity": {
        "type": "object",
        "description": "A boxed array of *InsufficientNetworkResourcePoolCapacity*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientNetworkResourcePoolCapacity"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientPerCpuCapacity": {
        "type": "object",
        "description": "The host does not have enough per CPU capacity.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientHostCapacityFault"
          }
        ]
      },
      "ArrayOfInsufficientPerCpuCapacity": {
        "type": "object",
        "description": "A boxed array of *InsufficientPerCpuCapacity*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientPerCpuCapacity"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientResourcesFault": {
        "type": "object",
        "description": "Base fault that occurs when an operation conflicts with a resource configuration\npolicy.\n\nFor example, this fault occurs if a power-on operation reserves more memory\nthan is allocated to a resource pool.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInsufficientResourcesFault": {
        "type": "object",
        "description": "A boxed array of *InsufficientResourcesFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientResourcesFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientStandbyCpuResource": {
        "type": "object",
        "description": "This fault is thrown when Distributed Power Management cannot perform\na given opeartion because there is insufficient CPU resource\non standby hosts (if any) to meet the requirements of the operation.\n",
        "properties": {
          "available": {
            "description": "The total amount of CPU resource available (in MHz) on all the usable hosts\nin the cluster (including powered on and standby hosts).\n",
            "type": "integer",
            "format": "int64"
          },
          "requested": {
            "description": "The additional amount of CPU resource (other than that on the hosts included\nin \"available\") needed (in MHz).\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "available",
          "requested"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientStandbyResource"
          }
        ]
      },
      "ArrayOfInsufficientStandbyCpuResource": {
        "type": "object",
        "description": "A boxed array of *InsufficientStandbyCpuResource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientStandbyCpuResource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientStandbyMemoryResource": {
        "type": "object",
        "description": "This fault is thrown by Distributed Power Management algorithm.\n\nIt indicates\nthat there are insufficient memory resources on standby hosts (if any)\nto meet the requirements of a given operation.\n",
        "properties": {
          "available": {
            "description": "The total amount of memory resource available (in bytes) on all the usable hosts\nin the cluster (including powered on and standby hosts).\n",
            "type": "integer",
            "format": "int64"
          },
          "requested": {
            "description": "The additional amount of memory resource (other than that on the hosts included\nin \"available\") needed (in bytes).\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "available",
          "requested"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientStandbyResource"
          }
        ]
      },
      "ArrayOfInsufficientStandbyMemoryResource": {
        "type": "object",
        "description": "A boxed array of *InsufficientStandbyMemoryResource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientStandbyMemoryResource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientStandbyResource": {
        "type": "object",
        "description": "This fault is thrown when Distributed Power Management cannot perform\na given opeartion because there are insufficient CPU/memory resources\non standby hosts (if any) to meet the requirements of the operation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientStandbyResource": {
        "type": "object",
        "description": "A boxed array of *InsufficientStandbyResource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientStandbyResource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientStorageIops": {
        "type": "object",
        "description": "The datastore does not have enough IOPs capacity for running the virtual machine.\n",
        "properties": {
          "unreservedIops": {
            "description": "The IOPs available on the datastore\n",
            "type": "integer",
            "format": "int64"
          },
          "requestedIops": {
            "description": "The IOPs resource amount requested in the failed operation\n",
            "type": "integer",
            "format": "int64"
          },
          "datastoreName": {
            "description": "Name of the datastore with insufficient capacity\n",
            "type": "string"
          }
        },
        "required": [
          "unreservedIops",
          "requestedIops",
          "datastoreName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInsufficientStorageIops": {
        "type": "object",
        "description": "A boxed array of *InsufficientStorageIops*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientStorageIops"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientStorageSpace": {
        "type": "object",
        "description": "The fault occurs when Storage DRS cannot perform a given operation (e.g., fix the\nout of space condition, or place a virtual disk) because there is insufficient\nstorage space in the given storage pod to meet the requirements of the operation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientStorageSpace": {
        "type": "object",
        "description": "A boxed array of *InsufficientStorageSpace*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientStorageSpace"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InsufficientVFlashResourcesFault": {
        "type": "object",
        "description": "Insufficient vFlash resource to consume\n",
        "properties": {
          "freeSpaceInMB": {
            "description": "The vFlash resource available capacity in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "freeSpace": {
            "description": "The vFlash resource available capacity in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "requestedSpaceInMB": {
            "description": "The vFlash resource amount requested in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "requestedSpace": {
            "description": "The vFlash resource amount requested in bytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "freeSpace",
          "requestedSpace"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInsufficientVFlashResourcesFault": {
        "type": "object",
        "description": "A boxed array of *InsufficientVFlashResourcesFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsufficientVFlashResourcesFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidAffinitySettingFault": {
        "type": "object",
        "description": "An InvalidAffinitySettingsFault is thrown if an invalid affinity setting is\nspecified for a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidAffinitySettingFault": {
        "type": "object",
        "description": "A boxed array of *InvalidAffinitySettingFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidAffinitySettingFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidBmcRole": {
        "type": "object",
        "description": "An InvalidBmcRole fault is thrown when a BMC user doesn't have the necessary\nprivileges.\n\nBMC (Board Management Controller) is a piece of hardware required for\nIPMI.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidBmcRole": {
        "type": "object",
        "description": "A boxed array of *InvalidBmcRole*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidBmcRole"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidBundle": {
        "type": "object",
        "description": "An Invalid Bundle fault is thrown if an operation fails because of a\nproblem with the supplied bundle.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PlatformConfigFault"
          }
        ]
      },
      "ArrayOfInvalidBundle": {
        "type": "object",
        "description": "A boxed array of *InvalidBundle*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidBundle"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidCAMCertificate": {
        "type": "object",
        "description": "Fault indicating that the CAM server's certificate\ncannot be verified.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidCAMServer"
          }
        ]
      },
      "ArrayOfInvalidCAMCertificate": {
        "type": "object",
        "description": "A boxed array of *InvalidCAMCertificate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidCAMCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidCAMServer": {
        "type": "object",
        "description": "Fault indicating that the CAM server\nfor camServer cannot be reached,\nor is not a valid IP address.\n",
        "properties": {
          "camServer": {
            "description": "The address of the CAM server.\n",
            "type": "string"
          }
        },
        "required": [
          "camServer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ActiveDirectoryFault"
          }
        ]
      },
      "ArrayOfInvalidCAMServer": {
        "type": "object",
        "description": "A boxed array of *InvalidCAMServer*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidCAMServer"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidClientCertificate": {
        "type": "object",
        "description": "This exception is thrown when a client has provided a\ncertificate that fails certificate validation at the server.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidLogin"
          }
        ]
      },
      "ArrayOfInvalidClientCertificate": {
        "type": "object",
        "description": "A boxed array of *InvalidClientCertificate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidClientCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidController": {
        "type": "object",
        "description": "An InvalidController exception is thrown if\na device refers to a controller that cannot be found.\n\nFor example, an exception might be thrown if the client\nincorrectly passes a controller key,\nor if the client did not specify a controller where one is\nrequired (such as for disks or CD-ROMs).\n",
        "properties": {
          "controllerKey": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "controllerKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDeviceSpec"
          }
        ]
      },
      "ArrayOfInvalidController": {
        "type": "object",
        "description": "A boxed array of *InvalidController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDasConfigArgument": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to configure an HA cluster with\ninvalid argument.\n",
        "properties": {
          "entry": {
            "description": "The entry for the invalid argument\n",
            "type": "string"
          },
          "clusterName": {
            "description": "Name of the cluster to be configured\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidArgument"
          }
        ]
      },
      "ArrayOfInvalidDasConfigArgument": {
        "type": "object",
        "description": "A boxed array of *InvalidDasConfigArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDasConfigArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDasRestartPriorityForFtVm": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to set the DAS restart\npriority of a FT VM to disabled.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "The name of the virtual machine\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidArgument"
          }
        ]
      },
      "ArrayOfInvalidDasRestartPriorityForFtVm": {
        "type": "object",
        "description": "A boxed array of *InvalidDasRestartPriorityForFtVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDasRestartPriorityForFtVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDatastore": {
        "type": "object",
        "description": "An InvalidDatastore exception is thrown if an operation fails because of a\nproblem with the specified datastore.\n\nTypically, a subclass of this\nexception is thrown, indicating a problem such as an inaccessible datastore\nor an invalid datastore path.\n",
        "properties": {
          "datastore": {
            "description": "The datastore that is invalid.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "The name of the datastore that is invalid.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidDatastore": {
        "type": "object",
        "description": "A boxed array of *InvalidDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDatastorePath": {
        "type": "object",
        "description": "An InvalidDatastorePath exception is thrown if a datastore path violates\nthe expected format.\n\nThe expected format is \"\\[dsName\\] path\", e.g.\n\"\\[storage1\\] folder/Vm1.vmdk\". This exception is also thrown if a datastore\ncorresponding to the given datastore path is not found.\n",
        "properties": {
          "datastorePath": {
            "description": "The invalid datastore path name, if one was provided.\n",
            "type": "string"
          }
        },
        "required": [
          "datastorePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDatastore"
          }
        ]
      },
      "ArrayOfInvalidDatastorePath": {
        "type": "object",
        "description": "A boxed array of *InvalidDatastorePath*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDatastorePath"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDatastoreState": {
        "type": "object",
        "description": "The datastore is in an invalid state (e.g., maintenance mode)\nfor a given operation.\n",
        "properties": {
          "datastoreName": {
            "description": "The name of the datastore.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfInvalidDatastoreState": {
        "type": "object",
        "description": "A boxed array of *InvalidDatastoreState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDatastoreState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDeviceBacking": {
        "type": "object",
        "description": "An InvalidDeviceBacking exception is thrown if\na device with an incompatible\ndevice backing is added or edited.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDeviceSpec"
          }
        ]
      },
      "ArrayOfInvalidDeviceBacking": {
        "type": "object",
        "description": "A boxed array of *InvalidDeviceBacking*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDeviceBacking"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDeviceOperation": {
        "type": "object",
        "description": "An InvalidDeviceOperation exception is thrown if\nvirtual machine creation or configuration fails because an invalid\noperation is attempted on the given device.\n",
        "properties": {
          "badOp": {
            "description": "The invalid operation attempted.\n",
            "$ref": "#/components/schemas/VirtualDeviceConfigSpecOperation_enum"
          },
          "badFileOp": {
            "description": "The invalid file operation attempted.\n",
            "$ref": "#/components/schemas/VirtualDeviceConfigSpecFileOperation_enum"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDeviceSpec"
          }
        ]
      },
      "ArrayOfInvalidDeviceOperation": {
        "type": "object",
        "description": "A boxed array of *InvalidDeviceOperation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDeviceOperation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDeviceSpec": {
        "type": "object",
        "description": "An InvalidDeviceSpec exception is thrown if\na virtual machine creation or configuration fails because a device\nspecification contains an invalid value.\n",
        "properties": {
          "deviceIndex": {
            "description": "Index of the device in the configuration specification that has the invalid value.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "deviceIndex"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidVmConfig"
          }
        ]
      },
      "ArrayOfInvalidDeviceSpec": {
        "type": "object",
        "description": "A boxed array of *InvalidDeviceSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDeviceSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDiskFormat": {
        "type": "object",
        "description": "The disk format is either corrupted or not supported.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidFormat"
          }
        ]
      },
      "ArrayOfInvalidDiskFormat": {
        "type": "object",
        "description": "A boxed array of *InvalidDiskFormat*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDiskFormat"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidDrsBehaviorForFtVm": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to set the DRS behavior\nof an FT VM to an unsupported value.\n\nCurrently, the only supported\nbehavior is **DRS Disabled**.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "The name of the virtual machine\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidArgument"
          }
        ]
      },
      "ArrayOfInvalidDrsBehaviorForFtVm": {
        "type": "object",
        "description": "A boxed array of *InvalidDrsBehaviorForFtVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidDrsBehaviorForFtVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidEditionLicense": {
        "type": "object",
        "description": "An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license\n'feature failed for count 'count'.\n",
        "properties": {
          "feature": {
            "type": "string"
          }
        },
        "required": [
          "feature"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfInvalidEditionLicense": {
        "type": "object",
        "description": "A boxed array of *InvalidEditionLicense*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidEditionLicense"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidEvent": {
        "type": "object",
        "description": "A InvalidEvent fault is thrown when the event\nis malformed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidEvent": {
        "type": "object",
        "description": "A boxed array of *InvalidEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidFolder": {
        "type": "object",
        "description": "An InvalidFolderFault exception is thrown when a\nnode is moved to an invalid place in the hierarchy.\n\nThis can be because it is a child of the current node,\nor a wrong kind of container.\n",
        "properties": {
          "target": {
            "description": "Reference to invalid target.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "target"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidFolder": {
        "type": "object",
        "description": "A boxed array of *InvalidFolder*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidFolder"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidFormat": {
        "type": "object",
        "description": "Throws when an invalid format is detected.\n\nFor example, when\na virtual machine is registered and the system is unable to parse\nthe files as a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfInvalidFormat": {
        "type": "object",
        "description": "A boxed array of *InvalidFormat*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidFormat"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidGuestLogin": {
        "type": "object",
        "description": "An InvalidGuestLogin exception is thrown when an operation fails because\nauthentication information used to authenticate with the guest was not\naccepted.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfInvalidGuestLogin": {
        "type": "object",
        "description": "A boxed array of *InvalidGuestLogin*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidGuestLogin"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidHostConnectionState": {
        "type": "object",
        "description": "The host has an invalid connection state.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidHostState"
          }
        ]
      },
      "ArrayOfInvalidHostConnectionState": {
        "type": "object",
        "description": "A boxed array of *InvalidHostConnectionState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidHostConnectionState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidHostName": {
        "type": "object",
        "description": "The attempted operation requires that the host has a suitable FQDN.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfInvalidHostName": {
        "type": "object",
        "description": "A boxed array of *InvalidHostName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidHostName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidHostState": {
        "type": "object",
        "description": "The host has an invalid state.\n",
        "properties": {
          "host": {
            "description": "The host that has an invalid state.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfInvalidHostState": {
        "type": "object",
        "description": "A boxed array of *InvalidHostState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidHostState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidIndexArgument": {
        "type": "object",
        "description": "An InvalidIndexArgument exception is thrown if the\nindex was not found\n",
        "properties": {
          "key": {
            "description": "Value of index that was not found\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidArgument"
          }
        ]
      },
      "ArrayOfInvalidIndexArgument": {
        "type": "object",
        "description": "A boxed array of *InvalidIndexArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidIndexArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidIpfixConfig": {
        "type": "object",
        "description": "Illegal value specified for a property of the switch's IpfixConfig.\n",
        "properties": {
          "property": {
            "description": "Path of the property in IpfixConfig that has an invalid value.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfInvalidIpfixConfig": {
        "type": "object",
        "description": "A boxed array of *InvalidIpfixConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidIpfixConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidIpmiLoginInfo": {
        "type": "object",
        "description": "A InvalidIpmiLoginInfo fault is thrown when the IPMI user name and/or password is\ninvalid.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidIpmiLoginInfo": {
        "type": "object",
        "description": "A boxed array of *InvalidIpmiLoginInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidIpmiLoginInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidIpmiMacAddress": {
        "type": "object",
        "description": "A InvalidIpmiMacAddress fault is thrown when the IPMI mac address provided by the\nuser doesn't match with the observed mac address on the host.\n",
        "properties": {
          "userProvidedMacAddress": {
            "type": "string"
          },
          "observedMacAddress": {
            "type": "string"
          }
        },
        "required": [
          "userProvidedMacAddress",
          "observedMacAddress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidIpmiMacAddress": {
        "type": "object",
        "description": "A boxed array of *InvalidIpmiMacAddress*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidIpmiMacAddress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidLicense": {
        "type": "object",
        "description": "Thrown when\nan attempt is made to upload license content\nthat is invalid.\n",
        "properties": {
          "licenseContent": {
            "description": "The content of the license being reported as invalid.\n",
            "type": "string"
          }
        },
        "required": [
          "licenseContent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidLicense": {
        "type": "object",
        "description": "A boxed array of *InvalidLicense*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidLicense"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidLocale": {
        "type": "object",
        "description": "Thrown when a locale name is unknown or invalid.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidLocale": {
        "type": "object",
        "description": "A boxed array of *InvalidLocale*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidLocale"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidLogin": {
        "type": "object",
        "description": "Thrown when a server logon fails due to a bad user name or\npassword.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidLogin": {
        "type": "object",
        "description": "A boxed array of *InvalidLogin*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidLogin"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidName": {
        "type": "object",
        "description": "A InvalidName fault is thrown when the name\ncontains an invalid character or format.\n",
        "properties": {
          "name": {
            "description": "The invalid name.\n",
            "type": "string"
          },
          "entity": {
            "description": "Entity, if any, that has an invalid name.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidName": {
        "type": "object",
        "description": "A boxed array of *InvalidName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidNasCredentials": {
        "type": "object",
        "description": "This fault is thrown when an operation to configure a CIFS volume\nfails because the credentials specified in the\n*spec* are incorrect.\n",
        "properties": {
          "userName": {
            "description": "The username associated with the CIFS connection.\n",
            "type": "string"
          }
        },
        "required": [
          "userName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NasConfigFault"
          }
        ]
      },
      "ArrayOfInvalidNasCredentials": {
        "type": "object",
        "description": "A boxed array of *InvalidNasCredentials*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidNasCredentials"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidNetworkInType": {
        "type": "object",
        "description": "The network specified in the property does not exists.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppPropertyFault"
          }
        ]
      },
      "ArrayOfInvalidNetworkInType": {
        "type": "object",
        "description": "A boxed array of *InvalidNetworkInType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidNetworkInType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidNetworkResource": {
        "type": "object",
        "description": "This fault is thrown when an operation to configure a NAS volume fails\nbecause the network resource specified is invalid.\n",
        "properties": {
          "remoteHost": {
            "description": "The host that runs the CIFS or NFS server.\n",
            "type": "string"
          },
          "remotePath": {
            "description": "The remote share.\n",
            "type": "string"
          }
        },
        "required": [
          "remoteHost",
          "remotePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NasConfigFault"
          }
        ]
      },
      "ArrayOfInvalidNetworkResource": {
        "type": "object",
        "description": "A boxed array of *InvalidNetworkResource*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidNetworkResource"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidOperationOnSecondaryVm": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to invoke an operation on\na secondary virtual machine that is only supported on the primary virtual\nmachine of the fault tolerant group.\n",
        "properties": {
          "instanceUuid": {
            "description": "Instance UUID of the secondary virtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfInvalidOperationOnSecondaryVm": {
        "type": "object",
        "description": "A boxed array of *InvalidOperationOnSecondaryVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidOperationOnSecondaryVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidPowerState": {
        "type": "object",
        "description": "This exception is thrown if the\npower operation attempted could not be performed given\nthe current power state of the virtual machine.\n",
        "properties": {
          "requestedState": {
            "description": "Power state of the virtual machine required to\nallow the operation to succeed.\n",
            "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
          },
          "existingState": {
            "description": "Power state of the virtual machine that\nprevented the operation from succeeding.\n",
            "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
          }
        },
        "required": [
          "existingState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfInvalidPowerState": {
        "type": "object",
        "description": "A boxed array of *InvalidPowerState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidPowerState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidPrivilege": {
        "type": "object",
        "description": "A InvalidPrivilege fault is thrown when the privilege\ndoes not exist.\n",
        "properties": {
          "privilege": {
            "description": "The invalid privilege.\n",
            "type": "string"
          }
        },
        "required": [
          "privilege"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidPrivilege": {
        "type": "object",
        "description": "A boxed array of *InvalidPrivilege*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidPrivilege"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidProfileReferenceHost": {
        "type": "object",
        "description": "A InvalidProfileReferenceHost fault is thrown when a valid host is not\nassociated with a profile in the Virtual Center inventory.\n\nThis could\nbe because there is no host assciated with the profile or because the\nassociated host is incompatible with the profile.\n",
        "properties": {
          "reason": {
            "description": "The reason for the invalid reference host if known.\n",
            "type": "string"
          },
          "host": {
            "description": "The incompatible host if associated with the profile.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "profile": {
            "description": "The profile with the invalid or missing reference host.\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "profileName": {
            "description": "The profile name: the replacement of the member above.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfInvalidProfileReferenceHost": {
        "type": "object",
        "description": "A boxed array of *InvalidProfileReferenceHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidProfileReferenceHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidPropertyType": {
        "type": "object",
        "description": "The type specification in the property in invalid.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppPropertyFault"
          }
        ]
      },
      "ArrayOfInvalidPropertyType": {
        "type": "object",
        "description": "A boxed array of *InvalidPropertyType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidPropertyType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidPropertyValue": {
        "type": "object",
        "description": "The value of the property is not valid given the type of the property.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppPropertyFault"
          }
        ]
      },
      "ArrayOfInvalidPropertyValue": {
        "type": "object",
        "description": "A boxed array of *InvalidPropertyValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidPropertyValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidResourcePoolStructureFault": {
        "type": "object",
        "description": "This fault is thrown when an operation will cause the structure of a resource\npool hiearchy to exceed its limit.\n\nThe limits are typically imposed by the total\nnumber of nodes, maximum fan-out, and total depth of the hierarchy.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfInvalidResourcePoolStructureFault": {
        "type": "object",
        "description": "A boxed array of *InvalidResourcePoolStructureFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidResourcePoolStructureFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidScheduledTask": {
        "type": "object",
        "description": "This exception is thrown when an unauthorized\nuser runs a scheduled task.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfInvalidScheduledTask": {
        "type": "object",
        "description": "A boxed array of *InvalidScheduledTask*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidScheduledTask"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidSnapshotFormat": {
        "type": "object",
        "description": "Thrown when an invalid snapshot configuration is detected.\n\nFor\nexample, when a virtual machine's snapshot tree includes\nsnapshots that are no longer present.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidFormat"
          }
        ]
      },
      "ArrayOfInvalidSnapshotFormat": {
        "type": "object",
        "description": "A boxed array of *InvalidSnapshotFormat*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidSnapshotFormat"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidState": {
        "type": "object",
        "description": "An InvalidState fault is thrown if the\noperation failed due to the current state of the system.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfInvalidState": {
        "type": "object",
        "description": "A boxed array of *InvalidState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidVmConfig": {
        "type": "object",
        "description": "Thrown when virtual machine creation or configuration fails.\n\nThis is\na base type for all virtual machine configuration errors.\n",
        "properties": {
          "property": {
            "description": "Path of the property in configSpec that has an invalid value.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfInvalidVmConfig": {
        "type": "object",
        "description": "A boxed array of *InvalidVmConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidVmConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidVmState": {
        "type": "object",
        "description": "The VM has an invalid state.\n",
        "properties": {
          "vm": {
            "description": "The VM that has an invalid state.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfInvalidVmState": {
        "type": "object",
        "description": "A boxed array of *InvalidVmState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidVmState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InventoryHasStandardAloneHosts": {
        "type": "object",
        "description": "A InventoryHasStandardAloneHosts fault is thrown if an assignment operation tries to downgrade a license that does have allow hosts licensed with StandardAlone license in the inventory.\n",
        "properties": {
          "hosts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "hosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfInventoryHasStandardAloneHosts": {
        "type": "object",
        "description": "A boxed array of *InventoryHasStandardAloneHosts*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InventoryHasStandardAloneHosts"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IpHostnameGeneratorError": {
        "type": "object",
        "description": "An error occurred while running the IP/hostname generator application\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfIpHostnameGeneratorError": {
        "type": "object",
        "description": "A boxed array of *IpHostnameGeneratorError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpHostnameGeneratorError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFault": {
        "type": "object",
        "description": "Base class for faults that can be thrown while invoking iSCSI management operations.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfIscsiFault": {
        "type": "object",
        "description": "A boxed array of *IscsiFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultInvalidVnic": {
        "type": "object",
        "description": "This fault indicates an attempt is made to bind a Virtual NIC to an iSCSI adapter\nwhere the Virtual NIC has no association with the adapter.\n\nFor ex: The uplink for\nthe given Virtual NIC is not valid for the iSCSI HBA.\n",
        "properties": {
          "vnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultInvalidVnic": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultInvalidVnic*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultInvalidVnic"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultPnicInUse": {
        "type": "object",
        "description": "This fault indicates the given Physical NIC is being used by iSCSI HBA.\n",
        "properties": {
          "pnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "pnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultPnicInUse": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultPnicInUse*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultPnicInUse"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultVnicAlreadyBound": {
        "type": "object",
        "description": "This fault indicates that the given Virtual NIC is already bound to the iSCSI HBA.\n",
        "properties": {
          "vnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultVnicAlreadyBound": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultVnicAlreadyBound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultVnicAlreadyBound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultVnicHasActivePaths": {
        "type": "object",
        "description": "This fault indicates the given Virtual NIC has active storage paths associated with it.\n",
        "properties": {
          "vnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultVnicHasActivePaths": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultVnicHasActivePaths*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultVnicHasActivePaths"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultVnicHasMultipleUplinks": {
        "type": "object",
        "description": "This fault indicates that the Virtual NIC has multiple uplinks and not suitable for iSCSI\nmulti-pathing and can not be bound to iSCSI HBA.\n",
        "properties": {
          "vnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultVnicHasMultipleUplinks": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultVnicHasMultipleUplinks*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultVnicHasMultipleUplinks"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultVnicHasNoUplinks": {
        "type": "object",
        "description": "This fault indicates the given Virtual NIC has no uplinks and not suitable for iSCSI\nmulti-pathing configuration.\n",
        "properties": {
          "vnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultVnicHasNoUplinks": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultVnicHasNoUplinks*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultVnicHasNoUplinks"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultVnicHasWrongUplink": {
        "type": "object",
        "description": "This fault indicates the given Virtual NIC has the wrong Physical uplink\nfor iSCSI multi-pathing configuration.\n\nThe Physical uplink is not associated\nwith the iSCSI Host Bus Adapter.\n",
        "properties": {
          "vnicDevice": {
            "description": "Contains the VMkernel virtual NIC device name.\n",
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultVnicHasWrongUplink": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultVnicHasWrongUplink*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultVnicHasWrongUplink"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultVnicInUse": {
        "type": "object",
        "description": "This fault indicates the given Virtual NIC is being used by iSCSI and the requested operation can't be completed.\n",
        "properties": {
          "vnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultVnicInUse": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultVnicInUse*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultVnicInUse"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultVnicIsLastPath": {
        "type": "object",
        "description": "This fault indicates that the given Virtual NIC is associated with the only path to the storage.\n\nAny attempt to unbind this\nfrom iSCSI HBA would result in storage being inaccessible.\n",
        "properties": {
          "vnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultVnicIsLastPath": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultVnicIsLastPath*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultVnicIsLastPath"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultVnicNotBound": {
        "type": "object",
        "description": "This fault indicates an attempt was made to remove a Virtual NIC from an iSCSI HBA while\nVirtual NIC is not associated with the adapter.\n",
        "properties": {
          "vnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultVnicNotBound": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultVnicNotBound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultVnicNotBound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiFaultVnicNotFound": {
        "type": "object",
        "description": "This fault indicates an attempt was made to add a non-existent Virtual NIC adapter.\n",
        "properties": {
          "vnicDevice": {
            "type": "string"
          }
        },
        "required": [
          "vnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/IscsiFault"
          }
        ]
      },
      "ArrayOfIscsiFaultVnicNotFound": {
        "type": "object",
        "description": "A boxed array of *IscsiFaultVnicNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiFaultVnicNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KeyNotFound": {
        "type": "object",
        "description": "An KeyNotFound fault is returned when the key does not exist among\nkey value pairs.\n",
        "properties": {
          "key": {
            "description": "The non existing key.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfKeyNotFound": {
        "type": "object",
        "description": "A boxed array of *KeyNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LargeRDMConversionNotSupported": {
        "type": "object",
        "description": "The virtual machine is using a 2TB+ RDM device and operation is\nunable to convert the disk to a different type.\n",
        "properties": {
          "device": {
            "description": "The name of the disk device using the RDM.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfLargeRDMConversionNotSupported": {
        "type": "object",
        "description": "A boxed array of *LargeRDMConversionNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LargeRDMConversionNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LargeRDMNotSupportedOnDatastore": {
        "type": "object",
        "description": "The virtual machine is configured with a 2TB+ Raw Disk Mapping.\n\nThis is not\nsupported on the datastore.\n",
        "properties": {
          "device": {
            "description": "The label of the 2TB+ RDM device that would have its backing placed on\nthe datastore.\n\nThis is not guaranteed to be the only such device.\n",
            "type": "string"
          },
          "datastore": {
            "description": "The datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastoreName": {
            "description": "The name of the datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "device",
          "datastore",
          "datastoreName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfLargeRDMNotSupportedOnDatastore": {
        "type": "object",
        "description": "A boxed array of *LargeRDMNotSupportedOnDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LargeRDMNotSupportedOnDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LegacyNetworkInterfaceInUse": {
        "type": "object",
        "description": "A virtual machine's network connectivity cannot be determined\nbecause it uses a legacy network interface.\n\nIf returned as part of migration checks,\nthis is an error if the virtual machine is currently connected to the legacy\ninterface, and a warning otherwise.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotAccessNetwork"
          }
        ]
      },
      "ArrayOfLegacyNetworkInterfaceInUse": {
        "type": "object",
        "description": "A boxed array of *LegacyNetworkInterfaceInUse*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LegacyNetworkInterfaceInUse"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseAssignmentFailed": {
        "type": "object",
        "description": "A LicenseAssignmentFailed fault is thrown when VirtualCenter\nfails to assign a license to an entity.\n",
        "properties": {
          "reason": {
            "description": "The reason why the assignment failed, if known.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfLicenseAssignmentFailed": {
        "type": "object",
        "description": "A boxed array of *LicenseAssignmentFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseAssignmentFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseDowngradeDisallowed": {
        "type": "object",
        "description": "A LicenseDowngradeDisallowed fault is thrown if an assignment operation tries to downgrade a license that does have certain licensed features which are in use.\n",
        "properties": {
          "edition": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "features": {
            "description": "List of conflicting features that prevent\ndowngrade\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "edition",
          "entityId",
          "features"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfLicenseDowngradeDisallowed": {
        "type": "object",
        "description": "A boxed array of *LicenseDowngradeDisallowed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseDowngradeDisallowed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseEntityNotFound": {
        "type": "object",
        "description": "An LicenseEntityNotFound fault is thrown when an attempt is\ndo any operation on an entity/licensed asset that does not exist.\n\nExample, remove an entity that does not exist.\n",
        "properties": {
          "entityId": {
            "type": "string"
          }
        },
        "required": [
          "entityId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfLicenseEntityNotFound": {
        "type": "object",
        "description": "A boxed array of *LicenseEntityNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseEntityNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseExpired": {
        "type": "object",
        "description": "A LicenseExpired fault is thrown if it an operation is unsuccessful because the license used for the operation has expired.\n",
        "properties": {
          "licenseKey": {
            "description": "License key that has expired\n",
            "type": "string"
          }
        },
        "required": [
          "licenseKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfLicenseExpired": {
        "type": "object",
        "description": "A boxed array of *LicenseExpired*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseExpired"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseKeyEntityMismatch": {
        "type": "object",
        "description": "A LicenseKeyEntityMismatch fault is thrown if an assignment operation tries to assign a license that does not apply to an entity.\n\nFor example assigning a host license to VirtualCenter.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfLicenseKeyEntityMismatch": {
        "type": "object",
        "description": "A boxed array of *LicenseKeyEntityMismatch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseKeyEntityMismatch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseRestricted": {
        "type": "object",
        "description": "This fault is thrown if the required licenses were unable to be checked\nout due to a restriction in the option file of the license server.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfLicenseRestricted": {
        "type": "object",
        "description": "A boxed array of *LicenseRestricted*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseRestricted"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseServerUnavailable": {
        "type": "object",
        "description": "This fault is thrown when the License Server\nis unavailable during an attempt to change license state.\n",
        "properties": {
          "licenseServer": {
            "description": "The name of the unavailable license server.\n",
            "type": "string"
          }
        },
        "required": [
          "licenseServer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfLicenseServerUnavailable": {
        "type": "object",
        "description": "A boxed array of *LicenseServerUnavailable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseServerUnavailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseSourceUnavailable": {
        "type": "object",
        "description": "A LicenseSourceUnavailable is thrown if it is unable to check out a license because\nthe license source is unavailable.\n",
        "properties": {
          "licenseSource": {
            "description": "License source\n",
            "$ref": "#/components/schemas/LicenseSource"
          }
        },
        "required": [
          "licenseSource"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfLicenseSourceUnavailable": {
        "type": "object",
        "description": "A boxed array of *LicenseSourceUnavailable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseSourceUnavailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LimitExceeded": {
        "type": "object",
        "description": "This exception is thrown if one of the arguments passed to the function exceeds\na limit.\n",
        "properties": {
          "property": {
            "description": "The name of the property that exceeds the limit.\n",
            "type": "string"
          },
          "limit": {
            "description": "The limit value.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfLimitExceeded": {
        "type": "object",
        "description": "A boxed array of *LimitExceeded*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LimitExceeded"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LinuxVolumeNotClean": {
        "type": "object",
        "description": "Customization operation is performed on a linux source vm that\nwas not shut down properly.\n\nIf the filesystem has significant\nfsck errors on it, customization process cannot make changes\nto it.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfLinuxVolumeNotClean": {
        "type": "object",
        "description": "A boxed array of *LinuxVolumeNotClean*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinuxVolumeNotClean"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LogBundlingFailed": {
        "type": "object",
        "description": "A LogBundlingFailed exception is thrown when generation of a diagnostic\ndata bundle fails.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfLogBundlingFailed": {
        "type": "object",
        "description": "A boxed array of *LogBundlingFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LogBundlingFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MaintenanceModeFileMove": {
        "type": "object",
        "description": "Migration of the virtual machine to the target host will need a move of\nvirtual machine files, like configuration file or virtual disks, which is\nnot permitted if the source host is in maintenance mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfMaintenanceModeFileMove": {
        "type": "object",
        "description": "A boxed array of *MaintenanceModeFileMove*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MaintenanceModeFileMove"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MemoryFileFormatNotSupportedByDatastore": {
        "type": "object",
        "description": "Virtual memory file format is not supported on the datastore.\n",
        "properties": {
          "datastoreName": {
            "description": "The name of the Datastore.\n",
            "type": "string"
          },
          "type": {
            "description": "Datastore file system volume type.\n\nSee *DatastoreSummary.type*\n",
            "type": "string"
          }
        },
        "required": [
          "datastoreName",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/UnsupportedDatastore"
          }
        ]
      },
      "ArrayOfMemoryFileFormatNotSupportedByDatastore": {
        "type": "object",
        "description": "A boxed array of *MemoryFileFormatNotSupportedByDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemoryFileFormatNotSupportedByDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MemoryHotPlugNotSupported": {
        "type": "object",
        "description": "Thrown when memory cannot be hot-added or hot-removed from the virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfMemoryHotPlugNotSupported": {
        "type": "object",
        "description": "A boxed array of *MemoryHotPlugNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemoryHotPlugNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MemorySizeNotRecommended": {
        "type": "object",
        "description": "The memory amount of the virtual machine is not within the recommended\nmemory bounds for the virtual machine's guest OS.\n",
        "properties": {
          "memorySizeMB": {
            "description": "The configured memory size of the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "minMemorySizeMB": {
            "description": "The minimum recommended memory size.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxMemorySizeMB": {
            "description": "The maximum recommended memory size.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "memorySizeMB",
          "minMemorySizeMB",
          "maxMemorySizeMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfMemorySizeNotRecommended": {
        "type": "object",
        "description": "A boxed array of *MemorySizeNotRecommended*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemorySizeNotRecommended"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MemorySizeNotSupported": {
        "type": "object",
        "description": "The memory amount of the virtual machine is not within the acceptable\nguest memory bounds supported by the virtual machine's host.\n",
        "properties": {
          "memorySizeMB": {
            "description": "The configured memory size of the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "minMemorySizeMB": {
            "description": "The minimum acceptable memory size.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxMemorySizeMB": {
            "description": "The maximum acceptable memory size.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "memorySizeMB",
          "minMemorySizeMB",
          "maxMemorySizeMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfMemorySizeNotSupported": {
        "type": "object",
        "description": "A boxed array of *MemorySizeNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemorySizeNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MemorySizeNotSupportedByDatastore": {
        "type": "object",
        "description": "The memory amount of the virtual machine is not within the acceptable\nguest memory bounds supported by the virtual machine's datastore.\n",
        "properties": {
          "datastore": {
            "description": "The datastore which does not support the requested memory size.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "memorySizeMB": {
            "description": "The configured memory size of the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxMemorySizeMB": {
            "description": "The maximum acceptable memory size supported by the datastore.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "datastore",
          "memorySizeMB",
          "maxMemorySizeMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfMemorySizeNotSupportedByDatastore": {
        "type": "object",
        "description": "A boxed array of *MemorySizeNotSupportedByDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemorySizeNotSupportedByDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MemorySnapshotOnIndependentDisk": {
        "type": "object",
        "description": "Thrown if a request to take a memory snapshot is issued\non a virtual machine with an independent disk.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotFault"
          }
        ]
      },
      "ArrayOfMemorySnapshotOnIndependentDisk": {
        "type": "object",
        "description": "A boxed array of *MemorySnapshotOnIndependentDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemorySnapshotOnIndependentDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MethodAlreadyDisabledFault": {
        "type": "object",
        "description": "A MethodAlreadyDisabledFault fault is thrown when an attempt\nis made to disable a method that is already disabled.\n",
        "properties": {
          "sourceId": {
            "type": "string"
          }
        },
        "required": [
          "sourceId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfMethodAlreadyDisabledFault": {
        "type": "object",
        "description": "A boxed array of *MethodAlreadyDisabledFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodAlreadyDisabledFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MethodDisabled": {
        "type": "object",
        "description": "A MethodDisabled fault is thrown if a disabled method\nis invoked by the client.\n\nThe method denote an invalid state\noperation or may have been explicitly disabled.\n",
        "properties": {
          "source": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfMethodDisabled": {
        "type": "object",
        "description": "A boxed array of *MethodDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationDisabled": {
        "type": "object",
        "description": "An MigrationDisabled fault is thrown if the\nmigration failed due to disabled migration\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfMigrationDisabled": {
        "type": "object",
        "description": "A boxed array of *MigrationDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationFault": {
        "type": "object",
        "description": "Base object type for issues that can occur when reassigning the execution\nhost of a virtual machine using migrate or relocate.\n\nThese issues are typically\nused as argument in the MigrationEvent. When a MigrationFault is used as a value\nin a MigrationEvent, the type of MigrationEvent determines if the issue is a\nwarning or an error (for example, MigrationHostWarningEvent or\nMigrationHostErrorEvent). When thrown as an exception, the fault is an error.\n\nIssues are categorized as errors or warnings according to the following\ncriteria:\n\nIf the virtual machine is powered on:\n1. Error for fatal problems with the VMotion interfaces or licensing.\n2. Error if VMotion would fail.\n3. Error if VMotion would in any way interrupt the continuous and consistent\n   operation of the virtual machine.\n4. Warning for potential performance or connectivity problems between the\n   source and destination VMotion interfaces.\n5. Warning if the virtual machine's currently disconnected devices may not\n   be connectable after VMotion.\n   \nIf the virtual machine is powered off or suspended:\n1. Error if the destination host cannot access all the files that comprise\n   the virtual machine (including virtual disks).\n2. Error if aspects of the virtual machine are not supported by the\n   destination host's hardware or software.\n3. Warning if problems would occur when powering on or resuming the\n   virtual machine, if the usage/configuration of the destination\n   host were to remain in its current state.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfMigrationFault": {
        "type": "object",
        "description": "A boxed array of *MigrationFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationFeatureNotSupported": {
        "type": "object",
        "description": "A migration operation that requires feature support on source and\ndestination hosts is lacking support on the host.\n",
        "properties": {
          "atSourceHost": {
            "description": "Whether this error is for the source host.\n",
            "type": "boolean"
          },
          "failedHostName": {
            "description": "The name of the host.\n",
            "type": "string"
          },
          "failedHost": {
            "description": "The host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "atSourceHost",
          "failedHostName",
          "failedHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfMigrationFeatureNotSupported": {
        "type": "object",
        "description": "A boxed array of *MigrationFeatureNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationFeatureNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MigrationNotReady": {
        "type": "object",
        "description": "The VM to be migrated is not ready for the migration operation.\n\nThis might\nbecause the VM is still in the progress of powering on or resuming from a\nsuspended state.\n",
        "properties": {
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfMigrationNotReady": {
        "type": "object",
        "description": "A boxed array of *MigrationNotReady*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrationNotReady"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MismatchedBundle": {
        "type": "object",
        "description": "A MismatchedBundle fault is thrown when the bundle supplied for\n*HostFirmwareSystem.RestoreFirmwareConfiguration* does not match the\nspecifications of the host\n",
        "properties": {
          "bundleUuid": {
            "description": "The uuid of the host that the bundle was generated for\n",
            "type": "string"
          },
          "hostUuid": {
            "description": "The uuid of the host\n",
            "type": "string"
          },
          "bundleBuildNumber": {
            "description": "The build number of the host that the bundle was generated for\n",
            "type": "integer",
            "format": "int32"
          },
          "hostBuildNumber": {
            "description": "The build number of the host\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "bundleUuid",
          "hostUuid",
          "bundleBuildNumber",
          "hostBuildNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfMismatchedBundle": {
        "type": "object",
        "description": "A boxed array of *MismatchedBundle*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MismatchedBundle"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MismatchedNetworkPolicies": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 5.5, use *CannotUseNetwork* with\na correct reason for the fault.\n\nThe virtual machine network uses different offload or security\npolicies on the destination host than on the source host.\n\nThis is an error\nif the virtual machine is currently connected to the network, and a warning\notherwise.\n",
        "properties": {
          "device": {
            "description": "The label of the interface device.\n",
            "type": "string"
          },
          "backing": {
            "description": "The name of the network.\n",
            "type": "string"
          },
          "connected": {
            "description": "The connected/disconnected state of the device.\n",
            "type": "boolean"
          }
        },
        "required": [
          "device",
          "backing",
          "connected"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfMismatchedNetworkPolicies": {
        "type": "object",
        "description": "A boxed array of *MismatchedNetworkPolicies*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MismatchedNetworkPolicies"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MismatchedVMotionNetworkNames": {
        "type": "object",
        "description": "The source and destination hosts do not use the same network name for\ntheir VMotion interfaces.\n\nThis is a warning for migrating powered-on virtual\nmachines.\n",
        "properties": {
          "sourceNetwork": {
            "description": "The name of the network used by the source host VMotion interface.\n",
            "type": "string"
          },
          "destNetwork": {
            "description": "The name of the network used by the destination host VMotion interface.\n",
            "type": "string"
          }
        },
        "required": [
          "sourceNetwork",
          "destNetwork"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfMismatchedVMotionNetworkNames": {
        "type": "object",
        "description": "A boxed array of *MismatchedVMotionNetworkNames*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MismatchedVMotionNetworkNames"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingBmcSupport": {
        "type": "object",
        "description": "A MissingBmcSuppport fault is thrown when a host's BMC doesn't support IPMI.\n\nBMC (Board Management Controller) is a piece of hardware required for IPMI.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfMissingBmcSupport": {
        "type": "object",
        "description": "A boxed array of *MissingBmcSupport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingBmcSupport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingController": {
        "type": "object",
        "description": "A controller key has not been specified for a new device\nthat requires a controller, such as a disk or CD-ROM device.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidDeviceSpec"
          }
        ]
      },
      "ArrayOfMissingController": {
        "type": "object",
        "description": "A boxed array of *MissingController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingIpPool": {
        "type": "object",
        "description": "No IP pool is associated with a network.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppPropertyFault"
          }
        ]
      },
      "ArrayOfMissingIpPool": {
        "type": "object",
        "description": "A boxed array of *MissingIpPool*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingIpPool"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingLinuxCustResources": {
        "type": "object",
        "description": "Usable open source components required for Linux customization were not found\non the server.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfMissingLinuxCustResources": {
        "type": "object",
        "description": "A boxed array of *MissingLinuxCustResources*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingLinuxCustResources"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingNetworkIpConfig": {
        "type": "object",
        "description": "No IP configuration exists for network.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppPropertyFault"
          }
        ]
      },
      "ArrayOfMissingNetworkIpConfig": {
        "type": "object",
        "description": "A boxed array of *MissingNetworkIpConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingNetworkIpConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingPowerOffConfiguration": {
        "type": "object",
        "description": "Attempting to power-off a vApp for which no virtual machines has been\nconfigured to power off.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppConfigFault"
          }
        ]
      },
      "ArrayOfMissingPowerOffConfiguration": {
        "type": "object",
        "description": "A boxed array of *MissingPowerOffConfiguration*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingPowerOffConfiguration"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingPowerOnConfiguration": {
        "type": "object",
        "description": "Attempting to power-on a vApp service for which no virtual machines has been\nconfigured to power on.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppConfigFault"
          }
        ]
      },
      "ArrayOfMissingPowerOnConfiguration": {
        "type": "object",
        "description": "A boxed array of *MissingPowerOnConfiguration*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingPowerOnConfiguration"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingWindowsCustResources": {
        "type": "object",
        "description": "A usable sysprep file was not found on the server.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfMissingWindowsCustResources": {
        "type": "object",
        "description": "A boxed array of *MissingWindowsCustResources*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingWindowsCustResources"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MksConnectionLimitReached": {
        "type": "object",
        "description": "Thrown when a mouse-keyboard-screen connection ticket to a virtual machine\ncannot be granted because the configured connection limit has been reached.\n",
        "properties": {
          "connectionLimit": {
            "description": "MKS connection limit for the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "connectionLimit"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfMksConnectionLimitReached": {
        "type": "object",
        "description": "A boxed array of *MksConnectionLimitReached*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MksConnectionLimitReached"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MountError": {
        "type": "object",
        "description": "Customization failed because the customization process was unable to mount a remote\nvirtual disk file.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine to be customized.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "diskIndex": {
            "description": "Index into the virtual machine's device list,\nrepresenting the key value that identifies the virtual device\nthat is the presumed boot disk.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vm",
          "diskIndex"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfMountError": {
        "type": "object",
        "description": "A boxed array of *MountError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MountError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MultiWriterNotSupported": {
        "type": "object",
        "description": "The multi-writer sharing of the specified virtual disk is not supported.\n\nTypically, this fault is returned as part of a parent fault like\n*VmConfigIncompatibleForFaultTolerance*, indicating that the\nvirtual disk's multi-writer sharing needs to be changed before fault\ntolerance can be enabled on the associated virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfMultiWriterNotSupported": {
        "type": "object",
        "description": "A boxed array of *MultiWriterNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MultiWriterNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MultipleCertificatesVerifyFault": {
        "type": "object",
        "description": "MultipleCertificatesVerifyFault is thrown by the host connect method\n*HostSystem.ReconnectHost_Task* as well as the methods to add a host to\nVirtualCenter (*Folder.AddStandaloneHost_Task* and\n*ClusterComputeResource.AddHost_Task*) if VirtualCenter detects that the\nhost has different SSL certificates for different management ports.\n\nThis\ncan occur, for example, if an ESX 2.x host has different SSL certificates\nfor the authd service (port 902) and the Management UI port (port 443).\nVirtualCenter is not able to manage such hosts. To fix this issue, the user\nshould modify the host to ensure there is only one certificate for\nall services. Alternatively, different certificates are allowed as long as each\ncertificate is verifiable (trusted) by the VirtualCenter server.\n",
        "properties": {
          "thumbprintData": {
            "description": "The thumbprints (and associated ports) used by the services on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MultipleCertificatesVerifyFaultThumbprintData"
            }
          }
        },
        "required": [
          "thumbprintData"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfMultipleCertificatesVerifyFault": {
        "type": "object",
        "description": "A boxed array of *MultipleCertificatesVerifyFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MultipleCertificatesVerifyFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MultipleCertificatesVerifyFaultThumbprintData": {
        "type": "object",
        "properties": {
          "port": {
            "description": "The port used by the service.\n",
            "type": "integer",
            "format": "int32"
          },
          "thumbprint": {
            "description": "The SSL thumbprint of the host's certificate used by the service.\n",
            "type": "string"
          }
        },
        "required": [
          "port",
          "thumbprint"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfMultipleCertificatesVerifyFaultThumbprintData": {
        "type": "object",
        "description": "A boxed array of *MultipleCertificatesVerifyFaultThumbprintData*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MultipleCertificatesVerifyFaultThumbprintData"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MultipleSnapshotsNotSupported": {
        "type": "object",
        "description": "Fault thrown when an attempt is made to create a second snapshot on a VM that only\nsupports a single snapshot at a time.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotFault"
          }
        ]
      },
      "ArrayOfMultipleSnapshotsNotSupported": {
        "type": "object",
        "description": "A boxed array of *MultipleSnapshotsNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MultipleSnapshotsNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NamespaceFull": {
        "type": "object",
        "description": "A NamespaceFull fault is thrown when an operation\non namespace requires more space to complete.\n",
        "properties": {
          "name": {
            "description": "The namespace in question.\n",
            "type": "string"
          },
          "currentMaxSize": {
            "description": "Current maximum size.\n",
            "type": "integer",
            "format": "int64"
          },
          "requiredSize": {
            "description": "Size necessary to complete operation.\n\nIf not present,\nsystem was not able to determine how much space would\nbe necessary to complete operation.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "name",
          "currentMaxSize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNamespaceFull": {
        "type": "object",
        "description": "A boxed array of *NamespaceFull*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NamespaceFull"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NamespaceLimitReached": {
        "type": "object",
        "description": "A NamespaceLimitReached fault is thrown when the maximum allowed\nnamespaces for a virtual machine will be exceeded.\n",
        "properties": {
          "limit": {
            "description": "Allowed maximum number of namespaces per virtual machine.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNamespaceLimitReached": {
        "type": "object",
        "description": "A boxed array of *NamespaceLimitReached*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NamespaceLimitReached"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NamespaceWriteProtected": {
        "type": "object",
        "description": "A NamespaceWriteProtected fault is thrown when an operation\non namespace fails because namespace is write-protected.\n",
        "properties": {
          "name": {
            "description": "The namespace in question.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNamespaceWriteProtected": {
        "type": "object",
        "description": "A boxed array of *NamespaceWriteProtected*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NamespaceWriteProtected"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NasConfigFault": {
        "type": "object",
        "description": "Base class for all network-attached storage configuration faults.\n",
        "properties": {
          "name": {
            "description": "Name of the Nas datastore being configured.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfNasConfigFault": {
        "type": "object",
        "description": "A boxed array of *NasConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NasConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NasConnectionLimitReached": {
        "type": "object",
        "description": "This fault is thrown when an operation to configure a CIFS volume fails\nbecause the request exceeds the maximum allowed connections on this host\nfor the specified remote path.\n",
        "properties": {
          "remoteHost": {
            "description": "The host that runs the NFS server.\n",
            "type": "string"
          },
          "remotePath": {
            "description": "The remote share.\n",
            "type": "string"
          }
        },
        "required": [
          "remoteHost",
          "remotePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NasConfigFault"
          }
        ]
      },
      "ArrayOfNasConnectionLimitReached": {
        "type": "object",
        "description": "A boxed array of *NasConnectionLimitReached*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NasConnectionLimitReached"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NasSessionCredentialConflict": {
        "type": "object",
        "description": "This fault is thrown when an operation to configure a CIFS volume fails\nwhen attempting to log on more than once with the same user name.\n",
        "properties": {
          "remoteHost": {
            "description": "The host that runs the NFS server.\n",
            "type": "string"
          },
          "remotePath": {
            "description": "The remote share.\n",
            "type": "string"
          },
          "userName": {
            "type": "string"
          }
        },
        "required": [
          "remoteHost",
          "remotePath",
          "userName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NasConfigFault"
          }
        ]
      },
      "ArrayOfNasSessionCredentialConflict": {
        "type": "object",
        "description": "A boxed array of *NasSessionCredentialConflict*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NasSessionCredentialConflict"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NasVolumeNotMounted": {
        "type": "object",
        "description": "This fault is thrown when an operation to configure a NAS datastore\nfails because the specified NFS volume is not mounted.\n",
        "properties": {
          "remoteHost": {
            "description": "The host that runs the NFS server.\n",
            "type": "string"
          },
          "remotePath": {
            "description": "The remote share.\n",
            "type": "string"
          }
        },
        "required": [
          "remoteHost",
          "remotePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NasConfigFault"
          }
        ]
      },
      "ArrayOfNasVolumeNotMounted": {
        "type": "object",
        "description": "A boxed array of *NasVolumeNotMounted*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NasVolumeNotMounted"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworkCopyFault": {
        "type": "object",
        "description": "A network copy of the file failed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfNetworkCopyFault": {
        "type": "object",
        "description": "A boxed array of *NetworkCopyFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworkCopyFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworkDisruptedAndConfigRolledBack": {
        "type": "object",
        "description": "Thrown if network configuration change disconnected the host from vCenter server\nand has been rolled back.\n",
        "properties": {
          "host": {
            "description": "The name of host on which the network configuration was rolled back.\n",
            "type": "string"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNetworkDisruptedAndConfigRolledBack": {
        "type": "object",
        "description": "A boxed array of *NetworkDisruptedAndConfigRolledBack*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworkDisruptedAndConfigRolledBack"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworkInaccessible": {
        "type": "object",
        "description": "This fault is thrown when an operation to configure a NAS volume fails\nbecause network access is unavailable.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NasConfigFault"
          }
        ]
      },
      "ArrayOfNetworkInaccessible": {
        "type": "object",
        "description": "A boxed array of *NetworkInaccessible*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworkInaccessible"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworksMayNotBeTheSame": {
        "type": "object",
        "description": "Used as a warning if a virtual machine provisioning operation is done\nacross datacenters.\n\nThis warns that the network used by the virtual\nmachine before and after the operation may not be the same even though\nthe two networks have the same name. This is because network names\nare only unique within a datacenter.\n",
        "properties": {
          "name": {
            "description": "The name of the network.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfNetworksMayNotBeTheSame": {
        "type": "object",
        "description": "A boxed array of *NetworksMayNotBeTheSame*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworksMayNotBeTheSame"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NicSettingMismatch": {
        "type": "object",
        "description": "The number of network adapter settings in the customization specification\ndoes not match the number of network adapters present in the virtual machine.\n",
        "properties": {
          "numberOfNicsInSpec": {
            "description": "The number of network adapter settings specified in the customization\nspecification.\n",
            "type": "integer",
            "format": "int32"
          },
          "numberOfNicsInVM": {
            "description": "The number of network adapters present in the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "numberOfNicsInSpec",
          "numberOfNicsInVM"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfNicSettingMismatch": {
        "type": "object",
        "description": "A boxed array of *NicSettingMismatch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NicSettingMismatch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoActiveHostInCluster": {
        "type": "object",
        "description": "A NoActiveHostInCluster fault is thrown when there is no host in a valid\nstate in the given compute resource to perform a specified operation.\n\nThis\ncan happen, for example, if all the hosts are disconnected or in maintenance\nmode.\n",
        "properties": {
          "computeResource": {
            "description": "The compute resource that does not have any active hosts.\n\nRefers instance of *ComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "computeResource"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfNoActiveHostInCluster": {
        "type": "object",
        "description": "A boxed array of *NoActiveHostInCluster*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoActiveHostInCluster"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoAvailableIp": {
        "type": "object",
        "description": "There are no more IP addresses available on the given network.\n",
        "properties": {
          "network": {
            "description": "A reference to the network\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppPropertyFault"
          }
        ]
      },
      "ArrayOfNoAvailableIp": {
        "type": "object",
        "description": "A boxed array of *NoAvailableIp*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoAvailableIp"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoClientCertificate": {
        "type": "object",
        "description": "This exception is thrown when a client has connected without supplying a\ncertificate but the associated call expects that the client has done so.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNoClientCertificate": {
        "type": "object",
        "description": "A boxed array of *NoClientCertificate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoClientCertificate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoCompatibleDatastore": {
        "type": "object",
        "description": "A NoCompatibleDatastore fault is thrown when Storage DRS cannot find a compatible\ndatastore in a given storage pod to place a disk or a virtual machine.\n\na virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNoCompatibleDatastore": {
        "type": "object",
        "description": "A boxed array of *NoCompatibleDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoCompatibleDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoCompatibleHardAffinityHost": {
        "type": "object",
        "description": "The cluster contains no hosts satisfying the hard VM/host affinity rules\nconstraint for the VM.\n",
        "properties": {
          "vmName": {
            "description": "The vm for which there are no compatible hard-affine hosts in the cluster.\n",
            "type": "string"
          }
        },
        "required": [
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfNoCompatibleHardAffinityHost": {
        "type": "object",
        "description": "A boxed array of *NoCompatibleHardAffinityHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoCompatibleHardAffinityHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoCompatibleHost": {
        "type": "object",
        "description": "A NoCompatibleHost fault is thrown when DRS cannot find a compatible\nhost in a given compute resource to run a virtual machine on.\n",
        "properties": {
          "host": {
            "description": "The list of hosts that are not compatible, each element has a\ncorresponding fault in the error array.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "error": {
            "description": "An error in this array indicates why the corresponding host in the\nhost array is incompatible.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNoCompatibleHost": {
        "type": "object",
        "description": "A boxed array of *NoCompatibleHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoCompatibleHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoCompatibleHostWithAccessToDevice": {
        "type": "object",
        "description": "This fault is used to report that a FT VM cannot be placed because there is\nno compatible host that can access all devices required to be connected when\nthe VM powers on.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NoCompatibleHost"
          }
        ]
      },
      "ArrayOfNoCompatibleHostWithAccessToDevice": {
        "type": "object",
        "description": "A boxed array of *NoCompatibleHostWithAccessToDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoCompatibleHostWithAccessToDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoCompatibleSoftAffinityHost": {
        "type": "object",
        "description": "The cluster contains no hosts satisfying the soft VM/host affinity rules\nconstraint for the VM.\n",
        "properties": {
          "vmName": {
            "description": "The vm for which there are no compatible soft-affine hosts in the cluster.\n",
            "type": "string"
          }
        },
        "required": [
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfNoCompatibleSoftAffinityHost": {
        "type": "object",
        "description": "A boxed array of *NoCompatibleSoftAffinityHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoCompatibleSoftAffinityHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoConnectedDatastore": {
        "type": "object",
        "description": "The fault occurs when Storage DRS cannot move a virtual machine because\nthe host it is registered on is not connected to any other datastore\nin the storage pod.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNoConnectedDatastore": {
        "type": "object",
        "description": "A boxed array of *NoConnectedDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoConnectedDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoDiskFound": {
        "type": "object",
        "description": "This exception is thrown when a virtual machine\nwhich has no virtual disks is being upgraded or relaid out\nusing the VirtualMachine.upgradeVirtualHardware or upgradeVmLayout\ncommands.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNoDiskFound": {
        "type": "object",
        "description": "A boxed array of *NoDiskFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoDiskFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoDiskSpace": {
        "type": "object",
        "description": "This fault is thrown when an operation fails because of insufficient\ndisk space.\n",
        "properties": {
          "datastore": {
            "description": "The name of the datastore with insufficient disk space.\n",
            "type": "string"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfNoDiskSpace": {
        "type": "object",
        "description": "A boxed array of *NoDiskSpace*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoDiskSpace"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoDisksToCustomize": {
        "type": "object",
        "description": "None of the disks attached to the VM are suitable for customization.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfNoDisksToCustomize": {
        "type": "object",
        "description": "A boxed array of *NoDisksToCustomize*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoDisksToCustomize"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoGateway": {
        "type": "object",
        "description": "This error occurs when an operation fails because of vmkernel gateway\nis unset.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfNoGateway": {
        "type": "object",
        "description": "A boxed array of *NoGateway*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoGateway"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoGuestHeartbeat": {
        "type": "object",
        "description": "A powered-on virtual machine has a guest OS with Tools installed, but it does not\nhave a valid heartbeat.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfNoGuestHeartbeat": {
        "type": "object",
        "description": "A boxed array of *NoGuestHeartbeat*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoGuestHeartbeat"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoHost": {
        "type": "object",
        "description": "A NoHostFault fault occurs when a host\ncannot be reached.\n",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfNoHost": {
        "type": "object",
        "description": "A boxed array of *NoHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoHostSuitableForFtSecondary": {
        "type": "object",
        "description": "The NoHostSuitableForFtSecondary fault is thrown when the system is unable to\nfind a suitable host for the Fault Tolerance secondary virtual machine.\n\nThis fault can be thrown when Virtual Center is trying to place or power on\na Fault Tolerance Secondary, in both DRS or non-DRS cases.\n",
        "properties": {
          "vm": {
            "description": "The primary virtual machine corresponding to the secondary virtual\nmachine.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "The name of the primary virtual machine corresponding to the secondary\nvirtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "vm",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfNoHostSuitableForFtSecondary": {
        "type": "object",
        "description": "A boxed array of *NoHostSuitableForFtSecondary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoHostSuitableForFtSecondary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoLicenseServerConfigured": {
        "type": "object",
        "description": "The NoLicenseServerConfigured fault is thrown when there is no\nvalid license server configured for the system and the system\nis not in evaluation mode.\n\nAny operation occurs that requires\nevaluation license or a valid license will throw the\nNoLicenseServerConfigured. This can happen with the new licensing\nscheme that is a hybrid of flex-based licensing and serial number\nbased licensing. There can be cases where VirtualCenter is licensed\nby a serial number and there is no need for a flex license server.\nThese cases are valid as long as no operation that requires flex-\nbased license server is invoked, for example, adding a pre-4.0\nhost that requires flex licenses. If however, such an operation is\ninvoked, the NoLicenseServerConfigured fault is thrown.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfNoLicenseServerConfigured": {
        "type": "object",
        "description": "A boxed array of *NoLicenseServerConfigured*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoLicenseServerConfigured"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoPeerHostFound": {
        "type": "object",
        "description": "This fault is thrown when no peer host is found to wake up this host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostPowerOpFailed"
          }
        ]
      },
      "ArrayOfNoPeerHostFound": {
        "type": "object",
        "description": "A boxed array of *NoPeerHostFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoPeerHostFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoPermission": {
        "type": "object",
        "description": "Thrown when an operation is denied because of privileges\nnot held on managed object(s).\n",
        "properties": {
          "object": {
            "deprecated": true,
            "description": "Deprecated as of vSphere 8.0, use the *NoPermission.missingPrivileges* field.\n\nThe managed object on which a permission is required.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "privilegeId": {
            "deprecated": true,
            "description": "Deprecated as of vSphere 8.0, use the *NoPermission.missingPrivileges* field.\n\nThe privilege identifier required\n",
            "type": "string"
          },
          "missingPrivileges": {
            "description": "List of entities and missing privileges for each entity\n\n***Since:*** vSphere API Release 7.0.3.2\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoPermissionEntityPrivileges"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/SecurityError"
          }
        ]
      },
      "ArrayOfNoPermission": {
        "type": "object",
        "description": "A boxed array of *NoPermission*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoPermission"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoPermissionEntityPrivileges": {
        "type": "object",
        "description": "Entity and privileges for the entity\n\n***Since:*** vSphere API Release 7.0.3.2\n",
        "properties": {
          "entity": {
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "privilegeIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNoPermissionEntityPrivileges": {
        "type": "object",
        "description": "A boxed array of *NoPermissionEntityPrivileges*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.2\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoPermissionEntityPrivileges"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoPermissionOnAD": {
        "type": "object",
        "description": "Fault indicating that the user account used to connect to the\nActive Directory doesn not have enough permissions for the action\nthat was attempted.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ActiveDirectoryFault"
          }
        ]
      },
      "ArrayOfNoPermissionOnAD": {
        "type": "object",
        "description": "A boxed array of *NoPermissionOnAD*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoPermissionOnAD"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoPermissionOnHost": {
        "type": "object",
        "description": "This indicates that the user account used to connect to the host does\nnot have enough permissions to enable VirtualCenter to manage the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfNoPermissionOnHost": {
        "type": "object",
        "description": "A boxed array of *NoPermissionOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoPermissionOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoPermissionOnNasVolume": {
        "type": "object",
        "description": "This fault is thrown when an operation to configure a NAS volume fails\nbecause of insufficient user permissions.\n\nFor CIFS volumes, this implies that the user specified in the\n*spec* does not have access to the\nnetwork resource.\n",
        "properties": {
          "userName": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/NasConfigFault"
          }
        ]
      },
      "ArrayOfNoPermissionOnNasVolume": {
        "type": "object",
        "description": "A boxed array of *NoPermissionOnNasVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoPermissionOnNasVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoSubjectName": {
        "type": "object",
        "description": "This exception is thrown when an extension has attempted to use certificate-based\nauthentication but the extension has been registered without a subject name.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNoSubjectName": {
        "type": "object",
        "description": "A boxed array of *NoSubjectName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoSubjectName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoVcManagedIpConfigured": {
        "type": "object",
        "description": "The IP address of the VC server has not be configured, and a vApp\nproperty is requesting to use it.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppPropertyFault"
          }
        ]
      },
      "ArrayOfNoVcManagedIpConfigured": {
        "type": "object",
        "description": "A boxed array of *NoVcManagedIpConfigured*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoVcManagedIpConfigured"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoVirtualNic": {
        "type": "object",
        "description": "This error occurs when an operation fails because of\nno virtual NIC available.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfNoVirtualNic": {
        "type": "object",
        "description": "A boxed array of *NoVirtualNic*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoVirtualNic"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NoVmInVApp": {
        "type": "object",
        "description": "Attempting to power-on or power-off a vApp that contains no\nvirtual machines.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppConfigFault"
          }
        ]
      },
      "ArrayOfNoVmInVApp": {
        "type": "object",
        "description": "A boxed array of *NoVmInVApp*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoVmInVApp"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NonADUserRequired": {
        "type": "object",
        "description": "Fault indicating that an operation must be executed by a\nnon Active Directory user.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ActiveDirectoryFault"
          }
        ]
      },
      "ArrayOfNonADUserRequired": {
        "type": "object",
        "description": "A boxed array of *NonADUserRequired*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NonADUserRequired"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NonHomeRDMVMotionNotSupported": {
        "type": "object",
        "description": "An operation on a powered-on virtual machine requests that an existing\nRaw Disk Mapping end up in a location other than the new home datastore\nfor the virtual machine, but the host does not have that capability.\n",
        "properties": {
          "device": {
            "description": "The label of an RDM device for which an unsupported move was requested.\n\nThis is not guaranteed to be the only such device.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFeatureNotSupported"
          }
        ]
      },
      "ArrayOfNonHomeRDMVMotionNotSupported": {
        "type": "object",
        "description": "A boxed array of *NonHomeRDMVMotionNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NonHomeRDMVMotionNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NonPersistentDisksNotSupported": {
        "type": "object",
        "description": "The virtual machine has nonpersistent virtual disk.\n\nThis is an error for\nany powered-on migration which involves moving virtual disks.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfNonPersistentDisksNotSupported": {
        "type": "object",
        "description": "A boxed array of *NonPersistentDisksNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NonPersistentDisksNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NonVmwareOuiMacNotSupportedHost": {
        "type": "object",
        "description": "The host does not support VM that has VPX assigned prefix or ranged based\nMAC address (i.e.\n\nMAC is not prefixed with 00:50:56:\\[80-BF\\])\n",
        "properties": {
          "hostName": {
            "description": "The name of the host.\n",
            "type": "string"
          }
        },
        "required": [
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupportedHost"
          }
        ]
      },
      "ArrayOfNonVmwareOuiMacNotSupportedHost": {
        "type": "object",
        "description": "A boxed array of *NonVmwareOuiMacNotSupportedHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NonVmwareOuiMacNotSupportedHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotADirectory": {
        "type": "object",
        "description": "This fault is thrown when an operation fails because the specified object\nis not a directory.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfNotADirectory": {
        "type": "object",
        "description": "A boxed array of *NotADirectory*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotADirectory"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotAFile": {
        "type": "object",
        "description": "This fault is thrown when an operation fails because the specified object\nis not a file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfNotAFile": {
        "type": "object",
        "description": "A boxed array of *NotAFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotAFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotAuthenticated": {
        "type": "object",
        "description": "Thrown when an operation is denied because the session\nhas not yet successfully logged in.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NoPermission"
          }
        ]
      },
      "ArrayOfNotAuthenticated": {
        "type": "object",
        "description": "A boxed array of *NotAuthenticated*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotAuthenticated"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotEnoughCpus": {
        "type": "object",
        "description": "The host hardware does not have enough CPU cores to support the number of\nvirtual CPUs in the virtual machine.\n\nIf the host is using hyperthreading, NotEnoughLogicalCpus is\nemployed instead of NotEnoughCpus.\n",
        "properties": {
          "numCpuDest": {
            "description": "The number of CPUs present on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "numCpuVm": {
            "description": "The number of virtual CPUs present in the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "numCpuDest",
          "numCpuVm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfNotEnoughCpus": {
        "type": "object",
        "description": "A boxed array of *NotEnoughCpus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotEnoughCpus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotEnoughLogicalCpus": {
        "type": "object",
        "description": "The host hardware does not have enough logical CPUs (hyperthreads) to\nsupport the number of virtual CPUs in the virtual machine.\n",
        "properties": {
          "host": {
            "description": "The host that does not have enough logical CPUs.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughCpus"
          }
        ]
      },
      "ArrayOfNotEnoughLogicalCpus": {
        "type": "object",
        "description": "A boxed array of *NotEnoughLogicalCpus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotEnoughLogicalCpus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotFound": {
        "type": "object",
        "description": "A NotFound error occurs when a referenced component of a managed\nobject cannot be found.\n\nThe referenced component can be a data\nobject type (such as a role or permission) or a primitive\n(such as a string).\n\nFor example, if the missing referenced component is a data object, such as\nVirtualSwitch, the NotFound error is\nthrown. The NotFound error is also thrown if the data object is found, but the referenced name\n(for example, \"vswitch0\") is not.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNotFound": {
        "type": "object",
        "description": "A boxed array of *NotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedDeviceForFT": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 7.0. Not used since vSphere API 6.5.\n\nVMs with pvscsi or vmxnet3 virtual devices support Fault Tolerance only\non 4.1 or later hosts.\n",
        "properties": {
          "host": {
            "description": "The host\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostName": {
            "description": "The host name\n",
            "type": "string"
          },
          "vm": {
            "description": "The virtual machine\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "The virtual machine name\n",
            "type": "string"
          },
          "deviceType": {
            "description": "The device type\n",
            "type": "string"
          },
          "deviceLabel": {
            "description": "The device label\n",
            "type": "string"
          }
        },
        "required": [
          "host",
          "vm",
          "deviceType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfNotSupportedDeviceForFT": {
        "type": "object",
        "description": "A boxed array of *NotSupportedDeviceForFT*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedDeviceForFT"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedHost": {
        "type": "object",
        "description": "A NotSupportedHostFault occurs when the host is of a type\nthat is not supported.\n",
        "properties": {
          "productName": {
            "description": "The name of the unsupported product if available;\nfor example, \"VMware ESX Server\".\n",
            "type": "string"
          },
          "productVersion": {
            "description": "The version of the unsupported product; for example, \"1.5.2\"\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfNotSupportedHost": {
        "type": "object",
        "description": "A boxed array of *NotSupportedHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedHostForChecksum": {
        "type": "object",
        "description": "Base class for host checksum related faults\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfNotSupportedHostForChecksum": {
        "type": "object",
        "description": "A boxed array of *NotSupportedHostForChecksum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedHostForChecksum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedHostForVFlash": {
        "type": "object",
        "description": "The host does not support vFlash feature.\n",
        "properties": {
          "hostName": {
            "description": "The name of the host.\n",
            "type": "string"
          }
        },
        "required": [
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupportedHost"
          }
        ]
      },
      "ArrayOfNotSupportedHostForVFlash": {
        "type": "object",
        "description": "A boxed array of *NotSupportedHostForVFlash*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedHostForVFlash"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedHostForVmcp": {
        "type": "object",
        "description": "The host does not support VM Component Protection.\n",
        "properties": {
          "hostName": {
            "description": "The name of the host.\n",
            "type": "string"
          }
        },
        "required": [
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupportedHost"
          }
        ]
      },
      "ArrayOfNotSupportedHostForVmcp": {
        "type": "object",
        "description": "A boxed array of *NotSupportedHostForVmcp*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedHostForVmcp"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedHostForVmemFile": {
        "type": "object",
        "description": "The host does not support VM Component Protection.\n",
        "properties": {
          "hostName": {
            "description": "The name of the host.\n",
            "type": "string"
          }
        },
        "required": [
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupportedHost"
          }
        ]
      },
      "ArrayOfNotSupportedHostForVmemFile": {
        "type": "object",
        "description": "A boxed array of *NotSupportedHostForVmemFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedHostForVmemFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedHostForVsan": {
        "type": "object",
        "description": "The host does not support VSAN.\n",
        "properties": {
          "hostName": {
            "description": "The name of the host.\n",
            "type": "string"
          }
        },
        "required": [
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupportedHost"
          }
        ]
      },
      "ArrayOfNotSupportedHostForVsan": {
        "type": "object",
        "description": "A boxed array of *NotSupportedHostForVsan*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedHostForVsan"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedHostInCluster": {
        "type": "object",
        "description": "A NotSupportedHostInCluster fault occurs when the host does not support\nthe necessary features to participate in the cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupportedHost"
          }
        ]
      },
      "ArrayOfNotSupportedHostInCluster": {
        "type": "object",
        "description": "A boxed array of *NotSupportedHostInCluster*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedHostInCluster"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedHostInDvs": {
        "type": "object",
        "description": "A NotSupportedHostInDvs fault occurs when the host does not support\nthe necessary features to participate in the DVS.\n",
        "properties": {
          "switchProductSpec": {
            "description": "The product spec of the DVS.\n\nThis determines which host versions may\nparticipate in the DVS; that information may be queried by using\n*DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec*.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchProductSpec"
          }
        },
        "required": [
          "switchProductSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupportedHost"
          }
        ]
      },
      "ArrayOfNotSupportedHostInDvs": {
        "type": "object",
        "description": "A boxed array of *NotSupportedHostInDvs*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedHostInDvs"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupportedHostInHACluster": {
        "type": "object",
        "description": "A NotSupportedHostInHACluster fault occurs when the host does not support\nthe necessary features to participate in the HA cluster.\n",
        "properties": {
          "hostName": {
            "description": "The name of the host.\n",
            "type": "string"
          },
          "build": {
            "description": "The product build number of the host.\n",
            "type": "string"
          }
        },
        "required": [
          "hostName",
          "build"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotSupportedHost"
          }
        ]
      },
      "ArrayOfNotSupportedHostInHACluster": {
        "type": "object",
        "description": "A boxed array of *NotSupportedHostInHACluster*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupportedHostInHACluster"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotUserConfigurableProperty": {
        "type": "object",
        "description": "The property value cannot be changed since it is not\nuser configurable.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VAppPropertyFault"
          }
        ]
      },
      "ArrayOfNotUserConfigurableProperty": {
        "type": "object",
        "description": "A boxed array of *NotUserConfigurableProperty*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotUserConfigurableProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NumVirtualCoresPerSocketNotSupported": {
        "type": "object",
        "description": "The host's software does not support enough cores per socket to\naccommodate the virtual machine.\n\nThis is always an error.\n",
        "properties": {
          "maxSupportedCoresPerSocketDest": {
            "description": "The maximum number of cores per socket supported on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "numCoresPerSocketVm": {
            "description": "The number of cores per socket in the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxSupportedCoresPerSocketDest",
          "numCoresPerSocketVm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfNumVirtualCoresPerSocketNotSupported": {
        "type": "object",
        "description": "A boxed array of *NumVirtualCoresPerSocketNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumVirtualCoresPerSocketNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NumVirtualCpusExceedsLimit": {
        "type": "object",
        "description": "This fault is thrown when the total number of virtual CPUs present or requested\nin virtual machines' configuration has exceeded the limit on the host.\n",
        "properties": {
          "maxSupportedVcpus": {
            "description": "The maximum number of virtual CPUs supported on the host.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxSupportedVcpus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfNumVirtualCpusExceedsLimit": {
        "type": "object",
        "description": "A boxed array of *NumVirtualCpusExceedsLimit*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumVirtualCpusExceedsLimit"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NumVirtualCpusIncompatible": {
        "type": "object",
        "description": "The number of virtual CPUs present or requested in the virtual machine's\nconfiguration is not supported for a specific feature.\n",
        "properties": {
          "reason": {
            "description": "The reason for the incompatibility.\n\nSee *NumVirtualCpusIncompatibleReason_enum* for valid values.\n",
            "type": "string"
          },
          "numCpu": {
            "description": "The number of virtual CPUs in the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "reason",
          "numCpu"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfNumVirtualCpusIncompatible": {
        "type": "object",
        "description": "A boxed array of *NumVirtualCpusIncompatible*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumVirtualCpusIncompatible"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NumVirtualCpusNotSupported": {
        "type": "object",
        "description": "The host's software does not support enough virtual CPUs to\naccommodate the virtual machine.\n\nThis is always an error.\n",
        "properties": {
          "maxSupportedVcpusDest": {
            "description": "The maximum number of virtual CPUs supported on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "numCpuVm": {
            "description": "The number of virtual CPUs in the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxSupportedVcpusDest",
          "numCpuVm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfNumVirtualCpusNotSupported": {
        "type": "object",
        "description": "A boxed array of *NumVirtualCpusNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumVirtualCpusNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OperationDisabledByGuest": {
        "type": "object",
        "description": "An OperationDisabledByGuest exception is thrown when an\noperation fails because the guest operations agent has been configured to\ndisable the operation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfOperationDisabledByGuest": {
        "type": "object",
        "description": "A boxed array of *OperationDisabledByGuest*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperationDisabledByGuest"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OperationDisallowedOnHost": {
        "type": "object",
        "description": "An OperationDisallowedOnHost is thrown if an operation is diasllowed\non host when a direct connection is used.\n\nExamples for such operations include VM powering on / memory hot-plug\nwhich could potentially violate hard-enforcement licenses if allowed\non host.\nThe functionality these operations provide is still available, but only\nthrough calls to an external entity.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfOperationDisallowedOnHost": {
        "type": "object",
        "description": "A boxed array of *OperationDisallowedOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperationDisallowedOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OperationNotSupportedByGuest": {
        "type": "object",
        "description": "An OperationNotSupportedByGuest exception is thrown when an\noperation fails because the guest OS does not support\nthe operation (e.g., Registry manipulation in Linux guests.).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfOperationNotSupportedByGuest": {
        "type": "object",
        "description": "A boxed array of *OperationNotSupportedByGuest*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperationNotSupportedByGuest"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OutOfBounds": {
        "type": "object",
        "description": "Thrown if a parameter exceeds the acceptable range of values.\n",
        "properties": {
          "argumentName": {
            "description": "This should be the name of the field that holds the allowed maximum\n(for example, Host.capability.maxSupportedVMs).\n",
            "type": "string"
          }
        },
        "required": [
          "argumentName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfOutOfBounds": {
        "type": "object",
        "description": "A boxed array of *OutOfBounds*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutOfBounds"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfAttribute": {
        "type": "object",
        "description": "An OVF descriptor Attribute base class.\n",
        "properties": {
          "elementName": {
            "description": "Element name where the attribute is defined\n",
            "type": "string"
          },
          "attributeName": {
            "description": "Attribute name\n",
            "type": "string"
          }
        },
        "required": [
          "elementName",
          "attributeName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidPackage"
          }
        ]
      },
      "ArrayOfOvfAttribute": {
        "type": "object",
        "description": "A boxed array of *OvfAttribute*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfAttribute"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConnectedDevice": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfHardwareExport"
          }
        ]
      },
      "ArrayOfOvfConnectedDevice": {
        "type": "object",
        "description": "A boxed array of *OvfConnectedDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConnectedDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConnectedDeviceFloppy": {
        "type": "object",
        "properties": {
          "filename": {
            "description": "The filename of the floppy image\n",
            "type": "string"
          }
        },
        "required": [
          "filename"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfConnectedDevice"
          }
        ]
      },
      "ArrayOfOvfConnectedDeviceFloppy": {
        "type": "object",
        "description": "A boxed array of *OvfConnectedDeviceFloppy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConnectedDeviceFloppy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConnectedDeviceIso": {
        "type": "object",
        "properties": {
          "filename": {
            "description": "The filename of the ISO\n",
            "type": "string"
          }
        },
        "required": [
          "filename"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfConnectedDevice"
          }
        ]
      },
      "ArrayOfOvfConnectedDeviceIso": {
        "type": "object",
        "description": "A boxed array of *OvfConnectedDeviceIso*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConnectedDeviceIso"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConstraint": {
        "type": "object",
        "description": "A base fault for Ovf descriptor constraints\n",
        "properties": {
          "name": {
            "description": "The name of the element\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidPackage"
          }
        ]
      },
      "ArrayOfOvfConstraint": {
        "type": "object",
        "description": "A boxed array of *OvfConstraint*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConstraint"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerCallbackFault": {
        "type": "object",
        "description": "Superclass for all faults that can be thrown during the callback to an OVF\nconsumer.\n\nThe *MethodFault.faultCause* gives details about what went\nwrong.\n",
        "properties": {
          "extensionKey": {
            "description": "The OVF consumer's extension key.\n",
            "type": "string"
          },
          "extensionName": {
            "description": "The OVF consumer's extension name.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey",
          "extensionName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfFault"
          }
        ]
      },
      "ArrayOfOvfConsumerCallbackFault": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerCallbackFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerCallbackFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerCommunicationError": {
        "type": "object",
        "description": "A fault type indicating that network communication with an OVF consumer failed.\n",
        "properties": {
          "description": {
            "description": "The network library error message.\n",
            "type": "string"
          }
        },
        "required": [
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfConsumerCallbackFault"
          }
        ]
      },
      "ArrayOfOvfConsumerCommunicationError": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerCommunicationError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerCommunicationError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerFault": {
        "type": "object",
        "description": "Localized fault that may be thrown by an OVF consumer.\n",
        "properties": {
          "errorKey": {
            "description": "An error code that uniquely describes the fault within this extension.\n",
            "type": "string"
          },
          "message": {
            "description": "The error message, localized by the OVF consumer\n",
            "type": "string"
          },
          "params": {
            "description": "Additional parameters for this fault\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "errorKey",
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfConsumerCallbackFault"
          }
        ]
      },
      "ArrayOfOvfConsumerFault": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerInvalidSection": {
        "type": "object",
        "description": "A fault type indicating that the XML of a section appended by an OVF consumer was\ninvalid.\n",
        "properties": {
          "lineNumber": {
            "description": "The line number in the section on which the error was found.\n",
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "description": "The XML parser error message.\n",
            "type": "string"
          }
        },
        "required": [
          "lineNumber",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfConsumerCallbackFault"
          }
        ]
      },
      "ArrayOfOvfConsumerInvalidSection": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerInvalidSection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerInvalidSection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerPowerOnFault": {
        "type": "object",
        "description": "A fault type indicating that the power on operation failed.\n",
        "properties": {
          "extensionKey": {
            "description": "The OVF consumer's extension key.\n",
            "type": "string"
          },
          "extensionName": {
            "description": "The OVF consumer's extension name.\n",
            "type": "string"
          },
          "description": {
            "description": "A localized, human-readable description of the error.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey",
          "extensionName",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfOvfConsumerPowerOnFault": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerPowerOnFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerPowerOnFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerUndeclaredSection": {
        "type": "object",
        "description": "A fault type indicating that an OVF consumer appended an undeclared section to an OST.\n\nAn undeclared section means a section with a qualified type that the OVF consumer was\nnot registered as a handler of.\n",
        "properties": {
          "qualifiedSectionType": {
            "description": "The undeclared qualified section type appended by the OVF consumer.\n",
            "type": "string"
          }
        },
        "required": [
          "qualifiedSectionType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfConsumerCallbackFault"
          }
        ]
      },
      "ArrayOfOvfConsumerUndeclaredSection": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerUndeclaredSection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerUndeclaredSection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerUndefinedPrefix": {
        "type": "object",
        "description": "A fault type indicating that an OVF consumer added a section with an unbound prefix.\n",
        "properties": {
          "prefix": {
            "description": "The prefix for which no namespace definition was found.\n",
            "type": "string"
          }
        },
        "required": [
          "prefix"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfConsumerCallbackFault"
          }
        ]
      },
      "ArrayOfOvfConsumerUndefinedPrefix": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerUndefinedPrefix*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerUndefinedPrefix"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerValidationFault": {
        "type": "object",
        "description": "Thrown by an OVF consumer if an error occurred while validating an instantiation OST.\n",
        "properties": {
          "extensionKey": {
            "description": "The OVF consumer's extension key.\n",
            "type": "string"
          },
          "extensionName": {
            "description": "The OVF consumer's extension name.\n",
            "type": "string"
          },
          "message": {
            "description": "The error message, localized by the OVF consumer\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey",
          "extensionName",
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfOvfConsumerValidationFault": {
        "type": "object",
        "description": "A boxed array of *OvfConsumerValidationFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfConsumerValidationFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfCpuCompatibility": {
        "type": "object",
        "properties": {
          "registerName": {
            "description": "Possible register names are eax, ebx, ecx, or edx.\n",
            "type": "string"
          },
          "level": {
            "description": "The CpuId level where a problem was detected.\n\nOther levels may\nalso have problems\n",
            "type": "integer",
            "format": "int32"
          },
          "registerValue": {
            "description": "The register value where the problem was detected\n",
            "type": "string"
          },
          "desiredRegisterValue": {
            "description": "The desired register value return from the host\n",
            "type": "string"
          }
        },
        "required": [
          "registerName",
          "level",
          "registerValue",
          "desiredRegisterValue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfImport"
          }
        ]
      },
      "ArrayOfOvfCpuCompatibility": {
        "type": "object",
        "description": "A boxed array of *OvfCpuCompatibility*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfCpuCompatibility"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfCpuCompatibilityCheckNotSupported": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfImport"
          }
        ]
      },
      "ArrayOfOvfCpuCompatibilityCheckNotSupported": {
        "type": "object",
        "description": "A boxed array of *OvfCpuCompatibilityCheckNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfCpuCompatibilityCheckNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfDiskMappingNotFound": {
        "type": "object",
        "properties": {
          "diskName": {
            "description": "The disk name that is not found\n",
            "type": "string"
          },
          "vmName": {
            "description": "The VM Name\n",
            "type": "string"
          }
        },
        "required": [
          "diskName",
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfSystemFault"
          }
        ]
      },
      "ArrayOfOvfDiskMappingNotFound": {
        "type": "object",
        "description": "A boxed array of *OvfDiskMappingNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfDiskMappingNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfDiskOrderConstraint": {
        "type": "object",
        "description": "Class used to indicate that the Disks in a DiskSection was not defined\nin the same order as in the Reference section\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfConstraint"
          }
        ]
      },
      "ArrayOfOvfDiskOrderConstraint": {
        "type": "object",
        "description": "A boxed array of *OvfDiskOrderConstraint*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfDiskOrderConstraint"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfDuplicateElement": {
        "type": "object",
        "description": "OvfDuplicateElement is thrown if Ovf descriptor contains an invalid duplicate element.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfElement"
          }
        ]
      },
      "ArrayOfOvfDuplicateElement": {
        "type": "object",
        "description": "A boxed array of *OvfDuplicateElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfDuplicateElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfDuplicatedElementBoundary": {
        "type": "object",
        "description": "If the Ovf descriptor element have duplicated element bound.\n",
        "properties": {
          "boundary": {
            "description": "Name of duplicated boundary\n",
            "type": "string"
          }
        },
        "required": [
          "boundary"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfElement"
          }
        ]
      },
      "ArrayOfOvfDuplicatedElementBoundary": {
        "type": "object",
        "description": "A boxed array of *OvfDuplicatedElementBoundary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfDuplicatedElementBoundary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfDuplicatedPropertyIdExport": {
        "type": "object",
        "description": "Two or more user-configurable properties are\nfound with the same fully-qualified property\nname.\n",
        "properties": {
          "fqid": {
            "description": "The fully qualified property id.\n",
            "type": "string"
          }
        },
        "required": [
          "fqid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfExport"
          }
        ]
      },
      "ArrayOfOvfDuplicatedPropertyIdExport": {
        "type": "object",
        "description": "A boxed array of *OvfDuplicatedPropertyIdExport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfDuplicatedPropertyIdExport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfDuplicatedPropertyIdImport": {
        "type": "object",
        "description": "Two or more user-configurable properties are\nfound with the same fully-qualified property\nname.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfExport"
          }
        ]
      },
      "ArrayOfOvfDuplicatedPropertyIdImport": {
        "type": "object",
        "description": "A boxed array of *OvfDuplicatedPropertyIdImport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfDuplicatedPropertyIdImport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfElement": {
        "type": "object",
        "description": "A base fault for element exceptions in the Ovf XML descriptor.\n",
        "properties": {
          "name": {
            "description": "The name of the element\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidPackage"
          }
        ]
      },
      "ArrayOfOvfElement": {
        "type": "object",
        "description": "A boxed array of *OvfElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfElementInvalidValue": {
        "type": "object",
        "description": "A class used if a element node is found to have an invalid value.\n\nBase class for OvfProperty errors.\n",
        "properties": {
          "value": {
            "description": "The value of the element\n",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfElement"
          }
        ]
      },
      "ArrayOfOvfElementInvalidValue": {
        "type": "object",
        "description": "A boxed array of *OvfElementInvalidValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfElementInvalidValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfExport": {
        "type": "object",
        "description": "A common base class to host all the Ovf Lib Export Exceptions.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfFault"
          }
        ]
      },
      "ArrayOfOvfExport": {
        "type": "object",
        "description": "A boxed array of *OvfExport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfExport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfExportFailed": {
        "type": "object",
        "description": "This fault is used if we fail to export an OVF package.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfExport"
          }
        ]
      },
      "ArrayOfOvfExportFailed": {
        "type": "object",
        "description": "A boxed array of *OvfExportFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfExportFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfFault": {
        "type": "object",
        "description": "A common base type fault for all Ovf related faults.\n\nThe structure of OvfFault is as listed.\n- OvfFault\n  - OvfInvalidPackage\n    - OvfXmlFormat\n    - OvfWrongNamespace\n    - OvfElement\n      - OvfElementInvalidValue\n      - OvfUnexpectedElement\n      - OvfDuplicateElement\n      - OvfMissingElement\n      - OvfMissingElementNormalBoundary\n      - OvfDuplicatedElementBoundary\n    - OvfAttribute\n      - OvfMissingAttribute\n      - OvfInvalidValue\n        - OvfInvalidValueFormatMalformed\n        - OvfInvalidValueConfiguration\n        - OvfInvalidValueReference\n        - OvfInvalidValueEmpty\n    - OvfProperty\n      - OvfPropertyType\n      - OvfPropertyValue\n      - OvfPropertyNetwork\n      - OvfPropertyQualifier\n      - OvfPropertyQualifierWarning\n  - OvfConstraint\n    - OvfDiskOrderConstraint\n    - OvfHostResourceConstraint\n  - OvfUnsupportedPackage\n    - OvfNoHostNic\n    - OvfInvalidVmName\n    - OvfUnsupportedAttribute\n      - OvfUnsupportedAttributeValue\n    - OvfUnsupportedElement\n      - OvfUnsupportedElementValue\n      - OvfUnsupportedSection\n      - OvfNoSpaceOnController\n    - OvfUnsupportedType\n    - OvfUnsupportedSubType\n    - OvfHardwareCheck\n    - OvfNoSupportedHardwareFamily\n  - OvfExport\n    - OvfExportFailed\n    - OvfHardwareExport\n      - OvfUnsupportedDeviceExport\n      - OvfUnknownDeviceBacking\n      - OvfConnectedDevice\n        - OvfConnectedDeviceISO\n      - OvfUnableToExportDisk\n    - OvfPropertyExport\n    - OvfPropertyNetworkExport\n    - OvfDuplicatedPropertyIdExport\n  - OvfImport (these are typically returned as warnings)\n    - OvfImportFailed\n    - OvfHardwareCheck\n    - OvfMissingHardware\n    - OvfCpuCompatibility\n    - OvfCpuCompatibilityCheckNotSupported\n    - OvfUnsupportedDiskProvisioning\n    - OvfDuplicatedPropertyIdImport\n    - OvfNetworkMappingNotSupported\n  - OvfSystemFault\n    - OvfDiskMappingNotFound\n    - OvfHostValueNotParsed\n    - OvfInternalError\n    - OvfUnsupportedDeviceBackingOption\n    - OvfUnsupportedDeviceBackingInfo\n    - OvfToXmlUnsupportedElement\n    - OvfUnknownDevice\n    - OvfUnknownEntity\n  - OvfConsumerCallbackFault\n    - OvfConsumerFault\n    - OvfConsumerCommunicationError\n    - OvfConsumerInvalidSection\n    - OvfConsumerUndeclaredSection\n    - OvfConsumerUndefinedPrefix\n      \nAll messages go into the vimlocale\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfOvfFault": {
        "type": "object",
        "description": "A boxed array of *OvfFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfHardwareCheck": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfImport"
          }
        ]
      },
      "ArrayOfOvfHardwareCheck": {
        "type": "object",
        "description": "A boxed array of *OvfHardwareCheck*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfHardwareCheck"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfHardwareExport": {
        "type": "object",
        "description": "A common base class to host all the OvfLib Export Exceptions for hardware.\n",
        "properties": {
          "device": {
            "description": "The virtual device we are exporting to OVF\n",
            "$ref": "#/components/schemas/VirtualDevice"
          },
          "vmPath": {
            "description": "The path to the VM containing the device.\n\nThis path shows the location of the VM in the vApp hierarchy, on the form:\n\n/ParentVApp/ChildVApp/VMName\n",
            "type": "string"
          }
        },
        "required": [
          "vmPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfExport"
          }
        ]
      },
      "ArrayOfOvfHardwareExport": {
        "type": "object",
        "description": "A boxed array of *OvfHardwareExport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfHardwareExport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfHostResourceConstraint": {
        "type": "object",
        "description": "Class used to indicate that the value in HostResoruce did not map to\na valid reference element.\n",
        "properties": {
          "value": {
            "description": "Value of the element\n",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfConstraint"
          }
        ]
      },
      "ArrayOfOvfHostResourceConstraint": {
        "type": "object",
        "description": "A boxed array of *OvfHostResourceConstraint*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfHostResourceConstraint"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfHostValueNotParsed": {
        "type": "object",
        "properties": {
          "property": {
            "description": "The host property field that could not be parsed.\n",
            "type": "string"
          },
          "value": {
            "description": "Value of the field that could not be parsed.\n",
            "type": "string"
          }
        },
        "required": [
          "property",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfSystemFault"
          }
        ]
      },
      "ArrayOfOvfHostValueNotParsed": {
        "type": "object",
        "description": "A boxed array of *OvfHostValueNotParsed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfHostValueNotParsed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfImport": {
        "type": "object",
        "description": "A common base class for errors that can happen during Import and\nthat is not due to an invalid package (OvfInvalidPackage).\n\nThese\nare typically issued as warnings.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfFault"
          }
        ]
      },
      "ArrayOfOvfImport": {
        "type": "object",
        "description": "A boxed array of *OvfImport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfImport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfImportFailed": {
        "type": "object",
        "description": "This fault is used if we fail to deploy an OVF package.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfImport"
          }
        ]
      },
      "ArrayOfOvfImportFailed": {
        "type": "object",
        "description": "A boxed array of *OvfImportFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfImportFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInternalError": {
        "type": "object",
        "description": "Disk mode not supported\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfSystemFault"
          }
        ]
      },
      "ArrayOfOvfInternalError": {
        "type": "object",
        "description": "A boxed array of *OvfInternalError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInternalError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInvalidPackage": {
        "type": "object",
        "description": "Base fault class for all Invalid OVF package faults.\n",
        "properties": {
          "lineNumber": {
            "description": "XML OVF descriptor line numbers\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "lineNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfFault"
          }
        ]
      },
      "ArrayOfOvfInvalidPackage": {
        "type": "object",
        "description": "A boxed array of *OvfInvalidPackage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInvalidPackage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInvalidValue": {
        "type": "object",
        "description": "If an invalid value is found in the Ovf descriptor we throw an OvfInvalidValue exception.\n",
        "properties": {
          "value": {
            "description": "Attribute value\n",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfAttribute"
          }
        ]
      },
      "ArrayOfOvfInvalidValue": {
        "type": "object",
        "description": "A boxed array of *OvfInvalidValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInvalidValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInvalidValueConfiguration": {
        "type": "object",
        "description": "If an malformed ovf:configuration attribute value is found in the\nOvf descriptor we throw an OvfInvalidValueConfiguration exception.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidValue"
          }
        ]
      },
      "ArrayOfOvfInvalidValueConfiguration": {
        "type": "object",
        "description": "A boxed array of *OvfInvalidValueConfiguration*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInvalidValueConfiguration"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInvalidValueEmpty": {
        "type": "object",
        "description": "If an attribute is found with an empty value where it is not allowed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidValue"
          }
        ]
      },
      "ArrayOfOvfInvalidValueEmpty": {
        "type": "object",
        "description": "A boxed array of *OvfInvalidValueEmpty*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInvalidValueEmpty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInvalidValueFormatMalformed": {
        "type": "object",
        "description": "If an malformed value is found in the Ovf descriptor we throw an OvfInvalidValueFormatMalformed\nexception.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidValue"
          }
        ]
      },
      "ArrayOfOvfInvalidValueFormatMalformed": {
        "type": "object",
        "description": "A boxed array of *OvfInvalidValueFormatMalformed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInvalidValueFormatMalformed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInvalidValueReference": {
        "type": "object",
        "description": "If a value refer to something that is not found is found in the Ovf descriptor\nwe throw an OvfInvalidValueReference exception.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidValue"
          }
        ]
      },
      "ArrayOfOvfInvalidValueReference": {
        "type": "object",
        "description": "A boxed array of *OvfInvalidValueReference*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInvalidValueReference"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfInvalidVmName": {
        "type": "object",
        "description": "This fault is used if we can not normalize the vm name\n",
        "properties": {
          "name": {
            "description": "The name of the invalid Virtual Machine\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedPackage"
          }
        ]
      },
      "ArrayOfOvfInvalidVmName": {
        "type": "object",
        "description": "A boxed array of *OvfInvalidVmName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfInvalidVmName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfMappedOsId": {
        "type": "object",
        "properties": {
          "ovfId": {
            "description": "The operating system id specified in the OVF descriptor.\n",
            "type": "integer",
            "format": "int32"
          },
          "ovfDescription": {
            "description": "The OS description specified in the OVF descriptor.\n",
            "type": "string"
          },
          "targetDescription": {
            "description": "The display name of the target OS\n",
            "type": "string"
          }
        },
        "required": [
          "ovfId",
          "ovfDescription",
          "targetDescription"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfImport"
          }
        ]
      },
      "ArrayOfOvfMappedOsId": {
        "type": "object",
        "description": "A boxed array of *OvfMappedOsId*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfMappedOsId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfMissingAttribute": {
        "type": "object",
        "description": "If the Ovf descriptor is missing an attribute this exception is thrown.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfAttribute"
          }
        ]
      },
      "ArrayOfOvfMissingAttribute": {
        "type": "object",
        "description": "A boxed array of *OvfMissingAttribute*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfMissingAttribute"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfMissingElement": {
        "type": "object",
        "description": "If the Ovf descriptor is missing an Element this exception is thrown.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfElement"
          }
        ]
      },
      "ArrayOfOvfMissingElement": {
        "type": "object",
        "description": "A boxed array of *OvfMissingElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfMissingElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfMissingElementNormalBoundary": {
        "type": "object",
        "description": "If the Ovf descriptor element normal boundary is not met this exception is thrown.\n",
        "properties": {
          "boundary": {
            "description": "The missing bound\n",
            "type": "string"
          }
        },
        "required": [
          "boundary"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfMissingElement"
          }
        ]
      },
      "ArrayOfOvfMissingElementNormalBoundary": {
        "type": "object",
        "description": "A boxed array of *OvfMissingElementNormalBoundary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfMissingElementNormalBoundary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfMissingHardware": {
        "type": "object",
        "description": "The OVF descriptor does not have a description of\na required hardware element e.g CPU, Memory\n",
        "properties": {
          "name": {
            "description": "Name of the missing hardware.\n",
            "type": "string"
          },
          "resourceType": {
            "description": "OVF rasd resource type of the missing hardware.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "name",
          "resourceType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfImport"
          }
        ]
      },
      "ArrayOfOvfMissingHardware": {
        "type": "object",
        "description": "A boxed array of *OvfMissingHardware*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfMissingHardware"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfNetworkMappingNotSupported": {
        "type": "object",
        "description": "The network mapping provided for OVF Import\nis not supported by any hosts\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfImport"
          }
        ]
      },
      "ArrayOfOvfNetworkMappingNotSupported": {
        "type": "object",
        "description": "A boxed array of *OvfNetworkMappingNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfNetworkMappingNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfNoHostNic": {
        "type": "object",
        "description": "This fault is used if there is no network defined on host\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedPackage"
          }
        ]
      },
      "ArrayOfOvfNoHostNic": {
        "type": "object",
        "description": "A boxed array of *OvfNoHostNic*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfNoHostNic"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfNoSpaceOnController": {
        "type": "object",
        "description": "If the hardware element (RASD) point to a parent controller where there is no\nspace left.\n",
        "properties": {
          "parent": {
            "description": "The parent reference\n",
            "type": "string"
          }
        },
        "required": [
          "parent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedElement"
          }
        ]
      },
      "ArrayOfOvfNoSpaceOnController": {
        "type": "object",
        "description": "A boxed array of *OvfNoSpaceOnController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfNoSpaceOnController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfNoSupportedHardwareFamily": {
        "type": "object",
        "properties": {
          "version": {
            "description": "Version found that was not supported\n",
            "type": "string"
          }
        },
        "required": [
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedPackage"
          }
        ]
      },
      "ArrayOfOvfNoSupportedHardwareFamily": {
        "type": "object",
        "description": "A boxed array of *OvfNoSupportedHardwareFamily*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfNoSupportedHardwareFamily"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfProperty": {
        "type": "object",
        "description": "A base fault for property faults in the property section of the Ovf XML descriptor.\n",
        "properties": {
          "type": {
            "description": "The type of the property\n",
            "type": "string"
          },
          "value": {
            "description": "The value of the property\n",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidPackage"
          }
        ]
      },
      "ArrayOfOvfProperty": {
        "type": "object",
        "description": "A boxed array of *OvfProperty*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfPropertyExport": {
        "type": "object",
        "description": "VIM property type that can not be converted to OVF\n",
        "properties": {
          "type": {
            "description": "VIM type\n",
            "type": "string"
          },
          "value": {
            "description": "VIM value\n",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfExport"
          }
        ]
      },
      "ArrayOfOvfPropertyExport": {
        "type": "object",
        "description": "A boxed array of *OvfPropertyExport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfPropertyExport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfPropertyNetwork": {
        "type": "object",
        "description": "A class used indicate there was a property network error\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfProperty"
          }
        ]
      },
      "ArrayOfOvfPropertyNetwork": {
        "type": "object",
        "description": "A boxed array of *OvfPropertyNetwork*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfPropertyNetwork"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfPropertyNetworkExport": {
        "type": "object",
        "description": "VIM property type that refers to a network that\ndoes not exist in the package since no virtual machines\nare hooked up to it.\n",
        "properties": {
          "network": {
            "description": "name of network\n",
            "type": "string"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfExport"
          }
        ]
      },
      "ArrayOfOvfPropertyNetworkExport": {
        "type": "object",
        "description": "A boxed array of *OvfPropertyNetworkExport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfPropertyNetworkExport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfPropertyQualifier": {
        "type": "object",
        "description": "A class used to indicate there was a property qualifier error\n",
        "properties": {
          "qualifier": {
            "description": "qualifiers\n",
            "type": "string"
          }
        },
        "required": [
          "qualifier"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfProperty"
          }
        ]
      },
      "ArrayOfOvfPropertyQualifier": {
        "type": "object",
        "description": "A boxed array of *OvfPropertyQualifier*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfPropertyQualifier"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfPropertyQualifierDuplicate": {
        "type": "object",
        "description": "Indicate that a property qualifier was duplicated.\n",
        "properties": {
          "qualifier": {
            "description": "qualifiers\n",
            "type": "string"
          }
        },
        "required": [
          "qualifier"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfProperty"
          }
        ]
      },
      "ArrayOfOvfPropertyQualifierDuplicate": {
        "type": "object",
        "description": "A boxed array of *OvfPropertyQualifierDuplicate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfPropertyQualifierDuplicate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfPropertyQualifierIgnored": {
        "type": "object",
        "description": "Indicate that the was qualifier was ignored\n",
        "properties": {
          "qualifier": {
            "description": "qualifiers\n",
            "type": "string"
          }
        },
        "required": [
          "qualifier"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfProperty"
          }
        ]
      },
      "ArrayOfOvfPropertyQualifierIgnored": {
        "type": "object",
        "description": "A boxed array of *OvfPropertyQualifierIgnored*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfPropertyQualifierIgnored"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfPropertyType": {
        "type": "object",
        "description": "A class used to indicate there was a property type error\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfProperty"
          }
        ]
      },
      "ArrayOfOvfPropertyType": {
        "type": "object",
        "description": "A boxed array of *OvfPropertyType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfPropertyType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfPropertyValue": {
        "type": "object",
        "description": "A class used indicate there was a property value error\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfProperty"
          }
        ]
      },
      "ArrayOfOvfPropertyValue": {
        "type": "object",
        "description": "A boxed array of *OvfPropertyValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfPropertyValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfSystemFault": {
        "type": "object",
        "description": "A common base class to host all the OVF subsystems's system faults.\n\nThis is a class of fault that can be thrown because of\nsome api changes, new hardware that are not supported by\nthe host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfFault"
          }
        ]
      },
      "ArrayOfOvfSystemFault": {
        "type": "object",
        "description": "A boxed array of *OvfSystemFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfSystemFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfToXmlUnsupportedElement": {
        "type": "object",
        "description": "Unsupported element to export to XML\n",
        "properties": {
          "name": {
            "description": "The name of the xml element we could not write to the xml descriptor\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfSystemFault"
          }
        ]
      },
      "ArrayOfOvfToXmlUnsupportedElement": {
        "type": "object",
        "description": "A boxed array of *OvfToXmlUnsupportedElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfToXmlUnsupportedElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnableToExportDisk": {
        "type": "object",
        "properties": {
          "diskName": {
            "description": "disk name\n",
            "type": "string"
          }
        },
        "required": [
          "diskName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfHardwareExport"
          }
        ]
      },
      "ArrayOfOvfUnableToExportDisk": {
        "type": "object",
        "description": "A boxed array of *OvfUnableToExportDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnableToExportDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnexpectedElement": {
        "type": "object",
        "description": "Class used to indicate an unexpected element in the Ovf descriptor\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfElement"
          }
        ]
      },
      "ArrayOfOvfUnexpectedElement": {
        "type": "object",
        "description": "A boxed array of *OvfUnexpectedElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnexpectedElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnknownDevice": {
        "type": "object",
        "properties": {
          "device": {
            "description": "The unknown device\n",
            "$ref": "#/components/schemas/VirtualDevice"
          },
          "vmName": {
            "description": "The name of the Virtual Machine containing the unkown device\n",
            "type": "string"
          }
        },
        "required": [
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfSystemFault"
          }
        ]
      },
      "ArrayOfOvfUnknownDevice": {
        "type": "object",
        "description": "A boxed array of *OvfUnknownDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnknownDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnknownDeviceBacking": {
        "type": "object",
        "properties": {
          "backing": {
            "description": "The VirtualDevice BackingInfo that is not supported by OVF export.\n",
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        },
        "required": [
          "backing"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfHardwareExport"
          }
        ]
      },
      "ArrayOfOvfUnknownDeviceBacking": {
        "type": "object",
        "description": "A boxed array of *OvfUnknownDeviceBacking*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnknownDeviceBacking"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnknownEntity": {
        "type": "object",
        "properties": {
          "lineNumber": {
            "description": "line number where the unknown entity was found\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "lineNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfSystemFault"
          }
        ]
      },
      "ArrayOfOvfUnknownEntity": {
        "type": "object",
        "description": "A boxed array of *OvfUnknownEntity*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnknownEntity"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedAttribute": {
        "type": "object",
        "description": "If the Ovf descriptor have an unsupported attribute.\n",
        "properties": {
          "elementName": {
            "description": "The name of the element with the unsupported attribute\n",
            "type": "string"
          },
          "attributeName": {
            "description": "The name of the unsupported attribute\n",
            "type": "string"
          }
        },
        "required": [
          "elementName",
          "attributeName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedPackage"
          }
        ]
      },
      "ArrayOfOvfUnsupportedAttribute": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedAttribute*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedAttribute"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedAttributeValue": {
        "type": "object",
        "description": "Used when an OVF descriptor attribute has an unsupported value.\n",
        "properties": {
          "value": {
            "description": "Unsupported attribute value\n",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedAttribute"
          }
        ]
      },
      "ArrayOfOvfUnsupportedAttributeValue": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedAttributeValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedAttributeValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedDeviceBackingInfo": {
        "type": "object",
        "properties": {
          "elementName": {
            "description": "The element name\n",
            "type": "string"
          },
          "instanceId": {
            "description": "The InstanceId on the hardware description\n",
            "type": "string"
          },
          "deviceName": {
            "description": "The device name\n",
            "type": "string"
          },
          "backingName": {
            "description": "The name of the VirtualDevice Backing Info not supported on the device.\n",
            "type": "string"
          }
        },
        "required": [
          "deviceName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfSystemFault"
          }
        ]
      },
      "ArrayOfOvfUnsupportedDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedDeviceBackingOption": {
        "type": "object",
        "properties": {
          "elementName": {
            "description": "The element name\n",
            "type": "string"
          },
          "instanceId": {
            "description": "The InstanceId for the hardware element\n",
            "type": "string"
          },
          "deviceName": {
            "description": "The device name\n",
            "type": "string"
          },
          "backingName": {
            "description": "The name of the VirtualDevice Backing Option not supported on the device.\n",
            "type": "string"
          }
        },
        "required": [
          "deviceName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfSystemFault"
          }
        ]
      },
      "ArrayOfOvfUnsupportedDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedDeviceExport": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfHardwareExport"
          }
        ]
      },
      "ArrayOfOvfUnsupportedDeviceExport": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedDeviceExport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedDeviceExport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedDiskProvisioning": {
        "type": "object",
        "description": "Disk provisioning not supported\n",
        "properties": {
          "diskProvisioning": {
            "description": "The disk provisioning that was not supported.\n",
            "type": "string"
          },
          "supportedDiskProvisioning": {
            "description": "Disk modes supported by the host.\n",
            "type": "string"
          }
        },
        "required": [
          "diskProvisioning",
          "supportedDiskProvisioning"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfImport"
          }
        ]
      },
      "ArrayOfOvfUnsupportedDiskProvisioning": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedDiskProvisioning*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedDiskProvisioning"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedElement": {
        "type": "object",
        "description": "If the Ovf descriptor has an unsupported element where it is not allowed.\n",
        "properties": {
          "name": {
            "description": "The name of the unsupported element\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedPackage"
          }
        ]
      },
      "ArrayOfOvfUnsupportedElement": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedElementValue": {
        "type": "object",
        "description": "If the Ovf descriptor has an unsupported value of a element in the\nOVF descriptor.\n",
        "properties": {
          "value": {
            "description": "The unsupported element value\n",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedElement"
          }
        ]
      },
      "ArrayOfOvfUnsupportedElementValue": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedElementValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedElementValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedPackage": {
        "type": "object",
        "description": "A common base class to host all the Ovf Lib Unsupported Package faults\n",
        "properties": {
          "lineNumber": {
            "description": "OVF descriptor linenumber\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfFault"
          }
        ]
      },
      "ArrayOfOvfUnsupportedPackage": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedPackage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedPackage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedSection": {
        "type": "object",
        "description": "If the Ovf descriptor has an unsupported required section.\n",
        "properties": {
          "info": {
            "description": "The info of the unsupported section\n",
            "type": "string"
          }
        },
        "required": [
          "info"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedElement"
          }
        ]
      },
      "ArrayOfOvfUnsupportedSection": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedSection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedSection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedSubType": {
        "type": "object",
        "properties": {
          "elementName": {
            "description": "The name of the element with the unsupported type\n",
            "type": "string"
          },
          "instanceId": {
            "description": "The OVF RASD InstanceId for the hardware description\n",
            "type": "string"
          },
          "deviceType": {
            "description": "The device type\n",
            "type": "integer",
            "format": "int32"
          },
          "deviceSubType": {
            "description": "The device subtype that is unsupported\n",
            "type": "string"
          }
        },
        "required": [
          "elementName",
          "instanceId",
          "deviceType",
          "deviceSubType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedPackage"
          }
        ]
      },
      "ArrayOfOvfUnsupportedSubType": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedSubType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedSubType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfUnsupportedType": {
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the element with the unsupported type\n",
            "type": "string"
          },
          "instanceId": {
            "description": "The OVF RASD InstanceId for the hardware description\n",
            "type": "string"
          },
          "deviceType": {
            "description": "The device type that is unsupported\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "name",
          "instanceId",
          "deviceType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfUnsupportedPackage"
          }
        ]
      },
      "ArrayOfOvfUnsupportedType": {
        "type": "object",
        "description": "A boxed array of *OvfUnsupportedType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfUnsupportedType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfWrongElement": {
        "type": "object",
        "description": "If the Ovf descriptor has an element that is not accepted, this exception is thrown.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfElement"
          }
        ]
      },
      "ArrayOfOvfWrongElement": {
        "type": "object",
        "description": "A boxed array of *OvfWrongElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfWrongElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfWrongNamespace": {
        "type": "object",
        "description": "A OvfWrongNamespace exception is throw if the ovf descriptor has a\nNamespace error as defined in the Ovf spec\n",
        "properties": {
          "namespaceName": {
            "description": "The name of the invalid namespace\n",
            "type": "string"
          }
        },
        "required": [
          "namespaceName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidPackage"
          }
        ]
      },
      "ArrayOfOvfWrongNamespace": {
        "type": "object",
        "description": "A boxed array of *OvfWrongNamespace*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfWrongNamespace"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfXmlFormat": {
        "type": "object",
        "description": "Class used to specify if the Ovf XML descriptor could not be parsed\n",
        "properties": {
          "description": {
            "description": "Description of the XML parser error\n\nHigh level error description\n",
            "type": "string"
          }
        },
        "required": [
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OvfInvalidPackage"
          }
        ]
      },
      "ArrayOfOvfXmlFormat": {
        "type": "object",
        "description": "A boxed array of *OvfXmlFormat*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OvfXmlFormat"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PasswordExpired": {
        "type": "object",
        "description": "Thrown when a server login fails due to expired user password.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidLogin"
          }
        ]
      },
      "ArrayOfPasswordExpired": {
        "type": "object",
        "description": "A boxed array of *PasswordExpired*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PasswordExpired"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchAlreadyInstalled": {
        "type": "object",
        "description": "This fault is thrown if a patch install fails because the patch\nis already installed on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PatchNotApplicable"
          }
        ]
      },
      "ArrayOfPatchAlreadyInstalled": {
        "type": "object",
        "description": "A boxed array of *PatchAlreadyInstalled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchAlreadyInstalled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchBinariesNotFound": {
        "type": "object",
        "description": "This fault is thrown if a patch install fails\nbecause the binaries associated with the patch are not found.\n",
        "properties": {
          "patchID": {
            "description": "The patch whose associated binaries are not found.\n",
            "type": "string"
          },
          "binary": {
            "description": "The binaries that are not found.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "patchID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfPatchBinariesNotFound": {
        "type": "object",
        "description": "A boxed array of *PatchBinariesNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchBinariesNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchInstallFailed": {
        "type": "object",
        "description": "This is a general-purpose fault indicating that some error has\noccurred regarding a patch install.\n\nData about the fault is\navailable and is presented as a platform specific string.\n",
        "properties": {
          "rolledBack": {
            "description": "Whether or not the patch install has been rolled back.\n\nIf not,\na manual rollback is required.\n",
            "type": "boolean"
          }
        },
        "required": [
          "rolledBack"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PlatformConfigFault"
          }
        ]
      },
      "ArrayOfPatchInstallFailed": {
        "type": "object",
        "description": "A boxed array of *PatchInstallFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchInstallFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchIntegrityError": {
        "type": "object",
        "description": "This fault is thrown if a patch operation fails because the signature of\nthe patch did not check out.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PlatformConfigFault"
          }
        ]
      },
      "ArrayOfPatchIntegrityError": {
        "type": "object",
        "description": "A boxed array of *PatchIntegrityError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchIntegrityError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchMetadataCorrupted": {
        "type": "object",
        "description": "This fault is thrown if the metadata associated with a patch is\ncorrupted or unreadable when a patch query or install is attempted.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PatchMetadataInvalid"
          }
        ]
      },
      "ArrayOfPatchMetadataCorrupted": {
        "type": "object",
        "description": "A boxed array of *PatchMetadataCorrupted*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchMetadataCorrupted"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchMetadataInvalid": {
        "type": "object",
        "description": "This fault is thrown if a patch query or\ninstallation operation fails because of a problem with the metadata\nassociated with the patch.\n\nTypically, a subclass of this exception is\nthrown, indicating a problem such as the metadata is not found or the\nmetadata is corrupted.\n",
        "properties": {
          "patchID": {
            "description": "The patch ID whose associated metadata is invalid.\n",
            "type": "string"
          },
          "metaData": {
            "description": "The metadata file that is not available or corrupted.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "patchID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfPatchMetadataInvalid": {
        "type": "object",
        "description": "A boxed array of *PatchMetadataInvalid*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchMetadataInvalid"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchMetadataNotFound": {
        "type": "object",
        "description": "This fault is thrown if the metadata associated with a patch is not\nfound when a patch query or install is attempted.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PatchMetadataInvalid"
          }
        ]
      },
      "ArrayOfPatchMetadataNotFound": {
        "type": "object",
        "description": "A boxed array of *PatchMetadataNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchMetadataNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchMissingDependencies": {
        "type": "object",
        "description": "This fault is thrown if a patch install fails because the patch\nrequires other patches or libraries that are not installed on the host.\n",
        "properties": {
          "prerequisitePatch": {
            "description": "The ID of required patches.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "prerequisiteLib": {
            "description": "The names of required libraries or RPMs.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PatchNotApplicable"
          }
        ]
      },
      "ArrayOfPatchMissingDependencies": {
        "type": "object",
        "description": "A boxed array of *PatchMissingDependencies*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchMissingDependencies"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchNotApplicable": {
        "type": "object",
        "description": "This fault is thrown if a patch install fails because the patch is not\napplicable to the host.\n\nTypically, a subclass of this exception is\nthrown, indicating a problem such as the patch is superseded, already\ninstalled, or has dependencies missing, and so on.\n",
        "properties": {
          "patchID": {
            "description": "The ID of the patch that is not applicable to the host.\n",
            "type": "string"
          }
        },
        "required": [
          "patchID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfPatchNotApplicable": {
        "type": "object",
        "description": "A boxed array of *PatchNotApplicable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchNotApplicable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PatchSuperseded": {
        "type": "object",
        "description": "This fault is thrown if a patch install fails because the patch is\nsuperseded by patches already installed.\n",
        "properties": {
          "supersede": {
            "description": "The patches that supersede this patch.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PatchNotApplicable"
          }
        ]
      },
      "ArrayOfPatchSuperseded": {
        "type": "object",
        "description": "A boxed array of *PatchSuperseded*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PatchSuperseded"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysCompatRDMNotSupported": {
        "type": "object",
        "description": "The virtual machine is configured with a Raw Disk Mapping in physical compatibility mode.\n\nThis mode is not supported on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RDMNotSupported"
          }
        ]
      },
      "ArrayOfPhysCompatRDMNotSupported": {
        "type": "object",
        "description": "A boxed array of *PhysCompatRDMNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysCompatRDMNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PlatformConfigFault": {
        "type": "object",
        "description": "A PlatformConfigFault is a catch-all fault indicating that some error has\noccurred regarding the configuration of the host.\n\nData about the fault is\navailable and will be presented as a platform specific string.\n\nThis information carried by this fault cannot be localized. Most likely\nthis information will already have been localized to the locale of the\nserver that generated this fault. Where possible, a more specific fault\nwill be thrown.\n",
        "properties": {
          "text": {
            "description": "Platform specific text string describing this error.\n",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfPlatformConfigFault": {
        "type": "object",
        "description": "A boxed array of *PlatformConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlatformConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PowerOnFtSecondaryFailed": {
        "type": "object",
        "description": "The PowerOnFtSecondaryFailed fault is thrown when the system is unable to\npower on a Fault Tolerance secondary virtual machine.\n\nIt includes a list\nof failures on different hosts.\n",
        "properties": {
          "vm": {
            "description": "The primary virtual machine corresponding to the secondary that is to\nbe powered on\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "The name of the primary virtual machine corresponding to the secondary\nthat is to be powered on.\n",
            "type": "string"
          },
          "hostSelectionBy": {
            "description": "The host selection type\n",
            "$ref": "#/components/schemas/FtIssuesOnHostHostSelectionType_enum"
          },
          "hostErrors": {
            "description": "Information on why the system can not power on a Fault Tolerance\nsecondary virtual machine on specific hosts.\n\nEverything in the array\nshould be FtIssuesOnHost.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "rootCause": {
            "description": "The reason why powering on secondary failed.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "vm",
          "vmName",
          "hostSelectionBy",
          "rootCause"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfPowerOnFtSecondaryFailed": {
        "type": "object",
        "description": "A boxed array of *PowerOnFtSecondaryFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PowerOnFtSecondaryFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PowerOnFtSecondaryTimedout": {
        "type": "object",
        "description": "PowerOnFtSecondaryTimedout exception is thrown when Virtual Center\nfails the operation to power on a Fault Tolerance secondary virtual\nmachine because it is taking longer than expected.\n",
        "properties": {
          "vm": {
            "description": "The primary virtual machine corresponding to the secondary that is to\nbe powered on\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmName": {
            "description": "The name of the primary virtual machine corresponding to the secondary\nthat is to be powered on.\n",
            "type": "string"
          },
          "timeout": {
            "description": "The time out value in seconds\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vm",
          "vmName",
          "timeout"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Timedout"
          }
        ]
      },
      "ArrayOfPowerOnFtSecondaryTimedout": {
        "type": "object",
        "description": "A boxed array of *PowerOnFtSecondaryTimedout*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PowerOnFtSecondaryTimedout"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileUpdateFailed": {
        "type": "object",
        "description": "Errors were detected during Profile update.\n",
        "properties": {
          "failure": {
            "description": "Failures encountered during update/validation\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileUpdateFailedUpdateFailure"
            }
          },
          "warnings": {
            "description": "Warnings encountered during update/validation\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileUpdateFailedUpdateFailure"
            }
          }
        },
        "required": [
          "failure"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfProfileUpdateFailed": {
        "type": "object",
        "description": "A boxed array of *ProfileUpdateFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileUpdateFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileUpdateFailedUpdateFailure": {
        "type": "object",
        "properties": {
          "profilePath": {
            "description": "Location in the profile which has the error\n",
            "$ref": "#/components/schemas/ProfilePropertyPath"
          },
          "errMsg": {
            "description": "Message which explains the problem encountered\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          }
        },
        "required": [
          "profilePath",
          "errMsg"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileUpdateFailedUpdateFailure": {
        "type": "object",
        "description": "A boxed array of *ProfileUpdateFailedUpdateFailure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileUpdateFailedUpdateFailure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QuarantineModeFault": {
        "type": "object",
        "properties": {
          "vmName": {
            "type": "string"
          },
          "faultType": {
            "type": "string"
          }
        },
        "required": [
          "vmName",
          "faultType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfQuarantineModeFault": {
        "type": "object",
        "description": "A boxed array of *QuarantineModeFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuarantineModeFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QuestionPending": {
        "type": "object",
        "description": "Thrown when an operation cannot be performed on a virtual machine\nbecause it has a pending question requiring user input.\n",
        "properties": {
          "text": {
            "description": "Text of the question from the virtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfQuestionPending": {
        "type": "object",
        "description": "A boxed array of *QuestionPending*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuestionPending"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "QuiesceDatastoreIOForHAFailed": {
        "type": "object",
        "description": "A QuiesceDatastoreIOForHAFailed fault occurs when the HA agent on a host\ncannot quiesce file activity on a datastore to be unmouonted or removed.\n",
        "properties": {
          "host": {
            "description": "The host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostName": {
            "description": "Name of the host.\n",
            "type": "string"
          },
          "ds": {
            "description": "The datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "dsName": {
            "description": "Name of the datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "host",
          "hostName",
          "ds",
          "dsName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceInUse"
          }
        ]
      },
      "ArrayOfQuiesceDatastoreIOForHAFailed": {
        "type": "object",
        "description": "A boxed array of *QuiesceDatastoreIOForHAFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuiesceDatastoreIOForHAFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RDMConversionNotSupported": {
        "type": "object",
        "description": "The virtual machine is using an RDM device with compatibility\nmode set to 'physicalMode' and operation is unable to convert\nthe disk to a different type.\n",
        "properties": {
          "device": {
            "description": "The name of the disk device using the RDM.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfRDMConversionNotSupported": {
        "type": "object",
        "description": "A boxed array of *RDMConversionNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RDMConversionNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RDMNotPreserved": {
        "type": "object",
        "description": "The virtual machine is configured with a Raw Disk Mapping.\n\nThe host only supports Raw\nDisk Mappings in a limited fashion. After the migration, the RDM will function correctly,\nbut it will be indistinguishable from a virtual disk when viewing the virtual machine's\nproperties. This change will persist even if the virtual machine is migrated\nback to a host with full RDM support.\n\nThis is a warning only for migrations to ESX 2.1.x hosts.\n",
        "properties": {
          "device": {
            "description": "The name of the disk device using the RDM.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfRDMNotPreserved": {
        "type": "object",
        "description": "A boxed array of *RDMNotPreserved*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RDMNotPreserved"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RDMNotSupported": {
        "type": "object",
        "description": "The virtual machine is configured with a Raw Disk Mapping.\n\nThis is not\nsupported on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfRDMNotSupported": {
        "type": "object",
        "description": "A boxed array of *RDMNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RDMNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RDMNotSupportedOnDatastore": {
        "type": "object",
        "description": "The virtual machine is configured with a Raw Disk Mapping.\n\nThis is not\nsupported on the datastore.\n",
        "properties": {
          "device": {
            "description": "The label of the RDM device that would have its backing placed on\nthe datastore.\n\nThis is not guaranteed to be the only such device.\n",
            "type": "string"
          },
          "datastore": {
            "description": "The datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastoreName": {
            "description": "The name of the datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "device",
          "datastore",
          "datastoreName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfRDMNotSupportedOnDatastore": {
        "type": "object",
        "description": "A boxed array of *RDMNotSupportedOnDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RDMNotSupportedOnDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RDMPointsToInaccessibleDisk": {
        "type": "object",
        "description": "One of the virtual machine's virtual disks is a Raw Disk Mapping\nthat is itself accessible, but points to a LUN that is inaccessible.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotAccessVmDisk"
          }
        ]
      },
      "ArrayOfRDMPointsToInaccessibleDisk": {
        "type": "object",
        "description": "A boxed array of *RDMPointsToInaccessibleDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RDMPointsToInaccessibleDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RawDiskNotSupported": {
        "type": "object",
        "description": "The virtual machine has a raw disk attached that is not supported.\n\nThis is often\nused as a subfault for DisallowedMigrationDeviceAttached or\nDisallowedSnapshotDeviceAttached.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfRawDiskNotSupported": {
        "type": "object",
        "description": "A boxed array of *RawDiskNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RawDiskNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReadHostResourcePoolTreeFailed": {
        "type": "object",
        "description": "Fault thrown on host connect if we were unable to correctly read the\nexisting tree on the root.\n\nThis is bad because then we don't know the\navailable resources on the host, and all kinds of admission control will\nfail.\nThis just allows for more robust error handling - we should be able to\nread the existing hierarchy under normal conditions.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfReadHostResourcePoolTreeFailed": {
        "type": "object",
        "description": "A boxed array of *ReadHostResourcePoolTreeFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReadHostResourcePoolTreeFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReadOnlyDisksWithLegacyDestination": {
        "type": "object",
        "description": "The virtual machine uses read-only (undoable or nonpersistent) disks that\ncan cause a slower power on at the migration destination.\n\nAs a result, VMtion\ncould slow down considerably or timeout. This is an issue only for migration of\npowered-on virtual machines from an ESX host with version greater\nthan 2.0.x to an ESX host with version 2.0.x. It will be an error if the\nnumber of such disks is great enough to cause timeout ( &ge; 3 ), or a warning\notherwise.\n",
        "properties": {
          "roDiskCount": {
            "description": "The number of read-only disks in use.\n",
            "type": "integer",
            "format": "int32"
          },
          "timeoutDanger": {
            "description": "Whether this number of disks will cause a timeout failure.\n",
            "type": "boolean"
          }
        },
        "required": [
          "roDiskCount",
          "timeoutDanger"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfReadOnlyDisksWithLegacyDestination": {
        "type": "object",
        "description": "A boxed array of *ReadOnlyDisksWithLegacyDestination*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReadOnlyDisksWithLegacyDestination"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RebootRequired": {
        "type": "object",
        "description": "This fault is thrown if a patch install fails because an installed\nnonchainable patch has not taken effect.\n",
        "properties": {
          "patch": {
            "description": "The nonchainable patch installed.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfRebootRequired": {
        "type": "object",
        "description": "A boxed array of *RebootRequired*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RebootRequired"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RecordReplayDisabled": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nFault thrown if a record or replay operation cannot be performed\nbecause these capabilities have been disabled on the virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfRecordReplayDisabled": {
        "type": "object",
        "description": "A boxed array of *RecordReplayDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecordReplayDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RemoteDeviceNotSupported": {
        "type": "object",
        "description": "The virtual machine has a currently connected device with a remote backing.\n\nThis is an error when migrating a powered-on virtual machine, and can be returned\nas a subfault of DisallowedMigrationDeviceAttached.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfRemoteDeviceNotSupported": {
        "type": "object",
        "description": "A boxed array of *RemoteDeviceNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RemoteDeviceNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RemoveFailed": {
        "type": "object",
        "description": "This fault is thrown when the client attempts to remove an object that has\nactive related objects (for example, a role that has active permissions).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfRemoveFailed": {
        "type": "object",
        "description": "A boxed array of *RemoveFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RemoveFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationConfigFault": {
        "type": "object",
        "description": "Base type for Replication-related configuration errors.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ReplicationFault"
          }
        ]
      },
      "ArrayOfReplicationConfigFault": {
        "type": "object",
        "description": "A boxed array of *ReplicationConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationDiskConfigFault": {
        "type": "object",
        "description": "A ReplicationDiskConfigFault is thrown when there is an issue with\nconfiguring disk replication properties.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n\nOne of the above.\n",
            "type": "string"
          },
          "vmRef": {
            "description": "The virtual machine, for identification purposes.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "key": {
            "description": "The disk (device) key in the parent VM for identification\npurposes.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ReplicationConfigFault"
          }
        ]
      },
      "ArrayOfReplicationDiskConfigFault": {
        "type": "object",
        "description": "A boxed array of *ReplicationDiskConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationDiskConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationFault": {
        "type": "object",
        "description": "Base type for Replication-related errors.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfReplicationFault": {
        "type": "object",
        "description": "A boxed array of *ReplicationFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationIncompatibleWithFT": {
        "type": "object",
        "description": "Used to indicate that FT cannot be enabled on a replicated virtual machine\n(returned by *VirtualMachine.QueryFaultToleranceCompatibility*).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ReplicationFault"
          }
        ]
      },
      "ArrayOfReplicationIncompatibleWithFT": {
        "type": "object",
        "description": "A boxed array of *ReplicationIncompatibleWithFT*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationIncompatibleWithFT"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationInvalidOptions": {
        "type": "object",
        "description": "A ReplicationInvalidOptions fault is thrown when the options\nstring passed contains invalid characters or broken format.\n",
        "properties": {
          "options": {
            "description": "The invalid options string.\n",
            "type": "string"
          },
          "entity": {
            "description": "Entity, if any, that has invalid options.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "options"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ReplicationFault"
          }
        ]
      },
      "ArrayOfReplicationInvalidOptions": {
        "type": "object",
        "description": "A boxed array of *ReplicationInvalidOptions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationInvalidOptions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationNotSupportedOnHost": {
        "type": "object",
        "description": "Thrown if the replication module is not loaded in the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ReplicationFault"
          }
        ]
      },
      "ArrayOfReplicationNotSupportedOnHost": {
        "type": "object",
        "description": "A boxed array of *ReplicationNotSupportedOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationNotSupportedOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationVmConfigFault": {
        "type": "object",
        "description": "A ReplicationVmConfigFault is thrown when there is an issue with\nconfiguring VM-wide replication properties.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n\nOne of the above *ReplicationVmConfigFaultReasonForFault_enum*.\n",
            "type": "string"
          },
          "vmRef": {
            "description": "The virtual machine, for identification purposes.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ReplicationConfigFault"
          }
        ]
      },
      "ArrayOfReplicationVmConfigFault": {
        "type": "object",
        "description": "A boxed array of *ReplicationVmConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationVmConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationVmFault": {
        "type": "object",
        "description": "A ReplicationVmFault is thrown when there is an issue with\nan operation performed on a replicated *VirtualMachine*\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n\nOne of the above.\n",
            "type": "string"
          },
          "state": {
            "description": "The current *ReplicationVmState_enum* of the\n*VirtualMachine*\n",
            "type": "string"
          },
          "instanceId": {
            "description": "The name of the instance currently being created.\n",
            "type": "string"
          },
          "vm": {
            "description": "The virtual machine, for identification purposes.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "reason",
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ReplicationFault"
          }
        ]
      },
      "ArrayOfReplicationVmFault": {
        "type": "object",
        "description": "A boxed array of *ReplicationVmFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationVmFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationVmInProgressFault": {
        "type": "object",
        "description": "A ReplicationVmInProgressFault is thrown when a replication operation\nfailed to perform on a *VirtualMachine* because the VM is\nin the middle of another replication activity.\n",
        "properties": {
          "requestedActivity": {
            "description": "The requsted activity for VM replication\n",
            "type": "string"
          },
          "inProgressActivity": {
            "description": "The in-progress activity for VM replication\n",
            "type": "string"
          }
        },
        "required": [
          "requestedActivity",
          "inProgressActivity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ReplicationVmFault"
          }
        ]
      },
      "ArrayOfReplicationVmInProgressFault": {
        "type": "object",
        "description": "A boxed array of *ReplicationVmInProgressFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationVmInProgressFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourceInUse": {
        "type": "object",
        "description": "A ResourceInUse fault indicating that some error has occurred because a\nresource was in use.\n\nInformation about the resource that is in use may\nbe supplied.\n",
        "properties": {
          "type": {
            "description": "Type of resource that is in use.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the instance of the resource that is in use.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfResourceInUse": {
        "type": "object",
        "description": "A boxed array of *ResourceInUse*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceInUse"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ResourceNotAvailable": {
        "type": "object",
        "description": "A ResourceNotAvailable fault indicating that some error has occurred because a\nresource was not available.\n\nInformation about the resource that is in use may\nbe supplied.\n",
        "properties": {
          "containerType": {
            "description": "Type of container that contains the resource.\n",
            "type": "string"
          },
          "containerName": {
            "description": "Name of container that contains the resource.\n\n.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of resource that is not available.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfResourceNotAvailable": {
        "type": "object",
        "description": "A boxed array of *ResourceNotAvailable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceNotAvailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RestrictedByAdministrator": {
        "type": "object",
        "description": "This fault is thrown when an operation cannot complete because of some\nrestriction set by the server administrator.\n",
        "properties": {
          "details": {
            "type": "string"
          }
        },
        "required": [
          "details"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfRestrictedByAdministrator": {
        "type": "object",
        "description": "A boxed array of *RestrictedByAdministrator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RestrictedByAdministrator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RestrictedVersion": {
        "type": "object",
        "description": "Thrown when the caller is not permitted to perform the specified\noperation due to product versioning restrictions.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SecurityError"
          }
        ]
      },
      "ArrayOfRestrictedVersion": {
        "type": "object",
        "description": "A boxed array of *RestrictedVersion*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RestrictedVersion"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RollbackFailure": {
        "type": "object",
        "description": "Thrown if a Rollback operation fails\n",
        "properties": {
          "entityName": {
            "description": "The entity name on which rollback failed\n",
            "type": "string"
          },
          "entityType": {
            "description": "The entity type on which rollback failed\n",
            "type": "string"
          }
        },
        "required": [
          "entityName",
          "entityType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfRollbackFailure": {
        "type": "object",
        "description": "A boxed array of *RollbackFailure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RollbackFailure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RuleViolation": {
        "type": "object",
        "description": "The virtual machine if powered on, would violate an\naffinity/anti-affinity rule.\n\nIn this case, the VM can still be powered\non manually by a user who knows what they are doing, but VirtualCenter\nwill never automatically move or power on a VM such that it triggers\nthe violation.\n",
        "properties": {
          "host": {
            "description": "The host that the virtual machine can not be powered on without\nviolate a rule.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "rule": {
            "description": "The rule that is violated.\n\nIt can be an affinity or anti-affinity rule.\n",
            "$ref": "#/components/schemas/ClusterRuleInfo"
          }
        },
        "required": [
          "rule"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfRuleViolation": {
        "type": "object",
        "description": "A boxed array of *RuleViolation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RuleViolation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SSLDisabledFault": {
        "type": "object",
        "description": "A SSLDisabledFault fault occurs when a host does not have ssl enabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfSSLDisabledFault": {
        "type": "object",
        "description": "A boxed array of *SSLDisabledFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SSLDisabledFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SSLVerifyFault": {
        "type": "object",
        "description": "SSLVerifyFault is thrown by the host connect method if the VC\nserver could not verify the authenticity of the host's SSL\ncertificate.\n\nCurrently, we do not distinguish the various possible reasons why\nthe certificate could not be verified because we don't provide a\nway for the user to overwrite these reasons other than turning off\nSSL certificate verification completely.\nThe only exception is the case when the certificate was rejected\nbecause it was self-signed. This is the most likely case when the\nuser may want to overwrite the behavior by specifying the\ncertificate's thumbprint in the ConnectSpec the next time the user\nconnects to the host.\n",
        "properties": {
          "selfSigned": {
            "description": "Whether the host's certificate was self signed\n",
            "type": "boolean"
          },
          "thumbprint": {
            "description": "The thumbprint of the host's certificate.\n\nThis field is optional since vSphere 8.0u2.\n",
            "type": "string"
          }
        },
        "required": [
          "selfSigned"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfSSLVerifyFault": {
        "type": "object",
        "description": "A boxed array of *SSLVerifyFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SSLVerifyFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SSPIChallenge": {
        "type": "object",
        "description": "Thrown during SSPI pass-through authentication if further\nnegotiation is required.\n",
        "properties": {
          "base64Token": {
            "description": "The opaque server response token, base-64 encoded.\n",
            "type": "string"
          }
        },
        "required": [
          "base64Token"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfSSPIChallenge": {
        "type": "object",
        "description": "A boxed array of *SSPIChallenge*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SSPIChallenge"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SecondaryVmAlreadyDisabled": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to disable a secondary\nvirtual machine that has already been disabled.\n",
        "properties": {
          "instanceUuid": {
            "description": "Instance UUID of the secondary virtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfSecondaryVmAlreadyDisabled": {
        "type": "object",
        "description": "A boxed array of *SecondaryVmAlreadyDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecondaryVmAlreadyDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SecondaryVmAlreadyEnabled": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to enable a secondary\nvirtual machine that has already been enabled.\n",
        "properties": {
          "instanceUuid": {
            "description": "Instance UUID of the secondary virtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfSecondaryVmAlreadyEnabled": {
        "type": "object",
        "description": "A boxed array of *SecondaryVmAlreadyEnabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecondaryVmAlreadyEnabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SecondaryVmAlreadyRegistered": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to register a secondary\nvirtual machine with a primary virtual machine with whom it is\nalready registered.\n",
        "properties": {
          "instanceUuid": {
            "description": "Instance UUID of the secondary virtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfSecondaryVmAlreadyRegistered": {
        "type": "object",
        "description": "A boxed array of *SecondaryVmAlreadyRegistered*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecondaryVmAlreadyRegistered"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SecondaryVmNotRegistered": {
        "type": "object",
        "description": "This fault is thrown when an attempt is made to unregister a secondary\nvirtual machine from a primary virtual machine with whom it has not\nbeen previously registered.\n",
        "properties": {
          "instanceUuid": {
            "description": "Instance UUID of the secondary virtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfSecondaryVmNotRegistered": {
        "type": "object",
        "description": "A boxed array of *SecondaryVmNotRegistered*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecondaryVmNotRegistered"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SharedBusControllerNotSupported": {
        "type": "object",
        "description": "The virtual machine has one or more SCSI controllers that are engaged\nin bus sharing.\n\nThis is an error when migrating a powered-on virtual machine,\nand can be returned as a subfault of DisallowedMigrationDeviceAttached.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfSharedBusControllerNotSupported": {
        "type": "object",
        "description": "A boxed array of *SharedBusControllerNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharedBusControllerNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ShrinkDiskFault": {
        "type": "object",
        "description": "This exception is thrown when VirtualMachine.shrinkDisk\nencounters an error\n",
        "properties": {
          "diskId": {
            "description": "Disk Id of the virtual disk that caused the fault\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfShrinkDiskFault": {
        "type": "object",
        "description": "A boxed array of *ShrinkDiskFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShrinkDiskFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotCloneNotSupported": {
        "type": "object",
        "description": "An attempt is being made to copy a virtual machine's disk that has\nassociated snapshots, and preserving the snapshots is not supported by the\nhost under any circumstances.\n\nThis is a warning.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotCopyNotSupported"
          }
        ]
      },
      "ArrayOfSnapshotCloneNotSupported": {
        "type": "object",
        "description": "A boxed array of *SnapshotCloneNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotCloneNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotCopyNotSupported": {
        "type": "object",
        "description": "An attempt is being made to move or copy a virtual machine's disk that has\nassociated snapshots, and preserving the snapshots is not supported\nbecause of some aspect of the virtual machine configuration, virtual\nmachine power state, or the requested disk placement.\n\nThis is an error\nfor move operations (where the source is deleted after the copy) and a\nwarning for clones (where the source is preserved).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfSnapshotCopyNotSupported": {
        "type": "object",
        "description": "A boxed array of *SnapshotCopyNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotCopyNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotDisabled": {
        "type": "object",
        "description": "Fault thrown if a snapshot operation cannot be performed because\nsnapshots are disabled on the virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotFault"
          }
        ]
      },
      "ArrayOfSnapshotDisabled": {
        "type": "object",
        "description": "A boxed array of *SnapshotDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotFault": {
        "type": "object",
        "description": "Base type for Snapshot-related errors.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfSnapshotFault": {
        "type": "object",
        "description": "A boxed array of *SnapshotFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotIncompatibleDeviceInVm": {
        "type": "object",
        "description": "Thrown if a snapshot operation cannot be performed on account\nof an incompatible device.\n\nThis fault can be thrown for instance\nif a virtual machine uses a raw disk or a shared bus controller.\n",
        "properties": {
          "fault": {
            "description": "A fault specifies the particular device issue.\n\nThis is typically\na subclass of VirtualHardwareCompatibilityIssue, such as\nRawDiskNotSupported, or SharedBusControllerNotSupported.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotFault"
          }
        ]
      },
      "ArrayOfSnapshotIncompatibleDeviceInVm": {
        "type": "object",
        "description": "A boxed array of *SnapshotIncompatibleDeviceInVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotIncompatibleDeviceInVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotLocked": {
        "type": "object",
        "description": "Fault thrown when an attempt is made to create or delete a snapshot on a\nvirtual machine that has its snapshot locked.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotFault"
          }
        ]
      },
      "ArrayOfSnapshotLocked": {
        "type": "object",
        "description": "A boxed array of *SnapshotLocked*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotLocked"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotMoveFromNonHomeNotSupported": {
        "type": "object",
        "description": "An attempt is being made to move a virtual machine's disk that has\nassociated snapshots, and preserving the snapshots is not supported by the\nhost because the disk is currently located somewhere other than the virtual\nmachine's home datastore.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotCopyNotSupported"
          }
        ]
      },
      "ArrayOfSnapshotMoveFromNonHomeNotSupported": {
        "type": "object",
        "description": "A boxed array of *SnapshotMoveFromNonHomeNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotMoveFromNonHomeNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotMoveNotSupported": {
        "type": "object",
        "description": "An attempt is being made to move a virtual machine's disk that has\nassociated snapshots, and preserving the snapshots is not supported by the\nhost under any circumstances.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotCopyNotSupported"
          }
        ]
      },
      "ArrayOfSnapshotMoveNotSupported": {
        "type": "object",
        "description": "A boxed array of *SnapshotMoveNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotMoveNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotMoveToNonHomeNotSupported": {
        "type": "object",
        "description": "An attempt is being made to move a virtual machine's disk that has\nassociated snapshots, and preserving the snapshots is not supported by the\nhost because the disk is being moved to some location other than the new\nhome datastore for the virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotCopyNotSupported"
          }
        ]
      },
      "ArrayOfSnapshotMoveToNonHomeNotSupported": {
        "type": "object",
        "description": "A boxed array of *SnapshotMoveToNonHomeNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotMoveToNonHomeNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotNoChange": {
        "type": "object",
        "description": "This fault is for a snapshot request on a virtual machine whose state\nhas not changed since a previous successful snapshot.\n\nFor example, this\noccurs when you suspend the virtual machine, create a snapshot, and\nthen request another snapshot of the suspended virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotFault"
          }
        ]
      },
      "ArrayOfSnapshotNoChange": {
        "type": "object",
        "description": "A boxed array of *SnapshotNoChange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotNoChange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotRevertIssue": {
        "type": "object",
        "description": "If the virtual machine is migrated to the destination host, there may be\na problem reverting to one of its snapshots.\n\nThis is a warning. If the\nsnapshot name is not set and the event array is empty, then it the snapshot\nmight possibly revert correctly. If the name is set and the event array is not\nempty then there surely will be a problem reverting to the snapshot.\n",
        "properties": {
          "snapshotName": {
            "description": "The name of the problematic snapshot.\n",
            "type": "string"
          },
          "event": {
            "description": "The problem(s) that would occur on reverting to the snapshot.\n\nThis\nis determined similarly to invoking validateMigration on a powered-off\nvirtual machine with the snapshot's state. However, not all errors\nor warnings for virtual machine migration are guaranteed to be\ndetected for snapshots.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Event"
            }
          },
          "errors": {
            "description": "True if any of the events above are error events.\n",
            "type": "boolean"
          }
        },
        "required": [
          "errors"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfSnapshotRevertIssue": {
        "type": "object",
        "description": "A boxed array of *SnapshotRevertIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotRevertIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SoftRuleVioCorrectionDisallowed": {
        "type": "object",
        "description": "The current DRS migration priority setting prevents generating\na recommendation to correct the soft VM/Host affinity rules constraint\nviolation for the VM so the violation will not be corrected.\n",
        "properties": {
          "vmName": {
            "description": "The vm for which the VM/Host soft affinity rules constraint violation\nis not being corrected by DRS.\n",
            "type": "string"
          }
        },
        "required": [
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfSoftRuleVioCorrectionDisallowed": {
        "type": "object",
        "description": "A boxed array of *SoftRuleVioCorrectionDisallowed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SoftRuleVioCorrectionDisallowed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SoftRuleVioCorrectionImpact": {
        "type": "object",
        "description": "DRS has determined that correcting the soft VM/Host affinity rules\nconstraint violation for the VM impacts respecting cluster constraints\nor performance goals so the violation will not be corrected.\n",
        "properties": {
          "vmName": {
            "description": "The vm for which the VM/Host soft affinity rules constraint violation\nis not being corrected by DRS.\n",
            "type": "string"
          }
        },
        "required": [
          "vmName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfSoftRuleVioCorrectionImpact": {
        "type": "object",
        "description": "A boxed array of *SoftRuleVioCorrectionImpact*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SoftRuleVioCorrectionImpact"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SolutionUserRequired": {
        "type": "object",
        "description": "Thrown when an operation is denied because the entity\ninvoking it is not a Solution User.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SecurityError"
          }
        ]
      },
      "ArrayOfSolutionUserRequired": {
        "type": "object",
        "description": "A boxed array of *SolutionUserRequired*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolutionUserRequired"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SsdDiskNotAvailable": {
        "type": "object",
        "description": "A SsdDiskNotAvailable fault indicating that the specified SSD\ndisk is not available.\n\nThe disk either has been used or not a\nSSD disk.\n",
        "properties": {
          "devicePath": {
            "description": "The device path of the disk.\n\nSee also *HostScsiDisk.devicePath*.\n",
            "type": "string"
          }
        },
        "required": [
          "devicePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfSsdDiskNotAvailable": {
        "type": "object",
        "description": "A boxed array of *SsdDiskNotAvailable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SsdDiskNotAvailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveDiskInMultiWriterMode": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate one or more virtual disks of a VM because the disk has\nmulti-writer mode enabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveDiskInMultiWriterMode": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveDiskInMultiWriterMode*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveDiskInMultiWriterMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveFTVm": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate Fault Tolerant VMs across datastores.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveFTVm": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveFTVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveFTVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveIndependentDisk": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate an independent disk.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveIndependentDisk": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveIndependentDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveIndependentDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveManuallyPlacedSwapFile": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate VM because it has a manually selected fixed location for its\nswap file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveManuallyPlacedSwapFile": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveManuallyPlacedSwapFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveManuallyPlacedSwapFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveManuallyPlacedVm": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate a Vm that is placed by user to a specific datastore.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveManuallyPlacedVm": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveManuallyPlacedVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveManuallyPlacedVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveSharedDisk": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate a shared virtual disk that is attached to more than one Vm.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveSharedDisk": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveSharedDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveSharedDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveTemplate": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate template VMs across datastores.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveTemplate": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveTemplate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveTemplate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveVmInUserFolder": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate VMs placed in user-specified folders.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveVmInUserFolder": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveVmInUserFolder*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveVmInUserFolder"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveVmWithMountedCDROM": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate VMs that have a CD-ROM device mounted.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveVmWithMountedCDROM": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveVmWithMountedCDROM*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveVmWithMountedCDROM"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsCannotMoveVmWithNoFilesInLayout": {
        "type": "object",
        "description": "This fault is thrown because Storage DRS cannot generate recommendations\nto relocate VMs that have no files in its file layout.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsCannotMoveVmWithNoFilesInLayout": {
        "type": "object",
        "description": "A boxed array of *StorageDrsCannotMoveVmWithNoFilesInLayout*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsCannotMoveVmWithNoFilesInLayout"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsDatacentersCannotShareDatastore": {
        "type": "object",
        "description": "This fault is thrown when one datastore using Storage DRS is added to two\ndifferent datacenters.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsDatacentersCannotShareDatastore": {
        "type": "object",
        "description": "A boxed array of *StorageDrsDatacentersCannotShareDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsDatacentersCannotShareDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsDisabledOnVm": {
        "type": "object",
        "description": "This fault is thrown when Storage DRS cannot move disks of a virtual machine\nbecause Storage DRS is disabled on it.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsDisabledOnVm": {
        "type": "object",
        "description": "A boxed array of *StorageDrsDisabledOnVm*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsDisabledOnVm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsHbrDiskNotMovable": {
        "type": "object",
        "description": "This fault is thrown when HMS service cannot move certain secondary\nreplica disks per Storage DRS move recommendations\n",
        "properties": {
          "nonMovableDiskIds": {
            "description": "Comma-separated list of disk IDs that are not movable and failed\nStorage DRS recommendation action.\n",
            "type": "string"
          }
        },
        "required": [
          "nonMovableDiskIds"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsHbrDiskNotMovable": {
        "type": "object",
        "description": "A boxed array of *StorageDrsHbrDiskNotMovable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsHbrDiskNotMovable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsHmsMoveInProgress": {
        "type": "object",
        "description": "This fault is thrown HMS service is in the process of moving\na subset of disks for which Storage DRS recommendation is generated.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsHmsMoveInProgress": {
        "type": "object",
        "description": "A boxed array of *StorageDrsHmsMoveInProgress*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsHmsMoveInProgress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsHmsUnreachable": {
        "type": "object",
        "description": "This fault is thrown when Storage DRS cannot connect to HMS service\nor HMS APIs invoked by Storage DRS error out due to connection issues.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsHmsUnreachable": {
        "type": "object",
        "description": "A boxed array of *StorageDrsHmsUnreachable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsHmsUnreachable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsIolbDisabledInternally": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nThe fault occurs when Storage DRS disables IO Load balancing internally\neven though it is enabled by the user.\n\nThis can happen due to one of the\nfollowing reasons:\n1\\. SIOC couldn't get enabled on at least one of the datastores\n2\\. The connectivity between hosts and datastores is not uniform for all datastores.\n3\\. Some statistics are not available to run IO load balancing\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsIolbDisabledInternally": {
        "type": "object",
        "description": "A boxed array of *StorageDrsIolbDisabledInternally*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsIolbDisabledInternally"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsRelocateDisabled": {
        "type": "object",
        "description": "This fault is thrown when Storage DRS cannot move disks of a virtual machine\nbecause the relocate method of the virtual machine is disabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsRelocateDisabled": {
        "type": "object",
        "description": "A boxed array of *StorageDrsRelocateDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsRelocateDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsStaleHmsCollection": {
        "type": "object",
        "description": "This fault is thrown when Storage DRS action for relocating\nHMS collection of replica disks does not correspond to current\nHMS inventory configuration and hence, is rejected by HMS service.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsStaleHmsCollection": {
        "type": "object",
        "description": "A boxed array of *StorageDrsStaleHmsCollection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsStaleHmsCollection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsUnableToMoveFiles": {
        "type": "object",
        "description": "This fault is thrown when Storage DRS cannot generate recommendations\nto move VM files due to pre-existing cross datastore disk backings.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfStorageDrsUnableToMoveFiles": {
        "type": "object",
        "description": "A boxed array of *StorageDrsUnableToMoveFiles*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsUnableToMoveFiles"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageVMotionNotSupported": {
        "type": "object",
        "description": "An operation on a powered-on virtual machine requests a change of storage\nlocation, but the host does not have that capability.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFeatureNotSupported"
          }
        ]
      },
      "ArrayOfStorageVMotionNotSupported": {
        "type": "object",
        "description": "A boxed array of *StorageVMotionNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageVMotionNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageVmotionIncompatible": {
        "type": "object",
        "description": "This fault is thrown when Storage DRS tries to migrate disks of a virtual machine to a datastore,\nbut finds that the datastore is incompatible with the given virtual machine.\n",
        "properties": {
          "datastore": {
            "description": "The datastore that is incompatible with a given virtual machine.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfStorageVmotionIncompatible": {
        "type": "object",
        "description": "A boxed array of *StorageVmotionIncompatible*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageVmotionIncompatible"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SuspendedRelocateNotSupported": {
        "type": "object",
        "description": "Either the source host product or the destination host product does not support\nrelocation of suspended VMs.\n\nIt must be supported on both, in order for the\nrelocation to succeed. This fault is only applicable to suspended virtual machines.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfSuspendedRelocateNotSupported": {
        "type": "object",
        "description": "A boxed array of *SuspendedRelocateNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SuspendedRelocateNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SwapDatastoreNotWritableOnHost": {
        "type": "object",
        "description": "The compute resource and/or virtual machine configurations indicate that\nwhen executing on the host the virtual machine should use a specific\ndatastore, but host does not have read/write access to that datastore.\n\n(It may have no access at all, or read-only access.) If executing on the\nhost the virtual machine would instead use its own directory for swapfile\nplacement. This is a compatibility warning, not an error.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreNotWritableOnHost"
          }
        ]
      },
      "ArrayOfSwapDatastoreNotWritableOnHost": {
        "type": "object",
        "description": "A boxed array of *SwapDatastoreNotWritableOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwapDatastoreNotWritableOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SwapDatastoreUnset": {
        "type": "object",
        "description": "The compute resource and/or virtual machine configurations indicate that\nwhen executing on the host the virtual machine should use a swap\ndatastore, but the host does not have a swap datastore configured.\n\nIf\nexecuting on the host the virtual machine would instead use its own directory\nfor swapfile placement. This is a compatibility warning, not an error.\nNote it is actually the common case for a host to not have a configured\nswap datastore, and the problem may rest with the compute resource and/or\nvirtual machine configuration; therefore this is not a HostConfigFault.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfSwapDatastoreUnset": {
        "type": "object",
        "description": "A boxed array of *SwapDatastoreUnset*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwapDatastoreUnset"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SwapPlacementOverrideNotSupported": {
        "type": "object",
        "description": "The virtual machine is configured to override the default swapfile placement\npolicy, which is not supported on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidVmConfig"
          }
        ]
      },
      "ArrayOfSwapPlacementOverrideNotSupported": {
        "type": "object",
        "description": "A boxed array of *SwapPlacementOverrideNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwapPlacementOverrideNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SwitchIpUnset": {
        "type": "object",
        "description": "The distributed virtual switch received a reconfiguration request to\nactivate a feature that requires a switch IP address.\n\nHowever, the IP\naddress for the switch has not been specified.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfSwitchIpUnset": {
        "type": "object",
        "description": "A boxed array of *SwitchIpUnset*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwitchIpUnset"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SwitchNotInUpgradeMode": {
        "type": "object",
        "description": "Thrown if an operation is not supported while the DistributedVirtualSwitch\nis not in upgrade mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfSwitchNotInUpgradeMode": {
        "type": "object",
        "description": "A boxed array of *SwitchNotInUpgradeMode*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwitchNotInUpgradeMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskInProgress": {
        "type": "object",
        "description": "The TaskInProgress data object type represents a fault when an operation tries\nto access an entity that already has another (long) operation in progress.\n",
        "properties": {
          "task": {
            "description": "The task already in progress when the operation was attempted.\n\nRefers instance of *Task*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "task"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfTaskInProgress": {
        "type": "object",
        "description": "A boxed array of *TaskInProgress*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskInProgress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ThirdPartyLicenseAssignmentFailed": {
        "type": "object",
        "description": "A ThirdPartyLicenseAssignmentFailed fault is thrown when\nthe license assignment to a 3rd party module fails.\n\nThe 3rd-party modules are installed and ran on ESX hosts,\nso this fault provides both host and module IDs.\n",
        "properties": {
          "host": {
            "description": "The ESX host where 3rd party license was applied.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "module": {
            "description": "The asset-id of 3rd party module\n",
            "type": "string"
          },
          "reason": {
            "description": "The reason why the assignment failed, if known.\n",
            "type": "string"
          }
        },
        "required": [
          "host",
          "module"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfThirdPartyLicenseAssignmentFailed": {
        "type": "object",
        "description": "A boxed array of *ThirdPartyLicenseAssignmentFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ThirdPartyLicenseAssignmentFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Timedout": {
        "type": "object",
        "description": "Timedout exception is thrown when a server abandons an operation that\nis taking longer than expected.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfTimedout": {
        "type": "object",
        "description": "A boxed array of *Timedout*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Timedout"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooManyConcurrentNativeClones": {
        "type": "object",
        "description": "Thrown if the number of levels in the snapshot tree exceeds\nthe supported maximum.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfTooManyConcurrentNativeClones": {
        "type": "object",
        "description": "A boxed array of *TooManyConcurrentNativeClones*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooManyConcurrentNativeClones"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooManyConsecutiveOverrides": {
        "type": "object",
        "description": "Thrown if there are too many consecutive user overrides of\nserver-managed settings.\n\nThere are some properties which users are\nallowed to set only in certain configurations. The system controls them\nin other configurations, and overrides all user updates. If there are\nsuch frequent user overrides in the system controlled state that the\nnext update arrives before the previous override is complete, the\nsystem can enter a tight loop and appear unresponsive to the user. This\nwould typically happen if the user overrides are generated by a script.\nIf the number of such user overrides exceeds the supported maximum, we\nconceptually \"throw\" this fault. In practice, this is converted into a\nhost-level ConfigIssue in VC.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfTooManyConsecutiveOverrides": {
        "type": "object",
        "description": "A boxed array of *TooManyConsecutiveOverrides*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooManyConsecutiveOverrides"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooManyDevices": {
        "type": "object",
        "description": "Thrown when the number of virtual devices exceeds the maximum for\na given controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidVmConfig"
          }
        ]
      },
      "ArrayOfTooManyDevices": {
        "type": "object",
        "description": "A boxed array of *TooManyDevices*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooManyDevices"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooManyDisksOnLegacyHost": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere 4.1, this error condition is no longer possible.\n\nThe VM has too many disks which can cause the VM to take a long time\nto power-on.\n\nThis can result in migration taking a long time to complete\nor to fail due to timeout. This is a problem only for migration of\npowered-on virtual machines from or to ESX 2.x hosts.\n",
        "properties": {
          "diskCount": {
            "description": "The number disks this VM has.\n",
            "type": "integer",
            "format": "int32"
          },
          "timeoutDanger": {
            "description": "Whether this number of disks will cause a timeout failure.\n",
            "type": "boolean"
          }
        },
        "required": [
          "diskCount",
          "timeoutDanger"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfTooManyDisksOnLegacyHost": {
        "type": "object",
        "description": "A boxed array of *TooManyDisksOnLegacyHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooManyDisksOnLegacyHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooManyGuestLogons": {
        "type": "object",
        "description": "A TooManyGuestLogons exception is thrown when\nthere are too many concurrent login sessions active\nin the guest.\n\n*GuestAuthManager.ReleaseCredentialsInGuest* can be called\non ticketed sessions that are no longer needed. This will decrease\nthe number of concurrent sessions active in the guest.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestOperationsFault"
          }
        ]
      },
      "ArrayOfTooManyGuestLogons": {
        "type": "object",
        "description": "A boxed array of *TooManyGuestLogons*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooManyGuestLogons"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooManyHosts": {
        "type": "object",
        "description": "Thrown when a computer resource does not accept any more hosts.\n\nClusters with DRS or\nHA enabled might impose a limit on the size of the cluster.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectFault"
          }
        ]
      },
      "ArrayOfTooManyHosts": {
        "type": "object",
        "description": "A boxed array of *TooManyHosts*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooManyHosts"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooManyNativeCloneLevels": {
        "type": "object",
        "description": "Thrown if the number of levels in the snapshot tree exceeds\nthe supported maximum.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfTooManyNativeCloneLevels": {
        "type": "object",
        "description": "A boxed array of *TooManyNativeCloneLevels*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooManyNativeCloneLevels"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooManyNativeClonesOnFile": {
        "type": "object",
        "description": "Thrown if the number of levels in the snapshot tree exceeds\nthe supported maximum.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileFault"
          }
        ]
      },
      "ArrayOfTooManyNativeClonesOnFile": {
        "type": "object",
        "description": "A boxed array of *TooManyNativeClonesOnFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooManyNativeClonesOnFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TooManySnapshotLevels": {
        "type": "object",
        "description": "Thrown if the number of levels in the snapshot tree exceeds\nthe supported maximum.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/SnapshotFault"
          }
        ]
      },
      "ArrayOfTooManySnapshotLevels": {
        "type": "object",
        "description": "A boxed array of *TooManySnapshotLevels*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TooManySnapshotLevels"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsAlreadyUpgraded": {
        "type": "object",
        "description": "Thrown when tools upgrade fails because the version of tools\ninstalled in the guest is already up-to-date.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmToolsUpgradeFault"
          }
        ]
      },
      "ArrayOfToolsAlreadyUpgraded": {
        "type": "object",
        "description": "A boxed array of *ToolsAlreadyUpgraded*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsAlreadyUpgraded"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsAutoUpgradeNotSupported": {
        "type": "object",
        "description": "Thrown when tools upgrade fails because the virtual machine's\nguest operating system doesn't support tools auto-upgrades.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmToolsUpgradeFault"
          }
        ]
      },
      "ArrayOfToolsAutoUpgradeNotSupported": {
        "type": "object",
        "description": "A boxed array of *ToolsAutoUpgradeNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsAutoUpgradeNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsImageCopyFailed": {
        "type": "object",
        "description": "Thrown when the tools image couldn't be copied to the guest\noperating system: disk out of space, file access error, etc.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmToolsUpgradeFault"
          }
        ]
      },
      "ArrayOfToolsImageCopyFailed": {
        "type": "object",
        "description": "A boxed array of *ToolsImageCopyFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsImageCopyFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsImageNotAvailable": {
        "type": "object",
        "description": "Thrown when tools install or upgrade fails because the required\ntools image is not available.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmToolsUpgradeFault"
          }
        ]
      },
      "ArrayOfToolsImageNotAvailable": {
        "type": "object",
        "description": "A boxed array of *ToolsImageNotAvailable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsImageNotAvailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsImageSignatureCheckFailed": {
        "type": "object",
        "description": "Thrown when tools install or upgrade fails because the\nsignature check on the tools image failed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmToolsUpgradeFault"
          }
        ]
      },
      "ArrayOfToolsImageSignatureCheckFailed": {
        "type": "object",
        "description": "A boxed array of *ToolsImageSignatureCheckFailed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsImageSignatureCheckFailed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsInstallationInProgress": {
        "type": "object",
        "description": "The virtual machine is currently in the progress of guest tools installation\nthat prevents the migration operation.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfToolsInstallationInProgress": {
        "type": "object",
        "description": "A boxed array of *ToolsInstallationInProgress*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsInstallationInProgress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsUnavailable": {
        "type": "object",
        "description": "A ToolsUnavailableFault exception is thrown when an\noperation fails to contact VMware Tools\nrunning inside the virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfToolsUnavailable": {
        "type": "object",
        "description": "A boxed array of *ToolsUnavailable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsUnavailable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsUpgradeCancelled": {
        "type": "object",
        "description": "Thrown when tools install or upgrade fails because the\noperation was canclled by the user.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmToolsUpgradeFault"
          }
        ]
      },
      "ArrayOfToolsUpgradeCancelled": {
        "type": "object",
        "description": "A boxed array of *ToolsUpgradeCancelled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsUpgradeCancelled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnSupportedDatastoreForVFlash": {
        "type": "object",
        "description": "VFlash is not supported on the datastore.\n",
        "properties": {
          "datastoreName": {
            "description": "The name of the Datastore.\n",
            "type": "string"
          },
          "type": {
            "description": "Datastore file system volume type.\n\nSee *DatastoreSummary.type*\n",
            "type": "string"
          }
        },
        "required": [
          "datastoreName",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/UnsupportedDatastore"
          }
        ]
      },
      "ArrayOfUnSupportedDatastoreForVFlash": {
        "type": "object",
        "description": "A boxed array of *UnSupportedDatastoreForVFlash*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnSupportedDatastoreForVFlash"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UncommittedUndoableDisk": {
        "type": "object",
        "description": "Fault thrown when an attempt is made to move or clone an undoable disk with an\nuncommitted REDO log.\n\nThis is an error. Undoable disks may be moved but they must\nbe committed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfUncommittedUndoableDisk": {
        "type": "object",
        "description": "A boxed array of *UncommittedUndoableDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UncommittedUndoableDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnconfiguredPropertyValue": {
        "type": "object",
        "description": "The property value has not been configured by the user, so the application\ncannot be started.\n\nThis is thrown if a property value is the empty string\nand the types does not allow it. For example, for an integer type or\na string where the minimum length is 1, and so forth.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidPropertyValue"
          }
        ]
      },
      "ArrayOfUnconfiguredPropertyValue": {
        "type": "object",
        "description": "A boxed array of *UnconfiguredPropertyValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnconfiguredPropertyValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UncustomizableGuest": {
        "type": "object",
        "description": "The specified guest operating system is not supported by the guest\ncustomization process.\n",
        "properties": {
          "uncustomizableGuestOS": {
            "description": "The guest OS ID for the uncustomizable guest.\n",
            "type": "string"
          }
        },
        "required": [
          "uncustomizableGuestOS"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfUncustomizableGuest": {
        "type": "object",
        "description": "A boxed array of *UncustomizableGuest*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UncustomizableGuest"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnexpectedCustomizationFault": {
        "type": "object",
        "description": "Error received when customization fails, possibly due to a scripting runtime\nerror or invalid script parameters.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfUnexpectedCustomizationFault": {
        "type": "object",
        "description": "A boxed array of *UnexpectedCustomizationFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnexpectedCustomizationFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnrecognizedHost": {
        "type": "object",
        "description": "A UnrecognizedHost is thrown if the VirtualCenter server fails to\nvalidate the identity of the host using host-key.\n\nIf a reconnect is attempted on a host and if the host-key of the host\nhas changed since the last successful connection attempt,\n(might be changed by another instance of VirtualCenter), VirtualCenter\nserver will fail to recognize the host.\n",
        "properties": {
          "hostName": {
            "description": "Host in the VirtualCenter inventory which failed the identity\nvalidation.\n",
            "type": "string"
          }
        },
        "required": [
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfUnrecognizedHost": {
        "type": "object",
        "description": "A boxed array of *UnrecognizedHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnrecognizedHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnsharedSwapVMotionNotSupported": {
        "type": "object",
        "description": "The compute resource and virtual machine configurations for swapfile\nplacement would require the virtual machine swapfile to change location for\nthis VMotion; however the host does not support this.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFeatureNotSupported"
          }
        ]
      },
      "ArrayOfUnsharedSwapVMotionNotSupported": {
        "type": "object",
        "description": "A boxed array of *UnsharedSwapVMotionNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnsharedSwapVMotionNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnsupportedDatastore": {
        "type": "object",
        "description": "The virtual machine is not supported on the target datastore.\n\nThis fault is\nthrown by provisioning operations when an attempt is made to create a virtual\nmachine on an unsupported datastore (for example, creating a non-legacy\nvirtual machine on a legacy datastore).\n",
        "properties": {
          "datastore": {
            "description": "The invalid datastore for this virtual machine.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfUnsupportedDatastore": {
        "type": "object",
        "description": "A boxed array of *UnsupportedDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnsupportedDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnsupportedGuest": {
        "type": "object",
        "description": "The specified guest operating system is not supported on the host\nthat is the target of the operation.\n",
        "properties": {
          "unsupportedGuestOS": {
            "description": "The guest OS ID for the unsupported guest.\n",
            "type": "string"
          }
        },
        "required": [
          "unsupportedGuestOS"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidVmConfig"
          }
        ]
      },
      "ArrayOfUnsupportedGuest": {
        "type": "object",
        "description": "A boxed array of *UnsupportedGuest*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnsupportedGuest"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnsupportedVimApiVersion": {
        "type": "object",
        "description": "This exception will be thrown if a client tries to connect with a unsupported version\nof the Vim API.\n",
        "properties": {
          "version": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfUnsupportedVimApiVersion": {
        "type": "object",
        "description": "A boxed array of *UnsupportedVimApiVersion*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnsupportedVimApiVersion"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnsupportedVmxLocation": {
        "type": "object",
        "description": "ESX 3 Server products requires the .vmx file to be stored\non NAS or VMFS3 storage.\n\nIf attempting to power on a virtual\nmachine with the .vmx file stored on the service console, this\nfault will be thrown.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfUnsupportedVmxLocation": {
        "type": "object",
        "description": "A boxed array of *UnsupportedVmxLocation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnsupportedVmxLocation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnusedVirtualDiskBlocksNotScrubbed": {
        "type": "object",
        "description": "The unused disk blocks of the specified virtual disk have not been\nscrubbed on the file system.\n\nTypically, this fault is returned as part of a parent fault like\n*VmConfigIncompatibleForFaultTolerance*, indicating that the\nunused blocks of the virtual disk must be zeroed-out on the file system before\nbefore fault tolerance can be enabled on the associated virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceBackingNotSupported"
          }
        ]
      },
      "ArrayOfUnusedVirtualDiskBlocksNotScrubbed": {
        "type": "object",
        "description": "A boxed array of *UnusedVirtualDiskBlocksNotScrubbed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnusedVirtualDiskBlocksNotScrubbed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserNotFound": {
        "type": "object",
        "description": "Thrown when the request refers to a user or group name that could not\nbe resolved.\n",
        "properties": {
          "principal": {
            "description": "Principal value that failed lookup.\n",
            "type": "string"
          },
          "unresolved": {
            "description": "Flag to indicate whether or not the lookup was unsuccessful.\n\nA false value indicates that the user does not exist in the directory. A true\nvalue indicates that the directory could not be contacted, possibly due to a\nnetwork error.\n",
            "type": "boolean"
          }
        },
        "required": [
          "principal",
          "unresolved"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfUserNotFound": {
        "type": "object",
        "description": "A boxed array of *UserNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppConfigFault": {
        "type": "object",
        "description": "Base for configuration / environment issues that can be thrown when powering on or\nchanging the configuration of a vApp.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfVAppConfigFault": {
        "type": "object",
        "description": "A boxed array of *VAppConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppNotRunning": {
        "type": "object",
        "description": "A virtual machine in a vApp cannot be powered on unless the\nparent vApp is running.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfVAppNotRunning": {
        "type": "object",
        "description": "A boxed array of *VAppNotRunning*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppNotRunning"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppOperationInProgress": {
        "type": "object",
        "description": "This fault is thrown when an operation is attempted on a target where\na vApp operation is already in progress.\n\nE.g. when trying to move a\nvirtual machine from a vApp that is being powered on.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfVAppOperationInProgress": {
        "type": "object",
        "description": "A boxed array of *VAppOperationInProgress*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppOperationInProgress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppPropertyFault": {
        "type": "object",
        "description": "The base fault for all vApp property configuration issues\n",
        "properties": {
          "id": {
            "description": "The fully-qualified id of the property, including instance and class\nidentifiers.\n",
            "type": "string"
          },
          "category": {
            "description": "The user-readable category\n",
            "type": "string"
          },
          "label": {
            "description": "The user-readable label\n",
            "type": "string"
          },
          "type": {
            "description": "The type specified for the property\n",
            "type": "string"
          },
          "value": {
            "description": "The value of the property\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "category",
          "label",
          "type",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfVAppPropertyFault": {
        "type": "object",
        "description": "A boxed array of *VAppPropertyFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppPropertyFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppTaskInProgress": {
        "type": "object",
        "description": "A specialized TaskInProgress when an operation is performed\non a VM and it is failed due to a vApp-level operation\nis in progress.\n\nFor example, while the power-on sequence is\nexecuted on a vApp, individual power-on's of child VMs are\nfailed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskInProgress"
          }
        ]
      },
      "ArrayOfVAppTaskInProgress": {
        "type": "object",
        "description": "A boxed array of *VAppTaskInProgress*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppTaskInProgress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VFlashCacheHotConfigNotSupported": {
        "type": "object",
        "description": "VFlash cache hot-configuration on a VMDK is not supported.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfVFlashCacheHotConfigNotSupported": {
        "type": "object",
        "description": "A boxed array of *VFlashCacheHotConfigNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VFlashCacheHotConfigNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VFlashModuleNotSupported": {
        "type": "object",
        "description": "vFlash module is not supported due to its configuration is not\nsupported by the host.\n",
        "properties": {
          "vmName": {
            "description": "VM name\n",
            "type": "string"
          },
          "moduleName": {
            "description": "The vFlash module name.\n",
            "type": "string"
          },
          "reason": {
            "description": "Message of reason.\n",
            "type": "string"
          },
          "hostName": {
            "description": "Host name\n",
            "type": "string"
          }
        },
        "required": [
          "vmName",
          "moduleName",
          "reason",
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfVFlashModuleNotSupported": {
        "type": "object",
        "description": "A boxed array of *VFlashModuleNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VFlashModuleNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VFlashModuleVersionIncompatible": {
        "type": "object",
        "description": "The vFlash module version of the vFlash cache asscociated with the\nvirtual disk of a VM is not compatible with the supported versions of\nthe specified vFlash module on the host.\n",
        "properties": {
          "moduleName": {
            "description": "The vFlash module name.\n",
            "type": "string"
          },
          "vmRequestModuleVersion": {
            "description": "The VM request module version.\n",
            "type": "string"
          },
          "hostMinSupportedVerson": {
            "description": "The minimum supported version of the specified module on the host.\n",
            "type": "string"
          },
          "hostModuleVersion": {
            "description": "The verson of the specified module on the host.\n",
            "type": "string"
          }
        },
        "required": [
          "moduleName",
          "vmRequestModuleVersion",
          "hostMinSupportedVerson",
          "hostModuleVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfVFlashModuleVersionIncompatible": {
        "type": "object",
        "description": "A boxed array of *VFlashModuleVersionIncompatible*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VFlashModuleVersionIncompatible"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMINotSupported": {
        "type": "object",
        "description": "The virtual machine is configured to use a VMI ROM, which is not\nsupported on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfVMINotSupported": {
        "type": "object",
        "description": "A boxed array of *VMINotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMINotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMOnConflictDVPort": {
        "type": "object",
        "description": "The virtual machine is using a conflict DVPort, which is a temporary port created\nto avoid conflict with another port.\n\nConflict DVPort cannot be moved.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotAccessNetwork"
          }
        ]
      },
      "ArrayOfVMOnConflictDVPort": {
        "type": "object",
        "description": "A boxed array of *VMOnConflictDVPort*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMOnConflictDVPort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMOnVirtualIntranet": {
        "type": "object",
        "description": "The virtual machine is using a \"virtual intranet\", a virtual network\nthat exists only within a single host.\n\nIf returned as part of a migration check, this\nis an error if the virtual machine is currently connected to the network and a\nwarning otherwise.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotAccessNetwork"
          }
        ]
      },
      "ArrayOfVMOnVirtualIntranet": {
        "type": "object",
        "description": "A boxed array of *VMOnVirtualIntranet*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMOnVirtualIntranet"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMotionAcrossNetworkNotSupported": {
        "type": "object",
        "description": "An operation on a powered-on virtual machine requests a change of\nnetworks, but the host does not have that capability.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFeatureNotSupported"
          }
        ]
      },
      "ArrayOfVMotionAcrossNetworkNotSupported": {
        "type": "object",
        "description": "A boxed array of *VMotionAcrossNetworkNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMotionAcrossNetworkNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMotionInterfaceIssue": {
        "type": "object",
        "description": "A VMotion interface has a problem.\n\nThis may be an error or warning depending\non the specific fault subclass. This is an error or warning only when\nmigrating a powered-on virtual machine.\n",
        "properties": {
          "atSourceHost": {
            "description": "Whether this error is for the source host.\n",
            "type": "boolean"
          },
          "failedHost": {
            "description": "The name of the host with the bad interface.\n",
            "type": "string"
          },
          "failedHostEntity": {
            "description": "The host with the bad interface.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "atSourceHost",
          "failedHost"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfVMotionInterfaceIssue": {
        "type": "object",
        "description": "A boxed array of *VMotionInterfaceIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMotionInterfaceIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMotionLinkCapacityLow": {
        "type": "object",
        "description": "The VMotion interface does not have the recommended capacity to support\nVMotion.\n\nVMotion is supported on links that have a speed of at least 1000\nMbps and are full duplex. This is a warning for migrating powered-on virtual\nmachines.\n",
        "properties": {
          "network": {
            "description": "Name of the network being used for the VMotion interface.\n",
            "type": "string"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VMotionInterfaceIssue"
          }
        ]
      },
      "ArrayOfVMotionLinkCapacityLow": {
        "type": "object",
        "description": "A boxed array of *VMotionLinkCapacityLow*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMotionLinkCapacityLow"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMotionLinkDown": {
        "type": "object",
        "description": "The VMotion interface does not have any operational physical links\nassociated with it.\n\nThis is an error for migrating powered-on virtual\nmachines.\n",
        "properties": {
          "network": {
            "description": "Name of the network being used for the VMotion interface.\n",
            "type": "string"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VMotionInterfaceIssue"
          }
        ]
      },
      "ArrayOfVMotionLinkDown": {
        "type": "object",
        "description": "A boxed array of *VMotionLinkDown*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMotionLinkDown"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMotionNotConfigured": {
        "type": "object",
        "description": "A VMotion interface is not configured (or is misconfigured) on\neither the source or destination host.\n\nThis is an error only\nwhen migrating a powered-on virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VMotionInterfaceIssue"
          }
        ]
      },
      "ArrayOfVMotionNotConfigured": {
        "type": "object",
        "description": "A boxed array of *VMotionNotConfigured*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMotionNotConfigured"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMotionNotLicensed": {
        "type": "object",
        "description": "VMotion is not licensed on a source or destination host.\n\nIt must be licensed on both\nhosts.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VMotionInterfaceIssue"
          }
        ]
      },
      "ArrayOfVMotionNotLicensed": {
        "type": "object",
        "description": "A boxed array of *VMotionNotLicensed*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMotionNotLicensed"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMotionNotSupported": {
        "type": "object",
        "description": "The source or the destination host does not support VMotion.\n\nThis is an\nerror only when migrating a powered-on virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VMotionInterfaceIssue"
          }
        ]
      },
      "ArrayOfVMotionNotSupported": {
        "type": "object",
        "description": "A boxed array of *VMotionNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMotionNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VMotionProtocolIncompatible": {
        "type": "object",
        "description": "VMotion protocol version incompatibility prevents VMotion from the\nvirtual machine's current host to the requested destination host.\n\n(VMotion in the other direction may or may not be supported.)\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfVMotionProtocolIncompatible": {
        "type": "object",
        "description": "A boxed array of *VMotionProtocolIncompatible*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VMotionProtocolIncompatible"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VimFault": {
        "type": "object",
        "description": "The common base type for all virtual infrastructure management\nexceptions.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfVimFault": {
        "type": "object",
        "description": "A boxed array of *VimFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskBlocksNotFullyProvisioned": {
        "type": "object",
        "description": "The disk blocks of the specified virtual disk have not been fully\nprovisioned on the file system.\n\nTypically, this fault is returned as part of a parent fault like\n*VmConfigIncompatibleForFaultTolerance*, indicating that the\ndisk blocks of the virtual disk must be fully provisioned on the file system\nbefore fault tolerance can be enabled on the associated virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceBackingNotSupported"
          }
        ]
      },
      "ArrayOfVirtualDiskBlocksNotFullyProvisioned": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskBlocksNotFullyProvisioned*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskBlocksNotFullyProvisioned"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskModeNotSupported": {
        "type": "object",
        "description": "The disk mode of the specified virtual disk is not supported.\n\nTypically, this fault is returned as part of a parent fault like\n*VmConfigIncompatibleForFaultTolerance*, indicating that the\nvirtual disk's mode needs to be changed before fault tolerance can be\nenabled on the associated virtual machine.\n",
        "properties": {
          "mode": {
            "description": "Disk mode that is not supported\n",
            "type": "string"
          }
        },
        "required": [
          "mode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfVirtualDiskModeNotSupported": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskModeNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskModeNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardNotSupported": {
        "type": "object",
        "description": "The virtual machine's virtual ethernet card is not supported.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeviceNotSupported"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardNotSupported": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualHardwareCompatibilityIssue": {
        "type": "object",
        "description": "There is a problem with the compatibility between the intended execution host\nand the virtual machine.\n\nThis may be an error or warning depending on\nthe specific fault subclass.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfVirtualHardwareCompatibilityIssue": {
        "type": "object",
        "description": "A boxed array of *VirtualHardwareCompatibilityIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualHardwareVersionNotSupported": {
        "type": "object",
        "description": "The virtual machine's virtual hardware version is not supported on the host.\n",
        "properties": {
          "hostName": {
            "type": "string"
          },
          "host": {
            "description": "The host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "hostName",
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfVirtualHardwareVersionNotSupported": {
        "type": "object",
        "description": "A boxed array of *VirtualHardwareVersionNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualHardwareVersionNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmAlreadyExistsInDatacenter": {
        "type": "object",
        "description": "Fault thrown when moving a standalone host between datacenters, and\none or more of the virtual machines registered on the host are already\nregistered to hosts in the target datacenter.\n",
        "properties": {
          "host": {
            "description": "The target host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostname": {
            "description": "Name of the target host.\n",
            "type": "string"
          },
          "vm": {
            "description": "Virtual machines in the target datacenter which have the same\nregistration information as those belonging to the target host.\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "host",
          "hostname",
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidFolder"
          }
        ]
      },
      "ArrayOfVmAlreadyExistsInDatacenter": {
        "type": "object",
        "description": "A boxed array of *VmAlreadyExistsInDatacenter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmAlreadyExistsInDatacenter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigFault": {
        "type": "object",
        "description": "Base for configuration / environment issues that can be thrown when powering on or\nchanging the configuration of a virtual machine.\n\nSubclasses of this fault is also\nused as recent why a migration can fail.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfVmConfigFault": {
        "type": "object",
        "description": "A boxed array of *VmConfigFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigIncompatibleForFaultTolerance": {
        "type": "object",
        "description": "Thrown when a virtual machine's existing or requested configuration is\nincompatible for fault tolerance.\n",
        "properties": {
          "fault": {
            "description": "Fault indicating the specific configuration issue.\n\nThis is typically\na subclass of VirtualHardwareCompatibilityIssue.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfVmConfigIncompatibleForFaultTolerance": {
        "type": "object",
        "description": "A boxed array of *VmConfigIncompatibleForFaultTolerance*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigIncompatibleForFaultTolerance"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigIncompatibleForRecordReplay": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0.\n\nThrown when a virtual machine's existing or requested configuration is\nincompatible for record and replay.\n",
        "properties": {
          "fault": {
            "description": "Fault indicating the specific configuration issue.\n\nThis is typically\na subclass of VirtualHardwareCompatibilityIssue.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfVmConfigIncompatibleForRecordReplay": {
        "type": "object",
        "description": "A boxed array of *VmConfigIncompatibleForRecordReplay*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigIncompatibleForRecordReplay"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceConfigIssue": {
        "type": "object",
        "description": "Configuration issues that can occur during operations\nrelated to fault tolerance protection for virtual machines.\n",
        "properties": {
          "reason": {
            "description": "The reason for the failure.\n",
            "type": "string"
          },
          "entityName": {
            "description": "The entity name.\n\nDepending on the issue, it could\nbe virtual machine or host.\n",
            "type": "string"
          },
          "entity": {
            "description": "The entity\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfVmFaultToleranceConfigIssue": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceConfigIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceConfigIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceConfigIssueWrapper": {
        "type": "object",
        "description": "Configuration issues that can occur during operations\nrelated to fault tolerance protection for virtual machines.\n",
        "properties": {
          "entityName": {
            "description": "The entity name.\n\nDepending on the issue, it could\nbe virtual machine or host.\n",
            "type": "string"
          },
          "entity": {
            "description": "The entity\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "error": {
            "description": "The nested error when the reason field is other\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfVmFaultToleranceConfigIssueWrapper": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceConfigIssueWrapper*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceConfigIssueWrapper"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceInvalidFileBacking": {
        "type": "object",
        "description": "Indicates the file backing for some device prevents fault tolerance\nprotection\n",
        "properties": {
          "backingType": {
            "description": "The device type of the file backing\n",
            "type": "string"
          },
          "backingFilename": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfVmFaultToleranceInvalidFileBacking": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceInvalidFileBacking*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceInvalidFileBacking"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceIssue": {
        "type": "object",
        "description": "Base object type for issues that can occur during operations\nrelated to fault tolerance protection for virtual machines.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfVmFaultToleranceIssue": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceOpIssuesList": {
        "type": "object",
        "description": "Container for a list of configuration issues that can occur during\noperations related to fault tolerance protection for virtual machines.\n",
        "properties": {
          "errors": {
            "description": "A list of faults representing errors\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmFaultToleranceIssue"
          }
        ]
      },
      "ArrayOfVmFaultToleranceOpIssuesList": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceOpIssuesList*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceOpIssuesList"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceTooManyFtVcpusOnHost": {
        "type": "object",
        "description": "This fault is returned when a host has more than the recommended number of\nFault Tolerance vCPUs running on it.\n",
        "properties": {
          "hostName": {
            "description": "The name of the host\n",
            "type": "string"
          },
          "maxNumFtVcpus": {
            "description": "The recommended number of FT protected vCPUs on a host.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxNumFtVcpus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfVmFaultToleranceTooManyFtVcpusOnHost": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceTooManyFtVcpusOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceTooManyFtVcpusOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmFaultToleranceTooManyVMsOnHost": {
        "type": "object",
        "description": "This fault is returned when a host has more than the recommended number of\nFault Tolerance VMs running on it.\n",
        "properties": {
          "hostName": {
            "type": "string"
          },
          "maxNumFtVms": {
            "description": "The recommended number of Fault Tolerance VMs running on the host.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxNumFtVms"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfVmFaultToleranceTooManyVMsOnHost": {
        "type": "object",
        "description": "A boxed array of *VmFaultToleranceTooManyVMsOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmFaultToleranceTooManyVMsOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmHostAffinityRuleViolation": {
        "type": "object",
        "description": "The virtual machine if powered on or VMotioned, would violate a VM-Host affinity rule.\n",
        "properties": {
          "vmName": {
            "description": "The vm that can not be powered on or VMotioned without violating a rule.\n",
            "type": "string"
          },
          "hostName": {
            "description": "The host that the virtual machine can not be powered on without violating a rule.\n",
            "type": "string"
          }
        },
        "required": [
          "vmName",
          "hostName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFault"
          }
        ]
      },
      "ArrayOfVmHostAffinityRuleViolation": {
        "type": "object",
        "description": "A boxed array of *VmHostAffinityRuleViolation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmHostAffinityRuleViolation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmLimitLicense": {
        "type": "object",
        "description": "A VmLimitLicense fault is thrown if powering on the virtual\nmachine would exceed the maximum number of running virtual\nmachines allowed.\n",
        "properties": {
          "limit": {
            "description": "The maximum number of running virtual machines\nlimit.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "limit"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfVmLimitLicense": {
        "type": "object",
        "description": "A boxed array of *VmLimitLicense*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmLimitLicense"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMetadataManagerFault": {
        "type": "object",
        "description": "This fault indicates that some error has occurred during the processing of\nof a MetadataManager operation.\n\nThis may be subclassed by a more specific\nfault.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfVmMetadataManagerFault": {
        "type": "object",
        "description": "A boxed array of *VmMetadataManagerFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMetadataManagerFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmMonitorIncompatibleForFaultTolerance": {
        "type": "object",
        "description": "Thrown when turning on Fault Tolerance protection on a running virtual machine\nif the virtual machine is running in a monitor mode that is incompatible.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfVmMonitorIncompatibleForFaultTolerance": {
        "type": "object",
        "description": "A boxed array of *VmMonitorIncompatibleForFaultTolerance*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmMonitorIncompatibleForFaultTolerance"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPowerOnDisabled": {
        "type": "object",
        "description": "This exception is thrown if the power-on of a virtual machine is attempted\nwhen the operation is disabled on the host\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidState"
          }
        ]
      },
      "ArrayOfVmPowerOnDisabled": {
        "type": "object",
        "description": "A boxed array of *VmPowerOnDisabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPowerOnDisabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSmpFaultToleranceTooManyVMsOnHost": {
        "type": "object",
        "description": "This fault is returned when a host has more than the recommended number of\nSMP Fault Tolerance VMs running on it.\n",
        "properties": {
          "hostName": {
            "description": "The name of the host\n",
            "type": "string"
          },
          "maxNumSmpFtVms": {
            "description": "The recommended number of SMP-Fault Tolerance VMs running on the host.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "maxNumSmpFtVms"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InsufficientResourcesFault"
          }
        ]
      },
      "ArrayOfVmSmpFaultToleranceTooManyVMsOnHost": {
        "type": "object",
        "description": "A boxed array of *VmSmpFaultToleranceTooManyVMsOnHost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSmpFaultToleranceTooManyVMsOnHost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmToolsUpgradeFault": {
        "type": "object",
        "description": "A base fault to indicate that something went wrong when upgrading tools.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfVmToolsUpgradeFault": {
        "type": "object",
        "description": "A boxed array of *VmToolsUpgradeFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmToolsUpgradeFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmValidateMaxDevice": {
        "type": "object",
        "properties": {
          "device": {
            "description": "The device\n",
            "type": "string"
          },
          "max": {
            "description": "max count for the device\n",
            "type": "integer",
            "format": "int32"
          },
          "count": {
            "description": "number of devices found in vim.vm.ConfigSpec\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "device",
          "max",
          "count"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfVmValidateMaxDevice": {
        "type": "object",
        "description": "A boxed array of *VmValidateMaxDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmValidateMaxDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmWwnConflict": {
        "type": "object",
        "description": "Thrown if a user attempts to assign a\nWWN that is currently being used by other virtual machine or host.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine that is using the same WWN.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The host that is using the same WWN.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "The name of the virtual machine/host that is using the same WWN.\n",
            "type": "string"
          },
          "wwn": {
            "description": "The WWN that is in conflict.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidVmConfig"
          }
        ]
      },
      "ArrayOfVmWwnConflict": {
        "type": "object",
        "description": "A boxed array of *VmWwnConflict*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmWwnConflict"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsAlreadyMounted": {
        "type": "object",
        "description": "A VmfsAlreadyMounted fault indicates that VMFS volume with same UUID\nis already mounted on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmfsMountFault"
          }
        ]
      },
      "ArrayOfVmfsAlreadyMounted": {
        "type": "object",
        "description": "A boxed array of *VmfsAlreadyMounted*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsAlreadyMounted"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsAmbiguousMount": {
        "type": "object",
        "description": "An 'VmfsAmbiguousMount' fault occurs when ESX is unable to resolve the\nextents of a VMFS volume unambiguously.\n\nThis is thrown only when a VMFS\nvolume has multiple extents and multiple copies of VMFS volumes are available.\nVMFS layer will not be able to determine how to re-construct the VMFS\nvolume as multiple choices are available.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmfsMountFault"
          }
        ]
      },
      "ArrayOfVmfsAmbiguousMount": {
        "type": "object",
        "description": "A boxed array of *VmfsAmbiguousMount*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsAmbiguousMount"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsMountFault": {
        "type": "object",
        "description": "This is a base class for all VMFS volume mount related faults.\n",
        "properties": {
          "uuid": {
            "description": "Vmfs volume uuid\n",
            "type": "string"
          }
        },
        "required": [
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConfigFault"
          }
        ]
      },
      "ArrayOfVmfsMountFault": {
        "type": "object",
        "description": "A boxed array of *VmfsMountFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsMountFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmotionInterfaceNotEnabled": {
        "type": "object",
        "description": "This fault is thrown when the Vmotion Interface on this host is not enabled.\n\nThe Vmotion Interface is needed for waking up the host from standby mode.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostPowerOpFailed"
          }
        ]
      },
      "ArrayOfVmotionInterfaceNotEnabled": {
        "type": "object",
        "description": "A boxed array of *VmotionInterfaceNotEnabled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmotionInterfaceNotEnabled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VolumeEditorError": {
        "type": "object",
        "description": "An error occurred in the Open Source Components applications during\nvolume editing.\n\nPossibly caused by an incompatible cygwin version\ninstalled in the VirtualCenter server.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFault"
          }
        ]
      },
      "ArrayOfVolumeEditorError": {
        "type": "object",
        "description": "A boxed array of *VolumeEditorError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VolumeEditorError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VramLimitLicense": {
        "type": "object",
        "description": "A VramLimitLicense fault is thrown if executing an operation\nwould result in exceeding maximum allowed vRAM amount.\n\nFor example, this could happen when powering on a VM,\nhot-plugging memory into a running VMm, etc.\n",
        "properties": {
          "limit": {
            "description": "The maximum allowed vRAM amount.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "limit"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NotEnoughLicenses"
          }
        ]
      },
      "ArrayOfVramLimitLicense": {
        "type": "object",
        "description": "A boxed array of *VramLimitLicense*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VramLimitLicense"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanClusterUuidMismatch": {
        "type": "object",
        "description": "Fault thrown for the case that an attempt is made to move a host which\nis enabled for VSAN into a *ClusterComputeResource* whose\nVSAN cluster UUID does not match.\n\nSee also *CannotMoveVsanEnabledHost*.\n",
        "properties": {
          "hostClusterUuid": {
            "description": "The VSAN cluster UUID in use by the host at hand.\n",
            "type": "string"
          },
          "destinationClusterUuid": {
            "description": "The VSAN cluster UUID in use by the destination\n*ClusterComputeResource*.\n",
            "type": "string"
          }
        },
        "required": [
          "hostClusterUuid",
          "destinationClusterUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CannotMoveVsanEnabledHost"
          }
        ]
      },
      "ArrayOfVsanClusterUuidMismatch": {
        "type": "object",
        "description": "A boxed array of *VsanClusterUuidMismatch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanClusterUuidMismatch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanDiskFault": {
        "type": "object",
        "description": "Base exception class for VSAN disk-related faults.\n",
        "properties": {
          "device": {
            "description": "The canonical name for the disk at hand, if applicable.\n\nSee also *ScsiLun.canonicalName*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanFault"
          }
        ]
      },
      "ArrayOfVsanDiskFault": {
        "type": "object",
        "description": "A boxed array of *VsanDiskFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanDiskFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanFault": {
        "type": "object",
        "description": "Base exception class for VSAN-specific faults raised for host\nor cluster operations.\n\nSee also *HostVsanSystem*, *ComputeResource.ReconfigureComputeResource_Task*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfVsanFault": {
        "type": "object",
        "description": "A boxed array of *VsanFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanIncompatibleDiskMapping": {
        "type": "object",
        "description": "Fault used for the add operation which will result in incompatible\ndisk mappings.\n\nSee also *HostVsanSystem.InitializeDisks_Task*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VsanDiskFault"
          }
        ]
      },
      "ArrayOfVsanIncompatibleDiskMapping": {
        "type": "object",
        "description": "A boxed array of *VsanIncompatibleDiskMapping*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanIncompatibleDiskMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VspanDestPortConflict": {
        "type": "object",
        "description": "Thrown if a dvPort is used as destination in multiple Distributed Port Mirroring sessions.\n",
        "properties": {
          "vspanSessionKey1": {
            "description": "The key of the Distributed Port Mirroring session whose destination ports include a port\nthat is also used as destination ports of other Distributed Port Mirroring sessions\n",
            "type": "string"
          },
          "vspanSessionKey2": {
            "description": "The key of the Distributed Port Mirroring session whose destination ports include a port\nthat is also used as destination ports of other Distributed Port Mirroring sessions\n",
            "type": "string"
          },
          "portKey": {
            "description": "The key of the the port that is used as destination in multiple Distributed Port Mirroring sessions\n",
            "type": "string"
          }
        },
        "required": [
          "vspanSessionKey1",
          "vspanSessionKey2",
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfVspanDestPortConflict": {
        "type": "object",
        "description": "A boxed array of *VspanDestPortConflict*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VspanDestPortConflict"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VspanPortConflict": {
        "type": "object",
        "description": "Thrown if a DistributedVirtualPort appears in both the transmitted source and destination\nports of any Distributed Port Mirroring session.\n",
        "properties": {
          "vspanSessionKey1": {
            "description": "The key of the Distributed Port Mirroring session that is in conflict\n",
            "type": "string"
          },
          "vspanSessionKey2": {
            "description": "The key of the Distributed Port Mirroring session that is in conflict\n",
            "type": "string"
          },
          "portKey": {
            "description": "The key of the port that is both the transmitted source and destination.\n",
            "type": "string"
          }
        },
        "required": [
          "vspanSessionKey1",
          "vspanSessionKey2",
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfVspanPortConflict": {
        "type": "object",
        "description": "A boxed array of *VspanPortConflict*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VspanPortConflict"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VspanPortMoveFault": {
        "type": "object",
        "description": "Thrown when moving a port used as tranmistted source or destination ports in vspan\nsession to a promiscuous portgroup if this operation may change\nthe non-promiscuous port to promiscuous mode.\n",
        "properties": {
          "srcPortgroupName": {
            "description": "The key of the source portgroup.\n",
            "type": "string"
          },
          "destPortgroupName": {
            "description": "The key of the dest portgroup.\n",
            "type": "string"
          },
          "portKey": {
            "description": "The key of the port.\n",
            "type": "string"
          }
        },
        "required": [
          "srcPortgroupName",
          "destPortgroupName",
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfVspanPortMoveFault": {
        "type": "object",
        "description": "A boxed array of *VspanPortMoveFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VspanPortMoveFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VspanPortPromiscChangeFault": {
        "type": "object",
        "description": "Thrown when changing a non-promiscuous port used as tranmistted source or dest\nports in Distributed Port Mirroring session to promiscuous mode.\n",
        "properties": {
          "portKey": {
            "description": "The key of the port.\n",
            "type": "string"
          }
        },
        "required": [
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfVspanPortPromiscChangeFault": {
        "type": "object",
        "description": "A boxed array of *VspanPortPromiscChangeFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VspanPortPromiscChangeFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VspanPortgroupPromiscChangeFault": {
        "type": "object",
        "description": "Thrown when changing a non-promiscous portgroup to promiscuous mode if any port\nin this portgroup is used as tranmistted source or dest ports in vspan\nsession.\n",
        "properties": {
          "portgroupName": {
            "description": "The key of the port.\n",
            "type": "string"
          }
        },
        "required": [
          "portgroupName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfVspanPortgroupPromiscChangeFault": {
        "type": "object",
        "description": "A boxed array of *VspanPortgroupPromiscChangeFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VspanPortgroupPromiscChangeFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VspanPortgroupTypeChangeFault": {
        "type": "object",
        "description": "Thrown when changing a portgroup from static/dynamic binding to\nephemeral(no binding) if any ports in this portgroup participate in\nDistributed Port Mirroring session.\n",
        "properties": {
          "portgroupName": {
            "description": "The name of the portgroup.\n",
            "type": "string"
          }
        },
        "required": [
          "portgroupName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfVspanPortgroupTypeChangeFault": {
        "type": "object",
        "description": "A boxed array of *VspanPortgroupTypeChangeFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VspanPortgroupTypeChangeFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VspanPromiscuousPortNotSupported": {
        "type": "object",
        "description": "Thrown if a promiscuous port appears in transmitted source or destination\nports of any Distributed Port Mirroring session.\n",
        "properties": {
          "vspanSessionKey": {
            "description": "The key of the Distributed Port Mirroring session in which a promiscuous port is used as\ntransmitted source or destination ports.\n",
            "type": "string"
          },
          "portKey": {
            "description": "The key of the promiscuous port that appears in transmitted\nsource or destination ports.\n",
            "type": "string"
          }
        },
        "required": [
          "vspanSessionKey",
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfVspanPromiscuousPortNotSupported": {
        "type": "object",
        "description": "A boxed array of *VspanPromiscuousPortNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VspanPromiscuousPortNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VspanSameSessionPortConflict": {
        "type": "object",
        "description": "Thrown if a dvPort appears in both the source and destination\nports of the same Distributed Port Mirroring session.\n",
        "properties": {
          "vspanSessionKey": {
            "description": "The key of the Distributed Port Mirroring session in which a dvPort appears in both the source and destination ports\n",
            "type": "string"
          },
          "portKey": {
            "description": "The key of the port that appears in both the source and\ndestination ports of the same Distributed Port Mirroring session.\n",
            "type": "string"
          }
        },
        "required": [
          "vspanSessionKey",
          "portKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsFault"
          }
        ]
      },
      "ArrayOfVspanSameSessionPortConflict": {
        "type": "object",
        "description": "A boxed array of *VspanSameSessionPortConflict*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VspanSameSessionPortConflict"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WakeOnLanNotSupported": {
        "type": "object",
        "description": "The virtual machine and at least one of its virtual NICs are configured to\nuse Wake-on-LAN, but the host does not support Wake-on-LAN for the\nvirtual machine's selected guest OS.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualHardwareCompatibilityIssue"
          }
        ]
      },
      "ArrayOfWakeOnLanNotSupported": {
        "type": "object",
        "description": "A boxed array of *WakeOnLanNotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WakeOnLanNotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WakeOnLanNotSupportedByVmotionNIC": {
        "type": "object",
        "description": "This fault is thrown when Wake-on-LAN isn't supported by the Vmotion NIC on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostPowerOpFailed"
          }
        ]
      },
      "ArrayOfWakeOnLanNotSupportedByVmotionNIC": {
        "type": "object",
        "description": "A boxed array of *WakeOnLanNotSupportedByVmotionNIC*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WakeOnLanNotSupportedByVmotionNIC"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WillLoseHAProtection": {
        "type": "object",
        "description": "This fault is reported when the execution of a storage vmotion or\nrelocate operation would impact vSphere HA's ability to\nrestart a VM.\n\nFor storage vmotion, this fault\nis reported when HA protection will be lost after the vmotion\ncompletes. Consequently, HA would not restart the VM if it\nsubsequently failed. For relocate, relocate is not supported on\nVMs that failed before the operation is attempted and are in the\nprocess of being restarted at the time the operation is performed.\n",
        "properties": {
          "resolution": {
            "description": "The steps the user can take to restore protection if the\nthe operation is performed.\n\nValues come from\n*WillLoseHAProtectionResolution_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "resolution"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfWillLoseHAProtection": {
        "type": "object",
        "description": "A boxed array of *WillLoseHAProtection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WillLoseHAProtection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WillModifyConfigCpuRequirements": {
        "type": "object",
        "description": "A virtual machine's total CPU feature requirements are determined by\noverlaying the requirements specified in its configuration (if any) on top\nof the requirements specified in the descriptor for its guest OS.\n\nIt is\ntherefore possible for a host change to implicitly change a virtual\nmachine's CPU feature requirements. The guest OS descriptor may have\ndifferent requirements on the new host. Or, if the virtual machine\ncurrently specifies requirements in its configuration, those requirements\nwill be lost if the new host does not support this.\n\nThis fault indicates that the virtual machine's CPU feature requirements\nwould change because of a migration, and also that the destination host\ndoes support storing CPU feature requirements in the virtual machine's\nconfiguration. (If the destination host does not support such an action,\n*CannotModifyConfigCpuRequirements* is used instead of this fault.)\n\nThis is a warning to notify the user that the migration process will\nadjust the virtual machine's configuration so that it will be operating\nunder an unchanged set of CPU feature requirements on its new host. If the\nuser wishes to expose the different guest OS requirements of the new host,\nthe user will need to edit the virtual machine's configuration after the\nmigration.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfWillModifyConfigCpuRequirements": {
        "type": "object",
        "description": "A boxed array of *WillModifyConfigCpuRequirements*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WillModifyConfigCpuRequirements"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WillResetSnapshotDirectory": {
        "type": "object",
        "description": "This fault is reported when the execution of a storage vmotion or\nrelocate operation would reset the snapshotDirectory settings\nto its default value (VM's home/config directory).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MigrationFault"
          }
        ]
      },
      "ArrayOfWillResetSnapshotDirectory": {
        "type": "object",
        "description": "A boxed array of *WillResetSnapshotDirectory*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WillResetSnapshotDirectory"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WipeDiskFault": {
        "type": "object",
        "description": "This exception is thrown when VirtualMachine.wipeDisk\nencounters an error\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VimFault"
          }
        ]
      },
      "ArrayOfWipeDiskFault": {
        "type": "object",
        "description": "A boxed array of *WipeDiskFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WipeDiskFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostActiveDirectoryInfo": {
        "type": "object",
        "description": "The *HostActiveDirectoryInfo* data object describes ESX host\nmembership in an Active Directory domain.\n\nIf the\n*HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled*\nproperty is <code>True</code>, the host is a member of a domain\nand the ESX Server will set the domain information properties.\n",
        "properties": {
          "joinedDomain": {
            "description": "The domain that this host joined.\n",
            "type": "string"
          },
          "trustedDomain": {
            "description": "List of domains with which the <code>joinedDomain</code> has a trust.\n\nThe <code>joinedDomain</code> is not included in the\n<code>trustedDomain</code> list.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "domainMembershipStatus": {
            "description": "Health information about the domain membership.\n\nSee *HostActiveDirectoryInfoDomainMembershipStatus_enum*.\n",
            "type": "string"
          },
          "smartCardAuthenticationEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nWhether local smart card authentication is enabled.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDirectoryStoreInfo"
          }
        ]
      },
      "ArrayOfHostActiveDirectoryInfo": {
        "type": "object",
        "description": "A boxed array of *HostActiveDirectoryInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostActiveDirectoryInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostActiveDirectory": {
        "type": "object",
        "description": "The *HostActiveDirectory* data object contains\nActive Directory configuration information for an ESX host.\n\nThe vSphere API supports Microsoft Active Directory management\nof authentication for ESX hosts. To integrate an ESX host\ninto an Active Directory environment, you use an Active Directory\naccount that has the authority to add a computer to a domain.\nThe ESX Server locates the Active Directory domain controller.\nWhen you use the host profile to configure authentication\nfor an ESX host, you specify the configuration operation (add or remove).\nTo add the host to a domain, specify\nthe domain, and the authorized Active Directory account user name and password.\nYou do not need to specify these parameters to remove the host from a domain\nbecause the host has the information it needs to perform the operation.\nWhen you call *HostProfileManager.ApplyHostConfig_Task*\nto apply the configuration, the ESX Server will call the appropriate\nmethod (*HostActiveDirectoryAuthentication.JoinDomain_Task*\nor *HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task*)\non your behalf.\n\nBefore you call the method to apply the host profile, check to see that the\n*HostAuthenticationManager*.*HostAuthenticationManager.supportedStore*\narray contains a *HostActiveDirectoryAuthentication* object.\nThe presence of the Active Directory authentication object indicates\nthat a host is capable of joining a domain.\nHowever, if you try to add a host to a domain when the\n*HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled*\nproperty is <code>True</code>, the join method will throw a fault.\n\nAs an alternative to using the host profile to configure Active Directory\nauthentication for an ESX host, your vSphere client application can call\nthe *HostActiveDirectoryAuthentication* join and leave methods directly\nto add the host to or remove the host from a domain.\n\nTo take advantage of ESX host membership in an Active Directory domain,\ngrant permissions on the ESX host to users and groups in Active Directory\nwho should have direct access to management of the ESX host.\nUse the *UserDirectory*.*UserDirectory.RetrieveUserGroups*\nmethod to obtain information about Active Directory users and groups.\nAfter retrieving the Active Directory data, you can use the\n*AuthorizationManager*.*AuthorizationManager.SetEntityPermissions*\nmethod to set the *Permission.principal* property\nto the appropriate user or group.\n\nBy default, the ESX host assigns the Administrator role to the \"ESX Admins\" group.\nIf the group does not exist when the host joins the domain, the host will\nnot assign the role. In this case, you must create the \"ESX Admins\"\ngroup in the Active Directory. The host will periodically check the domain controller\nfor the group and will assign the role when the group exists.\n",
        "properties": {
          "changeOperation": {
            "description": "Configuration change operation to apply to the host.\n\nYou can specify\nthe following values:\n- *add*:\n  Add the host to the domain. The ESX Server will use the\n  *HostActiveDirectorySpec* information\n  (domain, account user name and password) to call\n  *HostActiveDirectoryAuthentication.JoinDomain_Task* and optionally\n  configure smart card authentication by calling\n  *HostActiveDirectoryAuthentication.DisableSmartCardAuthentication*\n  and replacing the trust anchors with those provided.\n- *remove*:\n  Remove the host from its current domain.\n  The ESX Server will call\n  *HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task*, specifying\n  <code>True</code> for the <code>force</code> parameter to delete\n  existing permissions.\n  *HostActiveDirectoryAuthentication.DisableSmartCardAuthentication*\n  is also called if smart card authentication is enabled and trust\n  anchors are removed.\n  \nSee also *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          },
          "spec": {
            "description": "Active Directory domain access information (domain and account\nuser name and password).\n",
            "$ref": "#/components/schemas/HostActiveDirectorySpec"
          }
        },
        "required": [
          "changeOperation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostActiveDirectory": {
        "type": "object",
        "description": "A boxed array of *HostActiveDirectory*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostActiveDirectory"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostActiveDirectorySpec": {
        "type": "object",
        "description": "The *HostActiveDirectorySpec* data object defines\nproperties for Active Directory domain access.\n",
        "properties": {
          "domainName": {
            "description": "Domain name.\n",
            "type": "string"
          },
          "userName": {
            "description": "Name of an Active Directory account with the authority\nto add a host to the domain.\n",
            "type": "string"
          },
          "password": {
            "description": "Password for the Active Directory account.\n",
            "type": "string",
            "format": "password"
          },
          "camServer": {
            "description": "If set, the CAM server will be used to join the domain\nand the <code>userName</code> and <code>password</code> fields\nwill be ignored.\n",
            "type": "string"
          },
          "thumbprint": {
            "description": "Thumbprint for the SSL certficate of CAM server\n",
            "type": "string"
          },
          "certificate": {
            "description": "PEM-encoded certificate of the CAM server\nThis field replaces *HostActiveDirectorySpec.thumbprint*.\n\nIf both *HostActiveDirectorySpec.thumbprint*\nand *HostActiveDirectorySpec.certificate* fields are set, the *HostActiveDirectorySpec.thumbprint*\nshould match the *HostActiveDirectorySpec.certificate*.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          },
          "smartCardAuthenticationEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nSupport smart card authentication of local users.\n",
            "type": "boolean"
          },
          "smartCardTrustAnchors": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nTrusted root certificates for smart cards.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostActiveDirectorySpec": {
        "type": "object",
        "description": "A boxed array of *HostActiveDirectorySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostActiveDirectorySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAssignableHardwareBinding": {
        "type": "object",
        "description": "Data object indicating a device instance has been allocated to a VM.\n",
        "properties": {
          "instanceId": {
            "description": "Instance ID of assigned device.\n",
            "type": "string"
          },
          "vm": {
            "description": "Virtual machine to which the device is assigned.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "instanceId",
          "vm"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostAssignableHardwareBinding": {
        "type": "object",
        "description": "A boxed array of *HostAssignableHardwareBinding*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAssignableHardwareBinding"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAssignableHardwareConfig": {
        "type": "object",
        "description": "The AssignableHardwareConfig data object describes properties\nof all assignable devices on the host.\n",
        "properties": {
          "attributeOverride": {
            "description": "List of attribute overrides.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAssignableHardwareConfigAttributeOverride"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostAssignableHardwareConfig": {
        "type": "object",
        "description": "A boxed array of *HostAssignableHardwareConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAssignableHardwareConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAssignableHardwareConfigAttributeOverride": {
        "type": "object",
        "description": "An AttributeOverride provides a name-value pair that overrides\nfor a particular instance node a configurable Attribute defined\nby that device.\n",
        "properties": {
          "instanceId": {
            "description": "Instance ID of the Assignable Hardware instance node where\nthe attribute specified by name is overridden.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of attribute to override.\n",
            "type": "string"
          },
          "value": {
            "description": "When AssignableHardwareConfig is a returned data object:\nValue returned will always be set.\n\nWhen AssignableHardwareConfig is used as a parameter to\nan operation updating Assignable Hardware configuration:\nIf value is set, an existing AttributeOverride with matching\ninstanceId and name will have its value updated; if there is\nno existing AttributeOverride that matches, a new\nAttributeOverride is created. The type of the value must match\nthe type of the attribute value being overridden.\nIf value is not set, an existing AttributeOverride matching\nthe specified instanceId and name is deleted.\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "instanceId",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostAssignableHardwareConfigAttributeOverride": {
        "type": "object",
        "description": "A boxed array of *HostAssignableHardwareConfigAttributeOverride*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAssignableHardwareConfigAttributeOverride"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAuthenticationManagerInfo": {
        "type": "object",
        "description": "The *HostAuthenticationManagerInfo* data object provides\naccess to authentication information for the ESX host.\n",
        "properties": {
          "authConfig": {
            "description": "An array containing entries for local authentication and host\nActive Directory authentication.\n- *HostLocalAuthenticationInfo* - Local authentication is always enabled.\n- *HostActiveDirectoryInfo* - Host Active Directory authentication information\n  includes the name of the domain, membership status,\n  and a list of other domains trusted by the membership domain.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAuthenticationStoreInfo"
            }
          }
        },
        "required": [
          "authConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostAuthenticationManagerInfo": {
        "type": "object",
        "description": "A boxed array of *HostAuthenticationManagerInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAuthenticationManagerInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAuthenticationStoreInfo": {
        "type": "object",
        "description": "The *HostAuthenticationStoreInfo* base class defines status information\nfor local and host Active Directory authentication.\n",
        "properties": {
          "enabled": {
            "description": "Indicates whether the authentication store is configured.\n- Host Active Directory authentication - <code>enabled</code>\n  is <code>True</code> if the host is a member of a domain.\n- Local authentication - <code>enabled</code> is always <code>True</code>.\n",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostAuthenticationStoreInfo": {
        "type": "object",
        "description": "A boxed array of *HostAuthenticationStoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAuthenticationStoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AutoStartPowerInfo": {
        "type": "object",
        "description": "This object type describes the power-on / power-off behavior for a given virtual\nmachine.\n\nVirtual machines can be configured to wait for a period of time before\nstarting or to wait to receive a successful heartbeat from a virtual machine\nbefore starting the next virtual machine in the sequence.\n- For a power-on operation, if waitForHeartbeat is true, then the power-on\n  sequence continues after the first heartbeat has been received. If\n  waitForHeartbeat is false, the system waits for the specified delay and\n  then continues the power-on sequence.\n- For a power-off operation, if delay is non-zero, the requested power-off\n  action is invoked (powerOff, suspend, guestShutdown) on the virtual\n  machine and the system waits until the number of seconds specified in the\n  delay have passed.\n  \nIf startAction and stopAction for a virtual machine are both set to none, that\nvirtual machine is removed from the AutoStart sequence.\nVirtual machines can be configured both to wait for a period of time before\nstarting and to wait for a heartbeat. In such a case, the waiting virtual machine\nonly waits until either of these conditions are met. In other words, a virtual\nmachine starts in either of the following cases:\n- After receiving a heartbeat but before the start delay has elapsed\n- After the start delay has elapsed but before receiving a heartbeat\n  \nThis provides a better experience since as soon as one virtual machine begins\nsending heartbeats, indicating it has successfully started up, the next machine\nwill begin starting up. This happens even if the startDelay has not yet elapsed.\nSimilarly, if one virtual machine fails to begin sending heartbeats, perhaps\nbecause it could not start up, other machines are not blocked from starting up\nsince the startDelay eventually elapses.\n",
        "properties": {
          "key": {
            "description": "Virtual machine to power on or power off.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "startOrder": {
            "description": "The autostart priority of this virtual machine.\n\nVirtual machines with a lower\nnumber are powered on first. On host shutdown, the virtual machines are\nshut down in reverse order, meaning those with a higher number are powered off\nfirst.\n\nPositive values indicate a start order and -1 indicates the machine can be\npowered on at any time. Machines with a -1 value are typically powered on and\noff after all virtual machines with positive startOrder values. Failure to\nmeet the following requirements results in an InvalidArgument exception:\n- startOrder must be set to -1 if startAction is set to none\n- startOrder must be -1 or positive integers. Values such as 0 or\n  \\-2 are not valid.\n- startOrder is relative to other virtual machines in the autostart\n  sequence. Hence specifying a startOrder of 4 when there are only 3\n  virtual machines in the Autostart sequence is not valid.\n  \nIf a newly established or changed startOrder value for a virtual machine\nmatches an existing startOrder value, the newly applied value takes\nprecedence, and the existing value is incremented by one. The incremented\nstartOrder value is checked for collisions, and the same rule is applied if\none is found. This simple system ensures no two virtual machines ever have the\nsame order number.\n\nFor example, consider the case where there are three virtual machines with\ndifferent startOrder values. Virtual machine A has not yet established a\nstartOrder, virtual machine B has a startOrder value of 1 and Virtual Machine\nC has a startOrder value of 2. If virtual machine A's startOrder is set to 1,\nthen virtual machine B's startOrder is incremented to 2. This creates a\nconflict with virtual machine C's startOrder value, which is also incremented,\nthis time to 3.\n",
            "type": "integer",
            "format": "int32"
          },
          "startDelay": {
            "description": "Delay in seconds before continuing with the next virtual machine in the order\nof machines to be started.\n\nIf the delay is specified as -1, then the system\ndefault is used.\n",
            "type": "integer",
            "format": "int32"
          },
          "waitForHeartbeat": {
            "$ref": "#/components/schemas/AutoStartWaitHeartbeatSetting_enum"
          },
          "startAction": {
            "description": "How to start the virtual machine.\n\nValid settings are none or powerOn.\nIf set to none, then the virtual machine does not participate in auto-start.\n",
            "type": "string"
          },
          "stopDelay": {
            "description": "Delay in seconds before continuing with the next virtual machine in the order\nsequence.\n\nIf the delay is -1, then the system default is used.\n",
            "type": "integer",
            "format": "int32"
          },
          "stopAction": {
            "description": "Defines the stop action for the virtual machine.\n\nCan be set to none,\nsystemDefault, powerOff, or suspend. If set to none, then the virtual machine\ndoes not participate in auto-stop.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "startOrder",
          "startDelay",
          "waitForHeartbeat",
          "startAction",
          "stopDelay",
          "stopAction"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAutoStartPowerInfo": {
        "type": "object",
        "description": "A boxed array of *AutoStartPowerInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutoStartPowerInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAutoStartManagerConfig": {
        "type": "object",
        "description": "Contains the entire auto-start/auto-stop configuration.\n",
        "properties": {
          "defaults": {
            "description": "System defaults for auto-start/auto-stop.\n",
            "$ref": "#/components/schemas/AutoStartDefaults"
          },
          "powerInfo": {
            "description": "Lists the auto-start/auto-stop configuration.\n\nIf a virtual machine is not\nmentioned in this array, it does not participate in auto-start/auto-stop\noperations.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutoStartPowerInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostAutoStartManagerConfig": {
        "type": "object",
        "description": "A boxed array of *HostAutoStartManagerConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAutoStartManagerConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AutoStartDefaults": {
        "type": "object",
        "description": "Defines the system default auto-start/auto-stop values.\n",
        "properties": {
          "enabled": {
            "description": "Indicates whether or not auto-start manager is enabled.\n",
            "type": "boolean"
          },
          "startDelay": {
            "description": "System-default autoStart delay in seconds.\n\nThe default is 120 seconds.\n",
            "type": "integer",
            "format": "int32"
          },
          "stopDelay": {
            "description": "System-default autoStop delay in seconds.\n\nThe default is 120 seconds.\n",
            "type": "integer",
            "format": "int32"
          },
          "waitForHeartbeat": {
            "description": "System-default waitForHeartbeat setting.\n",
            "type": "boolean"
          },
          "stopAction": {
            "description": "System-default power-off action.\n\nUsed if the stopAction string in the\nAutoPowerInfo object for a particular machine is set to systemDefault.\nIf stopAction and startAction for a virtual machine are both set to none,\nthat virtual machine is removed from the AutoStart sequence.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAutoStartDefaults": {
        "type": "object",
        "description": "A boxed array of *AutoStartDefaults*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutoStartDefaults"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostBIOSInfo": {
        "type": "object",
        "properties": {
          "biosVersion": {
            "description": "The current BIOS version of the physical chassis\n",
            "type": "string"
          },
          "releaseDate": {
            "description": "The release date for the BIOS.\n",
            "type": "string",
            "format": "date-time"
          },
          "vendor": {
            "description": "The vendor for the BIOS.\n",
            "type": "string"
          },
          "majorRelease": {
            "description": "BIOS Major Release\n",
            "type": "integer",
            "format": "int32"
          },
          "minorRelease": {
            "description": "\"BIOS Minor Release\n",
            "type": "integer",
            "format": "int32"
          },
          "firmwareMajorRelease": {
            "type": "integer",
            "format": "int32"
          },
          "firmwareMinorRelease": {
            "description": "Embedded Controller Firmware Minor Release\n",
            "type": "integer",
            "format": "int32"
          },
          "firmwareType": {
            "description": "Firmware Type of the host.\n\nThe set of supported values is described\nin *HostBIOSInfoFirmwareType_enum*\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostBIOSInfo": {
        "type": "object",
        "description": "A boxed array of *HostBIOSInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostBIOSInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostBlockAdapterTargetTransport": {
        "type": "object",
        "description": "Block adapter transport information about a SCSI target.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        ]
      },
      "ArrayOfHostBlockAdapterTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostBlockAdapterTargetTransport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostBlockAdapterTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostBlockHba": {
        "type": "object",
        "description": "This data object type describes the host bus adapter that\nprovides block devices.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHostBusAdapter"
          }
        ]
      },
      "ArrayOfHostBlockHba": {
        "type": "object",
        "description": "A boxed array of *HostBlockHba*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostBlockHba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostBootDeviceInfo": {
        "type": "object",
        "description": "This data object represents the boot device information of the host.\n",
        "properties": {
          "bootDevices": {
            "description": "The list of boot devices present on the host\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostBootDevice"
            }
          },
          "currentBootDeviceKey": {
            "description": "The key of the current boot device that the host is configured to\nboot.\n\nThis property is unset if the current boot device is disabled.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostBootDeviceInfo": {
        "type": "object",
        "description": "A boxed array of *HostBootDeviceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostBootDeviceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostBootDevice": {
        "type": "object",
        "description": "The *HostBootDevice* data object represents a boot device on the host system.\n",
        "properties": {
          "key": {
            "description": "The identifier for the boot device.\n",
            "type": "string"
          },
          "description": {
            "description": "The description of the boot device.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostBootDevice": {
        "type": "object",
        "description": "A boxed array of *HostBootDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostBootDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCacheConfigurationInfo": {
        "type": "object",
        "description": "Host solid state drive cache configuration information.\n",
        "properties": {
          "key": {
            "description": "Datastore used for swap performance enhancements.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "swapSize": {
            "description": "Space allocated on this datastore to implement swap performance\nenhancements, in MB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "key",
          "swapSize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCacheConfigurationInfo": {
        "type": "object",
        "description": "A boxed array of *HostCacheConfigurationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCacheConfigurationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCacheConfigurationSpec": {
        "type": "object",
        "description": "Host cache configuration specification.\n",
        "properties": {
          "datastore": {
            "description": "Datastore used for swap performance enhancement.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "swapSize": {
            "description": "Space to allocate on this datastore to implement swap performance\nenhancements, in MB.\n\nThis value should be less or equal to free space\ncapacity on the datastore *DatastoreSummary.freeSpace*.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "datastore",
          "swapSize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCacheConfigurationSpec": {
        "type": "object",
        "description": "A boxed array of *HostCacheConfigurationSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCacheConfigurationSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCapability": {
        "type": "object",
        "description": "Specifies the capabilities of the particular host.\n\nThis set of\ncapabilities is referenced in other parts of the API specification\nto indicate under what circumstances an API will throw a\n*NotSupported* fault.\n",
        "properties": {
          "recursiveResourcePoolsSupported": {
            "type": "boolean"
          },
          "cpuMemoryResourceConfigurationSupported": {
            "description": "Flag indicating whether cpu and memory resource configuration is\nsupported.\n\nIf this is set to false,\n*ResourcePool.UpdateConfig*,\n*ResourcePool.UpdateChildResourceConfiguration*\ncannot be used for changing the cpu/memory resource configurations.\n",
            "type": "boolean"
          },
          "rebootSupported": {
            "description": "Flag indicating whether rebooting the host is supported.\n",
            "type": "boolean"
          },
          "shutdownSupported": {
            "description": "Flag indicating whether the host can be powered off\n",
            "type": "boolean"
          },
          "vmotionSupported": {
            "description": "Flag indicating whether you can perform VMotion.\n",
            "type": "boolean"
          },
          "standbySupported": {
            "description": "Flag indicating whether you can put the host in a power down\nstate, from which it can be powered up automatically.\n",
            "type": "boolean"
          },
          "ipmiSupported": {
            "description": "Flag indicating whether the host supports\nIPMI (Intelligent Platform Management Interface).\n\nXXX - Make ipmiSupported optional until there is a compatible hostagent.\n",
            "type": "boolean"
          },
          "maxSupportedVMs": {
            "description": "The maximum number of virtual machines that can exist on this host.\n\nIf this capability is not set, the number of virtual machines is\nunlimited.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxRunningVMs": {
            "description": "The maximum number of virtual machines that can be running\nsimultaneously on this host.\n\nIf this capability is not set, the number of virtual machines\nrunning simultaneously is unlimited.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxSupportedVcpus": {
            "description": "The maximum number of virtual CPUs supported per virtual machine.\n\nIf this capability is not set, the number is unlimited.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxRegisteredVMs": {
            "description": "The maximum number of registered virtual machines supported by\nthe host.\n\nIf this limit is exceeded, the management agent will be\nat risk of running out of system resources. *configIssue* will be posted on\n*HostSystem* in this case.\n\nIf this capability is not set, the number is unknown.\n",
            "type": "integer",
            "format": "int32"
          },
          "datastorePrincipalSupported": {
            "description": "Flag indicating whether datastore principal user\nis supported on the host.\n",
            "type": "boolean"
          },
          "sanSupported": {
            "description": "Flag indicating whether access to SAN devices is supported.\n",
            "type": "boolean"
          },
          "nfsSupported": {
            "description": "Is access to NFS devices supported.\n",
            "type": "boolean"
          },
          "iscsiSupported": {
            "description": "Is access to iSCSI devices supported.\n",
            "type": "boolean"
          },
          "vlanTaggingSupported": {
            "description": "Is VLAN Tagging supported.\n",
            "type": "boolean"
          },
          "nicTeamingSupported": {
            "description": "Is NIC teaming supported.\n",
            "type": "boolean"
          },
          "highGuestMemSupported": {
            "description": "Is high guest memory supported.\n",
            "type": "boolean"
          },
          "maintenanceModeSupported": {
            "description": "Is maintenance mode supported\n",
            "type": "boolean"
          },
          "suspendedRelocateSupported": {
            "description": "Indicates whether this host supports relocation of\nsuspended virtual machines.\n\nMust be true on the source\nand destination hosts for the relocation to work.\n",
            "type": "boolean"
          },
          "restrictedSnapshotRelocateSupported": {
            "description": "Indicates whether this host supports relocation of\nvirtual machines with snapshots.\n\nMust be true on the\nsource and destination hosts for the relocation to work.\nEven if this is true, the following conditions must hold:\n1\\) All the the vm's files are in one directory prior\nto the relocate.\n2\\) All of the vm's files will be in one directory\nafter the relocate.\n3\\) The source and destination hosts are the same product\nversion.\n",
            "type": "boolean"
          },
          "perVmSwapFiles": {
            "description": "Flag indicating whether virtual machine execution on this host involves\na swapfile for each virtual machine.\n\nIf true, the swapfile placement\nfor a powered-on virtual machine is advertised in its FileLayout by\nthe *swapFile* property.\n",
            "type": "boolean"
          },
          "localSwapDatastoreSupported": {
            "description": "Flag indicating whether the host supports selecting a datastore that\nthat may be used to store virtual machine swapfiles.\n",
            "type": "boolean"
          },
          "unsharedSwapVMotionSupported": {
            "description": "Flag indicating whether the host supports participating in a VMotion\nwhere the virtual machine swapfile is not visible to the destination.\n",
            "type": "boolean"
          },
          "backgroundSnapshotsSupported": {
            "description": "Flag indicating whether background snapshots are supported on this host.\n",
            "type": "boolean"
          },
          "preAssignedPCIUnitNumbersSupported": {
            "description": "Flag to indicate whether the server returns unit numbers in a\npre-assigned range for devices on the PCI bus.\n\nWhen the server supports this flag, the device unit number namespace is\npartitioned by device type. Different types of devices will sit in\na specific range of unit numbers that may not correspond to physical\nslots in the pci bus but present a relative ordering of the devices\nwith respect to other devices of the same type.\nNote that this does not mean that the user can set the relative ordering\nbetween device types, but only allows stable orderings between devices\nof the same type. The unit number will now clearly represent an ordering\nbetween devices of the same type.\n*VirtualDevice.unitNumber*\nThis property is only available for devices on the pci controller.\n",
            "type": "boolean"
          },
          "screenshotSupported": {
            "description": "Indicates whether the screenshot retrival over https is supported for this host's\nvirtual machines.\n\nIf true, a screenshot can be retrieved at the HTTPS relative path\n_/screen?id=&lt;managed object ID of virtual machine or snapshot&gt;_.\nIf any of the optional parameters 'top', 'left', 'bottom', and 'right' is\nspecified, the returned image will be cropped from the rectangle with upper left\ncorner (left, top) and bottom right corner (right - 1, bottom - 1). These values\ndefault to the top, left, bottom and right edges of the image.\nThe client must use an authenticated session with privilege\nVirtualMachine.Interact.ConsoleInteract on the requested virtual machine or,\nin the case of a snapshot, the virtual machine associated with that snapshot.\n",
            "type": "boolean"
          },
          "scaledScreenshotSupported": {
            "description": "Indicates whether scaling is supported for screenshots retrieved over https.\n\nIf true, screenshot retrieval supports the additional optional\nparameters 'width' and 'height'. After cropping, the returned image will be scaled\nto these dimensions. If only one of these parameters is specified, default behavior\nis to return an image roughly proportional to the source image.\n",
            "type": "boolean"
          },
          "storageVMotionSupported": {
            "description": "Indicates whether the storage of a powered-on virtual machine may be\nrelocated.\n",
            "type": "boolean"
          },
          "vmotionWithStorageVMotionSupported": {
            "description": "Indicates whether the storage of a powered-on virtual machine may be\nrelocated while simultaneously changing the execution host of the\nvirtual machine.\n",
            "type": "boolean"
          },
          "vmotionAcrossNetworkSupported": {
            "description": "Indicates whether the network of a powered-on virtual machine can be\nchanged while simultaneously changing the execution host of the\nvirtual machine.\n",
            "type": "boolean"
          },
          "maxNumDisksSVMotion": {
            "description": "Maximum number of migrating disks allowed of a migrating VM during SVMotion.\n\nIf this capability is not set, then the maximum is considered to be 64.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxVirtualDiskDescVersionSupported": {
            "description": "Maximum version of vDiskVersion supported by this host.\n\nIf this capability is not set, then the maximum is considered to be 6.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "integer",
            "format": "int32"
          },
          "hbrNicSelectionSupported": {
            "description": "Indicates whether a dedicated nic can be selected for vSphere Replication\nLWD traffic, i.e., from the primary host to the VR server.\n",
            "type": "boolean"
          },
          "vrNfcNicSelectionSupported": {
            "description": "Indicates whether a dedicated nic can be selected for vSphere Replication\nNFC traffic, i.e., from the VR server to the secondary host.\n",
            "type": "boolean"
          },
          "recordReplaySupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0.\n\nIndicates whether this host supports record and replay\n",
            "type": "boolean"
          },
          "ftSupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0.\n\nIndicates whether this host supports Fault Tolerance\nThere can be many reasons why a host does not support Fault\nTolerance, which includes CPU compatibility, product\ncompatibility as well as other host configuration settings.\n\nFor specific reasons, look into\n*HostCapability.replayCompatibilityIssues* and\n*HostCapability.ftCompatibilityIssues*\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "type": "boolean"
          },
          "replayUnsupportedReason": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.1, use\n*HostCapability.replayCompatibilityIssues*.\n\nFor a host whose CPU doesn't support replay, indicates the reason\nfor the incompatibility.\n\n*HostReplayUnsupportedReason_enum*\nrepresents the set of possible values.\n",
            "type": "string"
          },
          "replayCompatibilityIssues": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0.\n\nFor a host which doesn't support replay, indicates all the reasons\nfor the incompatibility.\n\n*HostReplayUnsupportedReason_enum*\nlists the set of possible values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "smpFtSupported": {
            "description": "Indicates whether this host supports smp fault tolerance\n",
            "type": "boolean"
          },
          "ftCompatibilityIssues": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0.\n\nFor a host which doesn't support Fault Tolerance, indicates all the reasons\nfor the incompatibility.\n\n*HostCapabilityFtUnsupportedReason_enum*\nlists the set of possible values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "smpFtCompatibilityIssues": {
            "description": "For a host which doesn't support smp fault tolerance, indicates all the\nreasons for the incompatibility.\n\n*HostCapabilityFtUnsupportedReason_enum* lists the set of possible\nvalues.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maxVcpusPerFtVm": {
            "description": "The maximum number of vCPUs allowed for a fault-tolerant virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "loginBySSLThumbprintSupported": {
            "description": "Flag indicating whether this host supports SSL thumbprint authentication\n",
            "type": "boolean"
          },
          "cloneFromSnapshotSupported": {
            "description": "Indicates whether or not cloning a virtual machine from a snapshot\npoint is allowed.\n\nThis property must be true on the host where the virtual machine\nis currently residing. This property need not be true on the\ndestination host for the clone.\n\nSee also *VirtualMachineCloneSpec.snapshot*.\n",
            "type": "boolean"
          },
          "deltaDiskBackingsSupported": {
            "description": "Flag indicating whether explicitly creating arbirary configurations of\ndelta disk backings is supported.\n\nA delta disk backing is a way to preserve a virtual disk backing\nat some point in time. A delta disk backing is a file backing which in\nturn points to the original virtual disk backing (the parent). After a delta\ndisk backing is added, all writes go to the delta disk backing. All reads\nfirst try the delta disk backing and then try the parent backing if needed.\n\nIf this property is false, then delta disk backings can only be implicitly\ncreated through using snapshot operations and two virtual machines cannot\nsafely share a parent disk backing.\n\nIf this property is true, then delta disk backings can be explicitly created\nand managed, and two virtual machines may safely share a parent disk backing.\n\nIn the context above, \"safely\" means that performing operations on one of the\nvirtual machines will not affect the operation of the other virtual machine.\n\nSee also *VirtualDiskSparseVer1BackingInfo.parent*, *VirtualDiskSparseVer2BackingInfo.parent*, *VirtualDiskFlatVer1BackingInfo.parent*, *VirtualDiskFlatVer2BackingInfo.parent*, *VirtualDiskRawDiskMappingVer1BackingInfo.parent*, *VirtualMachine.PromoteDisks_Task*, *VirtualMachineRelocateSpec.diskMoveType*, *VirtualMachineRelocateSpecDiskLocator.diskMoveType*.\n",
            "type": "boolean"
          },
          "perVMNetworkTrafficShapingSupported": {
            "description": "Indicates whether network traffic shaping on a\nper virtual machine basis is supported.\n",
            "type": "boolean"
          },
          "tpmSupported": {
            "description": "Flag indicating whether this host supports the integrity measurement using\na TPM device.\n",
            "type": "boolean"
          },
          "tpmVersion": {
            "description": "TPM version if supported by this host.\n",
            "type": "string"
          },
          "txtEnabled": {
            "description": "Flag indicating whether Intel TXT is enabled on this host.\n\nTPM attestation may be used to definitively determine the Intel TXT\nMeasured Launch Environment (MLE) details.\n",
            "type": "boolean"
          },
          "supportedCpuFeature": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5 use\n*featureCapability*.\n\nCPU feature set that is supported by the virtualization platform.\n\nThis\nfeature set may reflect characteristics of the product capabilities and\nlicensing. For any feature marked '-', reference the\n*cpuFeature* array of the host's\nHardwareInfo to determine the correct value.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuIdInfo"
            }
          },
          "virtualExecUsageSupported": {
            "description": "Indicates whether the host supports configuring hardware\nvirtualization (HV) support for virtual machines.\n",
            "type": "boolean"
          },
          "storageIORMSupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nIndicates whether the host supports storage I/O resource\nmanagement.\n",
            "type": "boolean"
          },
          "vmDirectPathGen2Supported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nIndicates whether the host supports network passthrough using\nVMDirectPath Gen 2.\n\nNote that this is a general capability for the host\nand is independent of support by a given physical NIC. If false, the\nreason(s) for lack of support will be provided in\n*HostCapability.vmDirectPathGen2UnsupportedReason* and/or in\n*HostCapability.vmDirectPathGen2UnsupportedReasonExtended*.\n\nSee also *PhysicalNic.vmDirectPathGen2Supported*.\n",
            "type": "boolean"
          },
          "vmDirectPathGen2UnsupportedReason": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nIf *HostCapability.vmDirectPathGen2Supported* is false, this array will be\npopulated with reasons for the lack of support (chosen from\n*HostCapabilityVmDirectPathGen2UnsupportedReason_enum*).\n\nIf there is a reason for\nthe lack of support that cannot be described by the available constants,\n*HostCapability.vmDirectPathGen2UnsupportedReasonExtended* will be populated\nwith an additional explanation provided by the platform.\n\nNote that this list of reasons is not guaranteed to be exhaustive.\n\nIf the reason \"hostNptIncompatibleProduct\" is provided, then that will\nbe the only provided reason, as the host software is incapable of\nproviding additional information.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vmDirectPathGen2UnsupportedReasonExtended": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nIf *HostCapability.vmDirectPathGen2Supported* is false, this property may\ncontain an explanation provided by the platform, beyond the reasons (if\nany) enumerated in *HostCapability.vmDirectPathGen2UnsupportedReason*.\n",
            "type": "string"
          },
          "supportedVmfsMajorVersion": {
            "description": "List of VMFS major versions supported by the host.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "vStorageCapable": {
            "description": "Indicates whether the host supports vStorage Hardware\nacceleration.\n",
            "type": "boolean"
          },
          "snapshotRelayoutSupported": {
            "description": "Indicates whether this host supports unrestricted relocation of virtual\nmachines with snapshots.\n\nOnly needs to be true on the destination host for\nthe unrestricted relocation to work. The full snapshot relocation does not\nrestrict the layout of snapshot files or disks of the virtual machine, nor\nits power state. If the virtual machine is powered on, a storage vmotion\nwill be performed to relocate its snapshots and disks.\n",
            "type": "boolean"
          },
          "firewallIpRulesSupported": {
            "description": "Indicates whether this host supports ip address based restrictions in\nthe firewall configuration.\n",
            "type": "boolean"
          },
          "servicePackageInfoSupported": {
            "description": "Indicates whether this host supports package information in service\nconfiguration.\n",
            "type": "boolean"
          },
          "maxHostRunningVms": {
            "description": "The maximum number of virtual machines that can be run on the host.\n\nAn unset value indicates that the value could not be obtained. In contrast\nto *HostCapability.maxRunningVMs*, this value is the minimum of (i) the maximum\nnumber supported by the hardware and (ii) the maximum number permitted by\nthe host license.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxHostSupportedVcpus": {
            "description": "The maximum number of virtual CPUs that can be run on the host.\n\nAn unset\nvalue indicates that the value could not be obtained. In contrast to\n*HostCapability.maxSupportedVcpus*, this value is the minimum of (i) the maximum\nnumber supported by the hardware and (ii) the maximum number permitted by\nthe host license.\n",
            "type": "integer",
            "format": "int32"
          },
          "vmfsDatastoreMountCapable": {
            "description": "Indicates whether the host is capable of mounting/unmounting\nVMFS datastores.\n",
            "type": "boolean"
          },
          "eightPlusHostVmfsSharedAccessSupported": {
            "description": "Indicates whether the host is capable of accessing a VMFS disk\nwhen there are eight or more hosts accessing the disk already.\n",
            "type": "boolean"
          },
          "nestedHVSupported": {
            "description": "Indicates whether the host supports nested hardware-assisted virtualization.\n",
            "type": "boolean"
          },
          "vPMCSupported": {
            "description": "Indicates whether the host supports virtual CPU performance counters.\n",
            "type": "boolean"
          },
          "interVMCommunicationThroughVMCISupported": {
            "description": "Indicates whether the host supports VMCI for communication\nbetween virtual machines.\n",
            "type": "boolean"
          },
          "scheduledHardwareUpgradeSupported": {
            "description": "Indicates whether the host supports scheduled hardware upgrades.\n\nSee also *VirtualMachineConfigInfo.scheduledHardwareUpgradeInfo*.\n",
            "type": "boolean"
          },
          "featureCapabilitiesSupported": {
            "description": "Indicated whether the host supports feature capabilities\nfor EVC mode.\n",
            "type": "boolean"
          },
          "latencySensitivitySupported": {
            "description": "Indicates whether the host supports latency sensitivity for the\nvirtual machines.\n",
            "type": "boolean"
          },
          "storagePolicySupported": {
            "description": "Indicates that host supports Object-based Storage System and\nStorage-Profile based disk provisioning.\n",
            "type": "boolean"
          },
          "accel3dSupported": {
            "description": "Indicates if 3D hardware acceleration for virtual machines is supported.\n",
            "type": "boolean"
          },
          "reliableMemoryAware": {
            "description": "Indicates that this host uses a reliable memory aware allocation policy.\n",
            "type": "boolean"
          },
          "multipleNetworkStackInstanceSupported": {
            "description": "Indicates whether the host supports Multiple Instance TCP/IP stack\n",
            "type": "boolean"
          },
          "messageBusProxySupported": {
            "description": "Indicates whether the message bus proxy is supported\n",
            "type": "boolean"
          },
          "vsanSupported": {
            "description": "Indicates whether the host supports VSAN functionality.\n\nSee also *HostVsanSystem*.\n",
            "type": "boolean"
          },
          "vFlashSupported": {
            "description": "Indicates whether the host supports vFlash.\n",
            "type": "boolean"
          },
          "hostAccessManagerSupported": {
            "description": "Whether this host supports HostAccessManager for controlling direct\naccess to the host and for better lockdown mode management.\n",
            "type": "boolean"
          },
          "provisioningNicSelectionSupported": {
            "description": "Indicates whether a dedicated nic can be selected for vSphere Provisioning\nNFC traffic.\n",
            "type": "boolean"
          },
          "nfs41Supported": {
            "description": "Whether this host supports NFS41 file systems.\n",
            "type": "boolean"
          },
          "nfs41Krb5iSupported": {
            "description": "Whether this host support NFS41 Kerberos 5\\* security type.\n",
            "type": "boolean"
          },
          "turnDiskLocatorLedSupported": {
            "description": "Indicates whether turning on/off local disk LED is supported\non the host.\n\nSee also *HostStorageSystem.TurnDiskLocatorLedOn_Task*, *HostStorageSystem.TurnDiskLocatorLedOff_Task*.\n",
            "type": "boolean"
          },
          "virtualVolumeDatastoreSupported": {
            "description": "Indicates whether this host supports VirtualVolume based Datastore.\n",
            "type": "boolean"
          },
          "markAsSsdSupported": {
            "description": "Indicates whether mark disk as SSD or Non-SSD is supported\non the host.\n\nSee also *HostStorageSystem.MarkAsSsd_Task*, *HostStorageSystem.MarkAsNonSsd_Task*.\n",
            "type": "boolean"
          },
          "markAsLocalSupported": {
            "description": "Indicates whether mark disk as local or remote is supported\non the host.\n\nSee also *HostStorageSystem.MarkAsLocal_Task*, *HostStorageSystem.MarkAsNonLocal_Task*.\n",
            "type": "boolean"
          },
          "smartCardAuthenticationSupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0U3, and there is no replacement for it.\n\nIndicates whether this host supports local two-factor user\nauthentication using smart cards.\n\nSee also *HostActiveDirectoryAuthentication.EnableSmartCardAuthentication*.\n",
            "type": "boolean"
          },
          "pMemSupported": {
            "description": "Indicates whether this host supports persistent memory.\n\nIf value is not specified, it should be considered as not supported.\n",
            "type": "boolean"
          },
          "pMemSnapshotSupported": {
            "description": "Indicates whether this host supports snapshots for VMs with virtual\ndevices backed by persistent memory.\n\nIf value is not specified, it should be considered as not supported.\n",
            "type": "boolean"
          },
          "cryptoSupported": {
            "description": "Flag indicating whether Cryptographer feature is supported.\n",
            "type": "boolean"
          },
          "oneKVolumeAPIsSupported": {
            "description": "Indicates whether this host supports granular datastore cache update.\n\nIf value is not specified, it should be considered as not supported.\n",
            "type": "boolean"
          },
          "gatewayOnNicSupported": {
            "description": "Flag indicating whether default gateway can be configured on a\nvmkernel nic.\n",
            "type": "boolean"
          },
          "upitSupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0, and there is no replacement for it.\n\nIndicate whether this host supports UPIT\n",
            "type": "boolean"
          },
          "cpuHwMmuSupported": {
            "description": "Indicates whether this host supports hardware-based MMU virtualization.\n",
            "type": "boolean"
          },
          "encryptedVMotionSupported": {
            "description": "Indicates whether this host supports encrypted vMotion.\n",
            "type": "boolean"
          },
          "encryptionChangeOnAddRemoveSupported": {
            "description": "Indicates whether this host supports changing the encryption state\nof a virtual disk when the disk is being added or removed from a\nvirtual machine configuration.\n",
            "type": "boolean"
          },
          "encryptionHotOperationSupported": {
            "description": "Indicates whether this host supports changing the encryption state\nof a virtual machine, or virtual disk, while the virtual machine\nis powered on.\n",
            "type": "boolean"
          },
          "encryptionWithSnapshotsSupported": {
            "description": "Indicates whether this host supports changing the encryption state\nstate of a virtual machine, or virtual disk, while the virtual\nmachine has snapshots present.\n",
            "type": "boolean"
          },
          "encryptionFaultToleranceSupported": {
            "description": "Indicates whether this host supports enabling Fault Tolerance on\nencrypted virtual machines.\n",
            "type": "boolean"
          },
          "encryptionMemorySaveSupported": {
            "description": "Indicates whether this host supports suspending, or creating\nwith-memory snapshots, encrypted virtual machines.\n",
            "type": "boolean"
          },
          "encryptionRDMSupported": {
            "description": "Indicates whether this host supports encrypting RDM backed virtual\ndisks.\n",
            "type": "boolean"
          },
          "encryptionVFlashSupported": {
            "description": "Indicates whether this host supports encrypting virtual disks with\nvFlash cache enabled.\n",
            "type": "boolean"
          },
          "encryptionCBRCSupported": {
            "description": "Indicates whether this host supports encrypting virtual disks with\nContent Based Read Cache (digest disks) enabled.\n",
            "type": "boolean"
          },
          "encryptionHBRSupported": {
            "description": "Indicates whether this host supports encrypting virtual disks with\nHost Based Replication enabled.\n",
            "type": "boolean"
          },
          "ftEfiSupported": {
            "description": "Indicates whether this host supports Fault Tolerance VMs that have\nspecified UEFI firmware.\n",
            "type": "boolean"
          },
          "unmapMethodSupported": {
            "description": "Indicates which kind of VMFS unmap method is supported.\n\nSee\n*HostCapabilityUnmapMethodSupported_enum*\n",
            "type": "string"
          },
          "maxMemMBPerFtVm": {
            "description": "Indicates maximum memory allowed for Fault Tolerance virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "virtualMmuUsageIgnored": {
            "description": "Indicates that *VirtualMachineFlagInfo.virtualMmuUsage* is\nignored by the host, always operating as if \"on\" was selected.\n",
            "type": "boolean"
          },
          "virtualExecUsageIgnored": {
            "description": "Indicates that *VirtualMachineFlagInfo.virtualExecUsage* is\nignored by the host, always operating as if \"hvOn\" was selected.\n",
            "type": "boolean"
          },
          "vmCreateDateSupported": {
            "description": "Indicates that createDate feature is supported by the host.\n",
            "type": "boolean"
          },
          "vmfs3EOLSupported": {
            "description": "Indicates whether this host supports VMFS-3 EOL.\n\nIf value is not specified, it should be considered as not supported.\n",
            "type": "boolean"
          },
          "ftVmcpSupported": {
            "description": "Indicates whether this host supports VMCP for Fault Tolerance VMs.\n",
            "type": "boolean"
          },
          "quickBootSupported": {
            "description": "Indicates whether this host supports the LoadESX feature\nwhich allows faster reboots.\n\nSee also *HostLoadEsxManager.QueryLoadEsxSupported*.\n",
            "type": "boolean"
          },
          "encryptedFtSupported": {
            "description": "Indicates whether this host supports encrypted Fault Tolerance.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "assignableHardwareSupported": {
            "description": "Indicates whether this host supports Assignable Hardware.\n",
            "type": "boolean"
          },
          "suspendToMemorySupported": {
            "description": "Indicates whether this host supports suspending virtual machines to memory.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "useFeatureReqsForOldHWv": {
            "description": "Indicates whether this host uses vmFeatures for compatibility checking\nof old (&leq;8) virtual hardware version VMs.\n",
            "type": "boolean"
          },
          "markPerenniallyReservedSupported": {
            "description": "Indicates whether this host supports marking specified LUN as\nperennially reserved.\n",
            "type": "boolean"
          },
          "hppPspSupported": {
            "description": "Indicates whether this host supports HPP path selection policy\nsettings.\n",
            "type": "boolean"
          },
          "deviceRebindWithoutRebootSupported": {
            "description": "Indicates whether device rebind without reboot is supported.\n\nThis is\nthe capability which enables PCI passthrough and SR-IOV configuration\nwithout reboot.\n",
            "type": "boolean"
          },
          "storagePolicyChangeSupported": {
            "description": "Indicates whether this host supports storage policy change.\n",
            "type": "boolean"
          },
          "precisionTimeProtocolSupported": {
            "description": "Indicates whether this host supports date time synchronization over\nPrecision Time Protocol (PTP).\n",
            "type": "boolean"
          },
          "remoteDeviceVMotionSupported": {
            "description": "Indicates whether vMotion of a VM with remote devices attached is\nsupported.\n\nThis applies to CD-ROM and floppy devices backed by a\nremote client.\n",
            "type": "boolean"
          },
          "maxSupportedVmMemory": {
            "description": "The maximum amount of virtual memory supported per virtual machine.\n\nIf this capability is not set, the size is limited by hardware version\nof the virtual machine only.\n",
            "type": "integer",
            "format": "int32"
          },
          "ahDeviceHintsSupported": {
            "description": "Indicates if the host supports Assignable Hardware device hints.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "nvmeOverTcpSupported": {
            "description": "Indicates if access to NVMe over TCP devices is supported.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "nvmeStorageFabricServicesSupported": {
            "description": "Indicates whether NVMe Storage Fabrics Services (StFS) are supported.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "assignHwPciConfigSupported": {
            "description": "Indicates if setting hardwareLabel using PciPassThrough is supported.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "timeConfigSupported": {
            "description": "Indicates whether advanced timekeeping apis are supported\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "nvmeBatchOperationsSupported": {
            "description": "Indicates whether batch NVMe controller connection/disconnection is supported.\n\nSee *HostStorageSystem.ConnectNvmeControllerEx_Task* and\n*HostStorageSystem.DisconnectNvmeControllerEx_Task*.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "pMemFailoverSupported": {
            "description": "Indicates whether this host supports failover for VMs with virtual\ndevices backed by persistent memory.\n\nIf value is not specified, it should be considered as not supported.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "hostConfigEncryptionSupported": {
            "description": "Indicates whether this host supports host configuration encryption.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "maxSupportedSimultaneousThreads": {
            "description": "Max supported number of SMT (Simultaneous multithreading) threads.\n\nIf value is not specified, it should be considered as not supported.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int32"
          },
          "ptpConfigSupported": {
            "description": "Indicates whether this host supports PTP (Precision Time Protocol)\nservice configuration.\n\nSee *HostPtpConfig*. If value is\nnot specified, it should be considered as not supported.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "maxSupportedPtpPorts": {
            "description": "Number of PTP (Precision Time Protocol) ports supported by this\nhost (See *HostPtpConfig*).\n\nIf this capability is not\nset, number of PTP ports in the host is 0.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "integer",
            "format": "int32"
          },
          "sgxRegistrationSupported": {
            "description": "Indicates whether this host supports SGX registration.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "pMemIndependentSnapshotSupported": {
            "description": "Indicates whether this host supports snapshots of VMs configured\nwith independent vNVDIMMs.\n\nIf value is not specified, it should be considered as not supported.\nThis support does not depend on *HostCapability.pMemSnapshotSupported*.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "iommuSLDirtyCapable": {
            "description": "Indicates whether this host's IOMMUs are capable of tracking pages\nwritten by device DMAs using dirty bits in the second-level page\ntables.\n\nIf this value is not specified, it should be considered as\nnot capable.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "vmknicBindingSupported": {
            "description": "Indicates whether vmknic binding is supported over this host.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          },
          "ultralowFixedUnmapSupported": {
            "description": "Indicates whether ultralow fixed unmap bandwidth is supported on this host.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "nvmeVvolSupported": {
            "description": "Indicates whether mounting of NVMe vvol is supported on this host.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
            "type": "boolean"
          },
          "fptHotplugSupported": {
            "description": "Indicates whether FPT Hotplug is supported on this host.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          },
          "mconnectSupported": {
            "description": "Indicates whether MCONNECT is supported on this host.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          },
          "vsanNicMgmtSupported": {
            "description": "Indicates whether vSAN nic types can be managed by VirtualNicManager.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "boolean"
          },
          "vvolNQNSupported": {
            "description": "Indicates whether vVol NQN is supported on this host.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "boolean"
          },
          "stretchedSCSupported": {
            "description": "Indicates whether \"stretched\" vVol Storage Container is supported on this host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          },
          "vmknicBindingOnNFSv41": {
            "description": "Indicates whether vmknic binding is supported on NFSv41 over this host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          },
          "vpStatusCheckSupported": {
            "description": "Indicates whether VasaProvider Status can be monitored on the host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          },
          "nConnectSupported": {
            "description": "Indicates whether NFS41 NCONNECT is supported on this host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          },
          "userKeySupported": {
            "description": "Indicates whether user-provided private key installation is supported on this host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          },
          "ndcmSupported": {
            "description": "Indicates whether non-disruptive certificate management is supported on this host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          },
          "uefiSecureBoot": {
            "description": "Flag indicating that the firmware reports the use of UEFI Secure\nBoot during system boot.\n\nTPM attestation may be used to definitively determine the boot\ntime UEFI Secure Boot state and its complete configuration. An\nout-of-band management channel may also be considered.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "recursiveResourcePoolsSupported",
          "cpuMemoryResourceConfigurationSupported",
          "rebootSupported",
          "shutdownSupported",
          "vmotionSupported",
          "standbySupported",
          "datastorePrincipalSupported",
          "sanSupported",
          "nfsSupported",
          "iscsiSupported",
          "vlanTaggingSupported",
          "nicTeamingSupported",
          "highGuestMemSupported",
          "maintenanceModeSupported",
          "suspendedRelocateSupported",
          "restrictedSnapshotRelocateSupported",
          "perVmSwapFiles",
          "localSwapDatastoreSupported",
          "unsharedSwapVMotionSupported",
          "backgroundSnapshotsSupported",
          "preAssignedPCIUnitNumbersSupported",
          "screenshotSupported",
          "scaledScreenshotSupported",
          "storageVMotionSupported",
          "vmotionWithStorageVMotionSupported",
          "hbrNicSelectionSupported",
          "vrNfcNicSelectionSupported",
          "recordReplaySupported",
          "ftSupported",
          "smpFtSupported",
          "cloneFromSnapshotSupported",
          "deltaDiskBackingsSupported",
          "perVMNetworkTrafficShapingSupported",
          "tpmSupported",
          "virtualExecUsageSupported",
          "storageIORMSupported",
          "vStorageCapable",
          "snapshotRelayoutSupported",
          "vmfsDatastoreMountCapable",
          "eightPlusHostVmfsSharedAccessSupported",
          "nestedHVSupported",
          "vPMCSupported",
          "interVMCommunicationThroughVMCISupported",
          "featureCapabilitiesSupported",
          "latencySensitivitySupported",
          "accel3dSupported",
          "provisioningNicSelectionSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCapability": {
        "type": "object",
        "description": "A boxed array of *HostCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCertificateManagerCertificateInfo": {
        "type": "object",
        "description": "This data object is used to encapsulate the X509 certificate metadata.\n",
        "properties": {
          "kind": {
            "description": "Certificate kind, if unset the certificate is Machine certificate\nThe list of supported values can be found in *HostCertificateManagerCertificateKind_enum*\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "string"
          },
          "issuer": {
            "description": "The issuer of the certificate.\n",
            "type": "string"
          },
          "notBefore": {
            "description": "The validity of the certificate.\n",
            "type": "string",
            "format": "date-time"
          },
          "notAfter": {
            "type": "string",
            "format": "date-time"
          },
          "subject": {
            "description": "The subject of the certificate.\n",
            "type": "string"
          },
          "status": {
            "description": "The status of the certificate in vCenter Server.\n\nThe possible values for status are as\ndescribed in *HostCertificateManagerCertificateInfoCertificateStatus_enum*.\nIf queried directly from an ESX host, the property is set to\n*unknown*.\n",
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCertificateManagerCertificateInfo": {
        "type": "object",
        "description": "A boxed array of *HostCertificateManagerCertificateInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCertificateManagerCertificateInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCertificateManagerCertificateSpec": {
        "type": "object",
        "description": "Represents certificate specification used for\nidentifying a specific certificate supported by Host.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "kind": {
            "description": "The list of supported values can be found in *HostCertificateManagerCertificateKind_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCertificateManagerCertificateSpec": {
        "type": "object",
        "description": "A boxed array of *HostCertificateManagerCertificateSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCertificateManagerCertificateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConfigChange": {
        "type": "object",
        "description": "This data object type describes types and constants related to the\nspecification of changes to a host configuration.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostConfigChange": {
        "type": "object",
        "description": "A boxed array of *HostConfigChange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConfigChange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConfigInfo": {
        "type": "object",
        "description": "This data object type encapsulates a typical set of host configuration\ninformation that is useful for displaying and configuring a host.\n\nVirtualCenter can retrieve this set of information\nvery efficiently even for a large set of hosts.\n",
        "properties": {
          "host": {
            "description": "A reference to a managed object on a host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "product": {
            "description": "Information about a product.\n",
            "$ref": "#/components/schemas/AboutInfo"
          },
          "deploymentInfo": {
            "description": "Deployment information about the host.\n",
            "$ref": "#/components/schemas/HostDeploymentInfo"
          },
          "hyperThread": {
            "description": "If hyperthreading is supported, this is the CPU configuration for\noptimizing hyperthreading.\n",
            "$ref": "#/components/schemas/HostHyperThreadScheduleInfo"
          },
          "cpuScheduler": {
            "description": "Information about the CPU scheduler on the host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/HostCpuSchedulerInfo"
          },
          "consoleReservation": {
            "description": "Memory configuration.\n",
            "$ref": "#/components/schemas/ServiceConsoleReservationInfo"
          },
          "virtualMachineReservation": {
            "description": "Virtual machine memory configuration.\n",
            "$ref": "#/components/schemas/VirtualMachineMemoryReservationInfo"
          },
          "storageDevice": {
            "description": "Storage system information.\n",
            "$ref": "#/components/schemas/HostStorageDeviceInfo"
          },
          "multipathState": {
            "description": "Storage multipath state information.\n",
            "$ref": "#/components/schemas/HostMultipathStateInfo"
          },
          "fileSystemVolume": {
            "description": "Storage system file system volume information.\n",
            "$ref": "#/components/schemas/HostFileSystemVolumeInfo"
          },
          "systemFile": {
            "description": "Datastore paths of files used by the host system on\nmounted volumes, for instance, the COS vmdk file of the\nhost.\n\nFor information on datastore paths, see *Datastore*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "network": {
            "description": "Network system information.\n",
            "$ref": "#/components/schemas/HostNetworkInfo"
          },
          "vmotion": {
            "deprecated": true,
            "description": "Deprecated as of VI API 4.0, use *HostConfigInfo.virtualNicManagerInfo*.\n\nVMotion system information.\n",
            "$ref": "#/components/schemas/HostVMotionInfo"
          },
          "virtualNicManagerInfo": {
            "description": "VirtualNic manager information.\n",
            "$ref": "#/components/schemas/HostVirtualNicManagerInfo"
          },
          "capabilities": {
            "description": "Capability vector indicating the available network features.\n",
            "$ref": "#/components/schemas/HostNetCapabilities"
          },
          "datastoreCapabilities": {
            "description": "Capability vector indicating available datastore features.\n",
            "$ref": "#/components/schemas/HostDatastoreSystemCapabilities"
          },
          "offloadCapabilities": {
            "deprecated": true,
            "description": "Deprecated as of VI API 4.0, the system defaults will be used.\n\ncapabilities to offload operations either to the host or to physical\nhardware when a virtual machine is transmitting on a network\n",
            "$ref": "#/components/schemas/HostNetOffloadCapabilities"
          },
          "service": {
            "description": "Host service configuration.\n",
            "$ref": "#/components/schemas/HostServiceInfo"
          },
          "firewall": {
            "description": "Firewall configuration.\n",
            "$ref": "#/components/schemas/HostFirewallInfo"
          },
          "autoStart": {
            "description": "AutoStart configuration.\n",
            "$ref": "#/components/schemas/HostAutoStartManagerConfig"
          },
          "activeDiagnosticPartition": {
            "description": "The diagnostic partition that will be set as the current\ndiagnostic partition on the host.\n",
            "$ref": "#/components/schemas/HostDiagnosticPartition"
          },
          "option": {
            "description": "Host configuration options as defined by the\n*OptionValue* data object type.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          },
          "optionDef": {
            "description": "A list of supported options.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionDef"
            }
          },
          "datastorePrincipal": {
            "description": "Datastore principal user\n",
            "type": "string"
          },
          "localSwapDatastore": {
            "description": "Datastore visible to this host that may be used to store virtual\nmachine swapfiles, for virtual machines executing on this host.\n\nThe\nvalue of this property is set or unset by invoking\n*HostDatastoreSystem.UpdateLocalSwapDatastore*.\nThe policy for using this datastore is determined by the compute\nresource configuration's\n*vmSwapPlacement*\nproperty in concert with each individual virtual machine configuration's\n*swapPlacement* property.\n\nNote: Using a host-specific swap location may degrade VMotion performance.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "systemSwapConfiguration": {
            "description": "The system swap configuration specifies which options are currently\nenabled.  \n\nSee also *HostSystemSwapConfiguration*.\n",
            "$ref": "#/components/schemas/HostSystemSwapConfiguration"
          },
          "systemResources": {
            "description": "Reference for the system resource hierarchy, used for configuring\nthe set of resources reserved to the system and unavailable to\nvirtual machines.\n",
            "$ref": "#/components/schemas/HostSystemResourceInfo"
          },
          "dateTimeInfo": {
            "description": "Date/Time related configuration\n",
            "$ref": "#/components/schemas/HostDateTimeInfo"
          },
          "flags": {
            "description": "Additional flags for a host.\n",
            "$ref": "#/components/schemas/HostFlagInfo"
          },
          "adminDisabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0, use *HostConfigInfo.lockdownMode*.\n\nIf the flag is true, the permissions on the host have been modified such\nthat it is only accessible through local console or an authorized\ncentralized management application.\n\nThis flag is affected by the\n*HostSystem.EnterLockdownMode* and\n*HostSystem.ExitLockdownMode* operations.\n\nThis flag is supported in VirtualCenter only. The value returned from host\nshould be ignored.\n\nSee also *HostSystem.EnterLockdownMode*, *HostSystem.ExitLockdownMode*.\n",
            "type": "boolean"
          },
          "lockdownMode": {
            "description": "Indicates the current lockdown mode of the host as reported by\n*HostAccessManager.lockdownMode*.\n\nSee also *HostAccessManager.ChangeLockdownMode*.\n",
            "$ref": "#/components/schemas/HostLockdownMode_enum"
          },
          "ipmi": {
            "description": "IPMI (Intelligent Platform Management Interface) info for the host.\n",
            "$ref": "#/components/schemas/HostIpmiInfo"
          },
          "sslThumbprintInfo": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0, use *HostConfigInfo.sslThumbprintData* instead.\n\nSSL Thumbprint info for hosts registered on this host.\n",
            "$ref": "#/components/schemas/HostSslThumbprintInfo"
          },
          "sslThumbprintData": {
            "description": "SSL Thumbprints registered on this host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSslThumbprintInfo"
            }
          },
          "certificate": {
            "description": "Full Host Certificate in PEM format, if known\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -128,
              "maximum": 127
            }
          },
          "pciPassthruInfo": {
            "description": "PCI passthrough information.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPciPassthruInfo"
            }
          },
          "authenticationManagerInfo": {
            "description": "Current authentication configuration.\n",
            "$ref": "#/components/schemas/HostAuthenticationManagerInfo"
          },
          "featureVersion": {
            "description": "List of feature-specific version information.\n\nEach element refers\nto the version information for a specific feature.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureVersionInfo"
            }
          },
          "powerSystemCapability": {
            "description": "Host power management capability.\n",
            "$ref": "#/components/schemas/PowerSystemCapability"
          },
          "powerSystemInfo": {
            "description": "Host power management information.\n",
            "$ref": "#/components/schemas/PowerSystemInfo"
          },
          "cacheConfigurationInfo": {
            "description": "Host solid stats drive cache configuration information.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCacheConfigurationInfo"
            }
          },
          "wakeOnLanCapable": {
            "description": "Indicates if a host is wake on lan capable.\n\nA host is deemed wake on lan capable if there exists at least one\nphysical network card that is both backing the vmotion interface and\nis itself wake on lan capable.\n",
            "type": "boolean"
          },
          "featureCapability": {
            "description": "Array of host feature capabilities.\n\nThis is expected to change\ninfrequently. It may change while host is in maintenance mode\nand between reboots if hardware, firmware, or a device driver\nis changed or upgraded.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureCapability"
            }
          },
          "maskedFeatureCapability": {
            "description": "Array of the feature capabilities that the host has after the\nmask has been applied.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureCapability"
            }
          },
          "vFlashConfigInfo": {
            "description": "Host vFlash configuration information\n",
            "$ref": "#/components/schemas/HostVFlashManagerVFlashConfigInfo"
          },
          "vsanHostConfig": {
            "description": "VSAN configuration for a host.\n",
            "$ref": "#/components/schemas/VsanHostConfigInfo"
          },
          "domainList": {
            "description": "List of Windows domains available for user searches, if the underlying\nsystem supports windows domain membership.\n\nSee *UserDirectory.domainList*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scriptCheckSum": {
            "description": "A checksum of overhead computation script.\n\n(For VMware internal usage only)\n",
            "type": "string",
            "format": "byte"
          },
          "hostConfigCheckSum": {
            "description": "A checksum of host configuration option set.\n\n(For VMware internal usage only)\n",
            "type": "string",
            "format": "byte"
          },
          "descriptionTreeCheckSum": {
            "description": "A checksum of the Assignable Hardware Description Tree.\n\n(For VMware internal usage only)\n",
            "type": "string",
            "format": "byte"
          },
          "graphicsInfo": {
            "description": "The list of graphics devices available on this host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostGraphicsInfo"
            }
          },
          "sharedPassthruGpuTypes": {
            "description": "Array of shared passthru GPU types.\n\nThese GPU types may be enabled\nwhen specific host hardware is present.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "graphicsConfig": {
            "description": "Graphics configuration for a host.\n",
            "$ref": "#/components/schemas/HostGraphicsConfig"
          },
          "sharedGpuCapabilities": {
            "description": "Array of shared passthru GPU capablities.\n\nSee also *HostSharedGpuCapabilities*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSharedGpuCapabilities"
            }
          },
          "ioFilterInfo": {
            "description": "Information of the IO Filters installed on the host.\n\nSee *HostIoFilterInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIoFilterInfo"
            }
          },
          "sriovDevicePool": {
            "description": "Information on SRIOV device pools present on host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSriovDevicePoolInfo"
            }
          },
          "assignableHardwareBinding": {
            "description": "Information describing Assignable Hardware device bindings on host.\n\nSee *HostAssignableHardwareBinding*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAssignableHardwareBinding"
            }
          },
          "assignableHardwareConfig": {
            "description": "Configured assignable hardware device attributes.\n",
            "$ref": "#/components/schemas/HostAssignableHardwareConfig"
          }
        },
        "required": [
          "host",
          "product"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostConfigInfo": {
        "type": "object",
        "description": "A boxed array of *HostConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConfigManager": {
        "type": "object",
        "description": "This data object type describes the configuration of a host\nacross products and versions.\n",
        "properties": {
          "cpuScheduler": {
            "description": "The CPU scheduler that determines which threads execute on a CPU\nat any given time.\n\nRefers instance of *HostCpuSchedulerSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastoreSystem": {
            "description": "The datastore manager.\n\nRefers instance of *HostDatastoreSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "memoryManager": {
            "description": "The memory manager on the host.\n\nRefers instance of *HostMemorySystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "storageSystem": {
            "description": "The storage configuration.\n\nRefers instance of *HostStorageSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "networkSystem": {
            "description": "The network system configuration.\n\nRefers instance of *HostNetworkSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vmotionSystem": {
            "deprecated": true,
            "description": "Deprecated as of VI API 4.0, use *HostConfigManager.virtualNicManager*\nto manage the VMotion configuration of the host.\n\nThe VMotion configuration.\n\nRefers instance of *HostVMotionSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "virtualNicManager": {
            "description": "The VirtualNic configuration.\n\nRefers instance of *HostVirtualNicManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "serviceSystem": {
            "description": "The configuration of the host services (for example,\nSSH, FTP, and Telnet).\n\nRefers instance of *HostServiceSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "firewallSystem": {
            "description": "The firewall configuration.\n\nRefers instance of *HostFirewallSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "advancedOption": {
            "description": "Advanced options.\n\nRefers instance of *OptionManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "diagnosticSystem": {
            "description": "The diagnostic for the ESX Server system.\n\nRefers instance of *HostDiagnosticSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "autoStartManager": {
            "description": "Auto-start and auto-stop configuration.\n\nRefers instance of *HostAutoStartManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snmpSystem": {
            "description": "Snmp configuration\n\nRefers instance of *HostSnmpSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "dateTimeSystem": {
            "description": "DateTime configuration\n\nRefers instance of *HostDateTimeSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "patchManager": {
            "description": "Host patch management.\n\nRefers instance of *HostPatchManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "imageConfigManager": {
            "description": "Host image configuration management.\n\nRefers instance of *HostImageConfigManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "bootDeviceSystem": {
            "description": "Boot device order management.\n\nRefers instance of *HostBootDeviceSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "firmwareSystem": {
            "description": "Firmware management.\n\nRefers instance of *HostFirmwareSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "healthStatusSystem": {
            "description": "System health status manager.\n\nRefers instance of *HostHealthStatusSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "pciPassthruSystem": {
            "description": "PciDeviceSystem for passthru.\n\nRefers instance of *HostPciPassthruSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "licenseManager": {
            "description": "License manager\n\nRefers instance of *LicenseManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "kernelModuleSystem": {
            "description": "Kernel module configuration management.\n\nRefers instance of *HostKernelModuleSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "authenticationManager": {
            "description": "Authentication method configuration - for example, for Active Directory membership.\n\nRefers instance of *HostAuthenticationManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "powerSystem": {
            "description": "Power System manager.\n\nRefers instance of *HostPowerSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "cacheConfigurationManager": {
            "description": "Host solid state drive cache configuration manager.\n\nRefers instance of *HostCacheConfigurationManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "esxAgentHostManager": {
            "description": "Esx Agent resource configuration manager\n\nRefers instance of *HostEsxAgentHostManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "iscsiManager": {
            "description": "Iscsi Management Operations managed entity\n\nRefers instance of *IscsiManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vFlashManager": {
            "description": "vFlash Manager\n\nRefers instance of *HostVFlashManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vsanSystem": {
            "description": "VsanSystem managed entity.\n\nRefers instance of *HostVsanSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "messageBusProxy": {
            "description": "Common Message Bus proxy service.\n\nThis API shall always be present in vSphere API 6.0 or later.\n\nRefers instance of *MessageBusProxy*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "userDirectory": {
            "description": "A user directory managed object.\n\nRefers instance of *UserDirectory*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "accountManager": {
            "description": "A manager for host local user accounts.\n\nRefers instance of *HostLocalAccountManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hostAccessManager": {
            "description": "Host access manager\n\nRefers instance of *HostAccessManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "graphicsManager": {
            "description": "Host graphics manager.\n\nRefers instance of *HostGraphicsManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vsanInternalSystem": {
            "description": "VsanInternalSystem managed entity.\n\nRefers instance of *HostVsanInternalSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "certificateManager": {
            "description": "Host CertificateManager.\n\nRefers instance of *HostCertificateManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "cryptoManager": {
            "description": "Host CryptoManager.\n\nRefers instance of *CryptoManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "nvdimmSystem": {
            "description": "Host Non-Volatile DIMM configuration manager\n\nRefers instance of *HostNvdimmSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "assignableHardwareManager": {
            "description": "Assignable Hardware manager.\n\nRefers instance of *HostAssignableHardwareManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostConfigManager": {
        "type": "object",
        "description": "A boxed array of *HostConfigManager*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConfigManager"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConfigSpec": {
        "type": "object",
        "description": "The *HostConfigSpec* data object provides access to data objects\nthat specify configuration changes to be applied to an ESX host.\n",
        "properties": {
          "nasDatastore": {
            "description": "Configurations to create NAS datastores.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNasVolumeConfig"
            }
          },
          "network": {
            "description": "Network system information.\n",
            "$ref": "#/components/schemas/HostNetworkConfig"
          },
          "nicTypeSelection": {
            "description": "Type selection for different VirtualNics.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicManagerNicTypeSelection"
            }
          },
          "service": {
            "description": "Host service configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostServiceConfig"
            }
          },
          "firewall": {
            "description": "Firewall configuration.\n",
            "$ref": "#/components/schemas/HostFirewallConfig"
          },
          "option": {
            "description": "Host configuration options as defined by the\n*OptionValue* data object type.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          },
          "datastorePrincipal": {
            "description": "Datastore principal user.\n",
            "type": "string"
          },
          "datastorePrincipalPasswd": {
            "description": "Password for the datastore principal.\n",
            "type": "string"
          },
          "datetime": {
            "description": "DateTime Configuration.\n",
            "$ref": "#/components/schemas/HostDateTimeConfig"
          },
          "storageDevice": {
            "description": "Storage system information.\n",
            "$ref": "#/components/schemas/HostStorageDeviceInfo"
          },
          "license": {
            "description": "License configuration for the host.\n",
            "$ref": "#/components/schemas/HostLicenseSpec"
          },
          "security": {
            "description": "Security specification.\n",
            "$ref": "#/components/schemas/HostSecuritySpec"
          },
          "userAccount": {
            "description": "List of users to create/update with new password.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAccountSpec"
            }
          },
          "usergroupAccount": {
            "description": "List of users to create/update with new password.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAccountSpec"
            }
          },
          "memory": {
            "description": "Memory configuration for the host.\n",
            "$ref": "#/components/schemas/HostMemorySpec"
          },
          "activeDirectory": {
            "description": "Active Directory configuration change.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostActiveDirectory"
            }
          },
          "genericConfig": {
            "description": "Advanced configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          },
          "graphicsConfig": {
            "description": "Graphics configuration for a host.\n",
            "$ref": "#/components/schemas/HostGraphicsConfig"
          },
          "assignableHardwareConfig": {
            "description": "Assignable Hardware configuration for the host\n",
            "$ref": "#/components/schemas/HostAssignableHardwareConfig"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostConfigSpec": {
        "type": "object",
        "description": "A boxed array of *HostConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConnectInfo": {
        "type": "object",
        "description": "This data object type contains information about a single host that can be used by\nthe connection wizard.\n\nThis can be returned without adding the host to VirtualCenter.\n",
        "properties": {
          "serverIp": {
            "description": "The IP address of the VirtualCenter already managing this host, if any.\n",
            "type": "string"
          },
          "inDasCluster": {
            "description": "If the host is already being managed by a vCenter Server, this property\nreports true if the host is also part of a vSphere HA enabled cluster.\n\nIf\nthis is the case, remove or disconnect the host\nfrom this cluster before adding it to another vCenter Server.\n",
            "type": "boolean"
          },
          "host": {
            "description": "Summary information about the host.\n\nThe status fields and managed object\nreference is not set when an object of this type is created. These fields and\nreferences are typically set later when these objects are associated with a host.\n",
            "$ref": "#/components/schemas/HostListSummary"
          },
          "vm": {
            "description": "The list of virtual machines on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSummary"
            }
          },
          "vimAccountNameRequired": {
            "description": "Whether or not the host requires a vimAccountName and password to be set in the\nConnectSpec.\n\nThis is normally only required for VMware Server hosts.\n",
            "type": "boolean"
          },
          "clusterSupported": {
            "description": "Whether or not the host supports clustering capabilities such as HA or DRS and\ntherefore can be added to a cluster.\n\nIf false, the host must be added as a\nstandalone host.\n",
            "type": "boolean"
          },
          "network": {
            "description": "The list of network information for networks configured on this host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConnectInfoNetworkInfo"
            }
          },
          "datastore": {
            "description": "The list of datastores on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDatastoreConnectInfo"
            }
          },
          "license": {
            "description": "License manager information on the host\n",
            "$ref": "#/components/schemas/HostLicenseConnectInfo"
          },
          "capability": {
            "description": "Host capabilities.\n",
            "$ref": "#/components/schemas/HostCapability"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostConnectInfo": {
        "type": "object",
        "description": "A boxed array of *HostConnectInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConnectInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDatastoreExistsConnectInfo": {
        "type": "object",
        "description": "This data object type describes a datastore on the host that matches an existing\ndatastore on VirtualCenter that has a different name.\n",
        "properties": {
          "newDatastoreName": {
            "description": "The name of a matching datastore on VirtualCenter.\n\nThe datastore on the host\nwill be renamed to this name.\n",
            "type": "string"
          }
        },
        "required": [
          "newDatastoreName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDatastoreConnectInfo"
          }
        ]
      },
      "ArrayOfHostDatastoreExistsConnectInfo": {
        "type": "object",
        "description": "A boxed array of *HostDatastoreExistsConnectInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDatastoreExistsConnectInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDatastoreConnectInfo": {
        "type": "object",
        "description": "The base data object type for information about datastores on the host.\n",
        "properties": {
          "summary": {
            "description": "Basic datastore information.\n\nThe managed object reference is not set.\n",
            "$ref": "#/components/schemas/DatastoreSummary"
          }
        },
        "required": [
          "summary"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDatastoreConnectInfo": {
        "type": "object",
        "description": "A boxed array of *HostDatastoreConnectInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDatastoreConnectInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDatastoreNameConflictConnectInfo": {
        "type": "object",
        "description": "This data object type describes a datastore on the host that has the same name as\na different datastore on VirtualCenter.\n",
        "properties": {
          "newDatastoreName": {
            "description": "To resolve a conflict with existing datastores, a suggested new name of the\ndatastore can be provided.\n",
            "type": "string"
          }
        },
        "required": [
          "newDatastoreName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDatastoreConnectInfo"
          }
        ]
      },
      "ArrayOfHostDatastoreNameConflictConnectInfo": {
        "type": "object",
        "description": "A boxed array of *HostDatastoreNameConflictConnectInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDatastoreNameConflictConnectInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLicenseConnectInfo": {
        "type": "object",
        "description": "This data object type describes license information stored on the host.\n",
        "properties": {
          "license": {
            "description": "License information.\n",
            "$ref": "#/components/schemas/LicenseManagerLicenseInfo"
          },
          "evaluation": {
            "description": "Evaluation information.\n",
            "$ref": "#/components/schemas/LicenseManagerEvaluationInfo"
          },
          "resource": {
            "description": "Licensable resources information.\n\nNOTE:\nThe values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0\n",
            "$ref": "#/components/schemas/HostLicensableResourceInfo"
          }
        },
        "required": [
          "license",
          "evaluation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLicenseConnectInfo": {
        "type": "object",
        "description": "A boxed array of *HostLicenseConnectInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLicenseConnectInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConnectInfoNetworkInfo": {
        "type": "object",
        "description": "The base data object type for information about networks on the host.\n",
        "properties": {
          "summary": {
            "description": "Basic network information, such as network name.\n\nThe managed object reference\nis not set.\n",
            "$ref": "#/components/schemas/NetworkSummary"
          }
        },
        "required": [
          "summary"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostConnectInfoNetworkInfo": {
        "type": "object",
        "description": "A boxed array of *HostConnectInfoNetworkInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConnectInfoNetworkInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNewNetworkConnectInfo": {
        "type": "object",
        "description": "Network information for a network that will be added to VirtualCenter when the\nhost is added.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostConnectInfoNetworkInfo"
          }
        ]
      },
      "ArrayOfHostNewNetworkConnectInfo": {
        "type": "object",
        "description": "A boxed array of *HostNewNetworkConnectInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNewNetworkConnectInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConnectSpec": {
        "type": "object",
        "description": "Specifies the parameters needed to add a single host.\n\nThis includes\na small set of optional information about the host configuration.\nThis allows the network and datastore configuration of the host to\nbe synchronized with the naming conventions of the datacenter, as well\nas the configuration of a vim account (the username/password for the\nvirtual machine files that is created on disk).\n",
        "properties": {
          "hostName": {
            "description": "The DNS name or IP address of the host.\n\n(Required for adding\na host.)\n",
            "type": "string"
          },
          "port": {
            "description": "The port number for the connection.\n\nIf this is not specified,\nthe default port number is used. For ESX 2.x hosts this is the authd\nport (902 by default). For ESX 3.x and above and VMware Server hosts\nthis is the https port (443 by default).\nIf this is a reconnect, the port number is unchanged.\n",
            "type": "integer",
            "format": "int32"
          },
          "sslThumbprint": {
            "description": "The thumbprint of the SSL certificate, which the host is\nexpected to have.\n\nIf this value is set and matches the\ncertificate thumbprint presented by the host, then the host is\nauthenticated. If this value is not set or does not match the\ncertificate thumbprint presented by the host, then the host's\ncertificate is verified by checking whether it was signed by a\nrecognized CA.\n\nThe thumbprint is always computed using the SHA1 hash and is\nthe string representation of that hash in the format:\nxx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx\nwhere, 'x' represents a hexadecimal digit\n",
            "type": "string"
          },
          "userName": {
            "description": "The administration account on the host.\n\n(Required for adding\na host.)\n",
            "type": "string"
          },
          "password": {
            "description": "The password for the administration account.\n\n(Required for adding\na host.)\n",
            "type": "string",
            "format": "password"
          },
          "vmFolder": {
            "description": "The folder in which to store the existing virtual machines on the host.\n\nIf this folder is not specified, a default folder is chosen\n(and possibly created) by the VirtualCenter. This folder exists (or\nis possibly created) on the\nVirtualCenter server and is called \"Discovered VM\".\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "force": {
            "description": "If this flag is set to \"true\", then the connection succeeds even\nif the host is already being managed by another VirtualCenter server.\n\nThe original VirtualCenter server loses connection to the host.\n",
            "type": "boolean"
          },
          "vimAccountName": {
            "description": "The username to be used for accessing the virtual\nmachine files on the disk.\n",
            "type": "string"
          },
          "vimAccountPassword": {
            "description": "The password to be used with the\n*vimAccountName*\nproperty for accessing the virtual\nmachine files on the disk.\n",
            "type": "string",
            "format": "password"
          },
          "managementIp": {
            "description": "The IP address of the VirtualCenter server that will manage this host.\n\nThis field can be used to control which IP address the VirtualCenter agent\nwill send heartbeats to. If it is not set, VirtualCenter will use the local IP\naddress used when communicating with the host. Setting this field is useful\nwhen the VirtualCenter server is behind a NAT in which case the external NAT\naddress must be used.\n",
            "type": "string"
          },
          "lockdownMode": {
            "description": "If this is set then the host will be put in the specified lockdown mode\nwhen the host is added and connected.\n\nIt is used only when calling the APIs\n*Folder.AddStandaloneHost_Task* with parameter 'addConnected' set to true,\nor *ClusterComputeResource.AddHost_Task* with parameter 'asConnected'\nset to true.\nIf the operation to add the host specifies that the host should only be\nadded but not connected, then the host won't be put in lockdown mode.\n\nThis is equivalent to invoking\n*HostAccessManager.ChangeLockdownMode*\nimmediately after addition and connection to the host succeeds.\n\nIf equal to *lockdownDisabled*\nthen it is ignored.\n",
            "$ref": "#/components/schemas/HostLockdownMode_enum"
          },
          "hostGateway": {
            "deprecated": true,
            "description": "Deprecated not supported since vSphere 6.5.\n\nSetting for a gateway for communication to the host.\n\nIf set all trafic to the\nhost will pass through this gateway.\n",
            "$ref": "#/components/schemas/HostGatewaySpec"
          }
        },
        "required": [
          "force"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostConnectSpec": {
        "type": "object",
        "description": "A boxed array of *HostConnectSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConnectSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCpuIdInfo": {
        "type": "object",
        "description": "The CpuIdInfo data object type is used to represent the CPU features of\na particular host or product, or to specify what the CPU feature\nrequirements are for a particular virtual machine or guest operating\nsystem.\n\nAs of vSphere API 5.1 *FeatureMask* must be\nused for masking all hosts and is the recommended method for masking\nvirtual machines with hardware version 9 and above (newer). CpuIdInfo\nshould be used only to mask hardware version 8 and lower (older)\nvirtual machines. Although CpuIdInfo can mask all virtual machines\nregardless of hardware version, its application is limited and has been\nsuperceded by FeatureMask.\n\nFor each register (eax,ebx,ecx,edx), the string is a bit mask of the form:\n\n           ????:????:????:????:????:????:????:????\n\nWhen used to represent the features of a specific processor package\n(*HostHardwareInfo.cpuPkg*), the features common to all\nprocessors on a host (*HostHardwareInfo.cpuFeature*), or the\nfeatures supported by a virtualization platform\n(*HostCapability.supportedCpuFeature*), each bit is either '0'\nor '1', or '-' for unknown/unspecified. In these feature vectors, the\nvendor field is never set.\n\nOptional values in these feature vectors default to\n'----:----:----:----:----:----:----:----'.\n\nWhen specifying the required feature set for a virtual machine or a guest\noperating system, the bits can take on the values as described below, and\nthe vendor field may be set. The total feature requirements for a virtual\nmachine are composed by using any requirements listed in the virtual\nmachine's configuration to override the requirements listed in the\ndescriptor for the virtual machine's guest OS.\n\nBits used for specifying requirements:\n- **x**: Unused by guest software.\n- **T**: Feature that the guest software requires to be enabled.\n- **F**: Feature that the guest software requires to be disabled.\n- **1**: Feature will be reported as enabled if queried by the guest\n  software.\n- **0**: Feature will be reported as disabled if queried by the guest\n  software.\n- **R**: Feature will be reported as disabled if queried by the guest\n  software; however, for VMotion the actual value of this\n  feature is required to be the same on both hosts.\n- **H**: Used by guest software. For VMotion the value of this\n  feature is required to be the same on both hosts.\n- **-**: This bit type is only used in the requirements stored in\n  the virtual machine's configuration. It indicates that, for\n  this bit position, the requirement from the guest OS\n  descriptor should be used instead.\n  \nThe values 'F' and '1' are rarely used but included for completeness. The\n'0' and '1' values do not promise a faithful virtualization of these\nfeatures; whether the features work when forced to 0 or 1 is highly\ndependent on the guest software.\n\nOptional values in the requirements from the virtual machine's\nconfiguration default to '----:----:----:----:----:----:----:----'.\nOptional values in the requirements from the guest OS descriptor default\nto 'xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'.\n\nOnce the feature requirements for a virtual machine have been composed\nfrom the virtual machine's configuration and guest OS descriptor, the bit\ntypes above are used to identify whether or not the virtual machine\ncan be powered on or be migrated with VMotion to a particular host.\nThe rules are as follows:\n- **Power-on**: Requirements marked as 'T' or 'F' must match bits\n  '1' or '0', respectively, in the features advertised by the HardwareInfo\n  of the power-on host.\n- **VMotion**: Requirements marked as 'T' or 'F' must match bits\n  '1' or '0', respectively, in the features advertised by the HardwareInfo\n  of the destination host. Also, at the positions where requirements are\n  marked 'H' or 'R', the advertised value of that feature for the source\n  host must match that of the destination host.\n",
        "properties": {
          "level": {
            "description": "Level (EAX input to CPUID).\n",
            "type": "integer",
            "format": "int32"
          },
          "vendor": {
            "description": "Used if this mask is for a particular vendor.\n",
            "type": "string"
          },
          "eax": {
            "description": "String representing the required EAX bits.\n",
            "type": "string"
          },
          "ebx": {
            "description": "String representing the required EBX bits.\n",
            "type": "string"
          },
          "ecx": {
            "description": "String representing the required ECX bits.\n",
            "type": "string"
          },
          "edx": {
            "description": "String representing the required EDX bits.\n",
            "type": "string"
          }
        },
        "required": [
          "level"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCpuIdInfo": {
        "type": "object",
        "description": "A boxed array of *HostCpuIdInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuIdInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCpuInfo": {
        "type": "object",
        "description": "Information about the CPUs.\n",
        "properties": {
          "numCpuPackages": {
            "description": "Number of physical CPU packages on the host.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "numCpuCores": {
            "description": "Number of physical CPU cores on the host.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "numCpuThreads": {
            "description": "Number of physical CPU threads on the host.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "hz": {
            "description": "CPU speed per core.\n\nThis might be an averaged value if the speed\nis not uniform across all cores. The total CPU speed of the box is\ndefined as hz \\* numCpuCores\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "numCpuPackages",
          "numCpuCores",
          "numCpuThreads",
          "hz"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCpuInfo": {
        "type": "object",
        "description": "A boxed array of *HostCpuInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCpuPackage": {
        "type": "object",
        "description": "Information about a physical CPU package.\n",
        "properties": {
          "index": {
            "description": "Package index, starting from zero.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "vendor": {
            "description": "CPU vendor name, possible names currently are \"Intel\", \"AMD\",\n\"arm\", \"hygon\", or \"unknown\".\n",
            "type": "string"
          },
          "hz": {
            "description": "CPU speed in HZ.\n",
            "type": "integer",
            "format": "int64"
          },
          "busHz": {
            "description": "Bus speed in HZ.\n",
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "description": "String summary description of CPU (for display purposes).\n",
            "type": "string"
          },
          "threadId": {
            "description": "The logical CPU threads on this package.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -32768,
              "maximum": 32767
            }
          },
          "cpuFeature": {
            "description": "The CPU feature bit on this particular CPU.\n\nThis is independent of\nthe product and licensing capabilities.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuIdInfo"
            }
          },
          "family": {
            "description": "Family ID for the CPU\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "model": {
            "description": "Model number of the CPU\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "stepping": {
            "description": "Stepping ID of the CPU\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          }
        },
        "required": [
          "index",
          "vendor",
          "hz",
          "busHz",
          "description",
          "threadId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCpuPackage": {
        "type": "object",
        "description": "A boxed array of *HostCpuPackage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuPackage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCpuPowerManagementInfo": {
        "type": "object",
        "description": "The CpuPowerManagementInfo data object type describes supported\npower management and current policy.\n",
        "properties": {
          "currentPolicy": {
            "description": "Information about current CPU power management policy.\n",
            "type": "string"
          },
          "hardwareSupport": {
            "description": "Information about supported CPU power management.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCpuPowerManagementInfo": {
        "type": "object",
        "description": "A boxed array of *HostCpuPowerManagementInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuPowerManagementInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCpuSchedulerInfo": {
        "type": "object",
        "description": "This data object describes the information related to the CPU scheduler\nrunning on the Host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "policy": {
            "description": "The *policy* active for CPU Scheduling.\n",
            "type": "string"
          }
        },
        "required": [
          "policy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostCpuSchedulerInfo": {
        "type": "object",
        "description": "A boxed array of *HostCpuSchedulerInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuSchedulerInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostHyperThreadScheduleInfo": {
        "type": "object",
        "description": "This data object type describes the CpuSchedulerSystem configuration\nfor optimizing hyperthreading.\n\nThe primary hyperthreading\noptimization employed by the CpuSchedulerSystem is to utilize\nhyperthreads as additional schedulable resources. Although\nhyperthreads provide limited additional concurrency,\ncertain workloads (such as idling) can take advantage of\nthese hyperthreads. This is particularly useful for SMP virtual\nmachines that use gang scheduling. (Gang scheduling refers to a\nsituation in which all of a parallel program's tasks are grouped\ninto a \"gang\" and concurrently scheduled on distinct\nprocessors of a parallel computer system.)\n\nChanges to the hyperthreading optimization can take effect only\nafter a system restart. Therefore, while it is possible to change\nthe configuration at any time, the change will take effect only\non the next boot.\n",
        "properties": {
          "available": {
            "description": "The flag to indicate whether or not hyperthreading\noptimization is available on the system.\n\nThis property\nis set by VMware prior to installation.\n",
            "type": "boolean"
          },
          "active": {
            "description": "The flag to indicate whether or not the CPU scheduler is\ncurrently treating\nhyperthreads as schedulable resources.\n\nSetting this property\ninvolves a successful invocation of either the\n*enableHyperThreading()* method (\"true\") or the\n*disableHyperthreading()* method\n(\"false\"). The property is set once the system is rebooted.\n",
            "type": "boolean"
          },
          "config": {
            "description": "The flag to indicate whether or not the CPU scheduler\nshould treat hyperthreads as\nschedulable resources the next time the CPU scheduler starts.\n- This property is set to \"true\" by successfully invoking the\n  *enableHyperThreading()* method.\n- This property is set to \"false\" by successfully invoking the\n  *disableHyperthreading()* method.\n",
            "type": "boolean"
          }
        },
        "required": [
          "available",
          "active",
          "config"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostHyperThreadScheduleInfo": {
        "type": "object",
        "description": "A boxed array of *HostHyperThreadScheduleInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHyperThreadScheduleInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDataTransportConnectionInfo": {
        "type": "object",
        "description": "DataTransportConnectionInfo contains common information about data transport\nconnections on a host.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "staticMemoryConsumed": {
            "description": "Static memory consumption by a connection in bytes like buffer sizes, heap sizes, etc.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "staticMemoryConsumed"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDataTransportConnectionInfo": {
        "type": "object",
        "description": "A boxed array of *HostDataTransportConnectionInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDataTransportConnectionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileInfo": {
        "type": "object",
        "description": "This data object type contains rudimentary information about a file in a\ndatastore.\n\nThe information here is not meant to cover all information in\ntraditional file systems, but rather to provide sufficient information for files\nthat are associated with virtual machines. Derived types describe the known file\ntypes for a datastore.\n",
        "properties": {
          "path": {
            "description": "The path relative to the folder path in the search results.\n",
            "type": "string"
          },
          "friendlyName": {
            "description": "User friendly name.\n",
            "type": "string"
          },
          "fileSize": {
            "description": "The size of the file in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "modification": {
            "description": "The last date and time the file was modified.\n",
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "description": "The user name of the owner of the file.\n",
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFileInfo": {
        "type": "object",
        "description": "A boxed array of *FileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileQueryFlags": {
        "type": "object",
        "description": "The FileInfo.Details data object type is a set of flags for a search request.\n\nThis search request specifies which details to return for each matching file.\nThis data object type is here to ensure that there is one flag corresponding to\neach FileInfo property other than the path name, which a search always returns.\n",
        "properties": {
          "fileType": {
            "description": "The flag to indicate whether or not the files that match this query\nspecification are returned along with file type information.\n\nThis field must\nbe set to return specific details about the file type.\n",
            "type": "boolean"
          },
          "fileSize": {
            "description": "The flag to indicate whether or not the size of the file is returned.\n",
            "type": "boolean"
          },
          "modification": {
            "description": "The flag to indicate whether or not to return the date and time the file was\nlast modified.\n",
            "type": "boolean"
          },
          "fileOwner": {
            "description": "The flag to indicate whether or not to return the file owner.\n",
            "type": "boolean"
          }
        },
        "required": [
          "fileType",
          "fileSize",
          "modification",
          "fileOwner"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFileQueryFlags": {
        "type": "object",
        "description": "A boxed array of *FileQueryFlags*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileQueryFlags"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FloppyImageFileInfo": {
        "type": "object",
        "description": "This data object type describes a file that is a floppy disk image.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileInfo"
          }
        ]
      },
      "ArrayOfFloppyImageFileInfo": {
        "type": "object",
        "description": "A boxed array of *FloppyImageFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FloppyImageFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FloppyImageFileQuery": {
        "type": "object",
        "description": "This data object type describes the query specification for a floppy disk image.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileQuery"
          }
        ]
      },
      "ArrayOfFloppyImageFileQuery": {
        "type": "object",
        "description": "A boxed array of *FloppyImageFileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FloppyImageFileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FolderFileInfo": {
        "type": "object",
        "description": "This data object type describes a file that is a folder (directory).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileInfo"
          }
        ]
      },
      "ArrayOfFolderFileInfo": {
        "type": "object",
        "description": "A boxed array of *FolderFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FolderFileQuery": {
        "type": "object",
        "description": "This data object type describes the query specification for a folder (directory).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileQuery"
          }
        ]
      },
      "ArrayOfFolderFileQuery": {
        "type": "object",
        "description": "A boxed array of *FolderFileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FolderFileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IsoImageFileInfo": {
        "type": "object",
        "description": "This data object type describes a file that is an ISO CD-ROM image.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileInfo"
          }
        ]
      },
      "ArrayOfIsoImageFileInfo": {
        "type": "object",
        "description": "A boxed array of *IsoImageFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IsoImageFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IsoImageFileQuery": {
        "type": "object",
        "description": "This data object type describes the query specification for an ISO CD-ROM image.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileQuery"
          }
        ]
      },
      "ArrayOfIsoImageFileQuery": {
        "type": "object",
        "description": "A boxed array of *IsoImageFileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IsoImageFileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileQuery": {
        "type": "object",
        "description": "The data object type that describes the base query specification.\n\nContains query\nfilters and details that apply to every file. Querying only file details generally\ndoes not require opening files and so is an efficient query. Derived types add\nquery parameters specific to the type of file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFileQuery": {
        "type": "object",
        "description": "A boxed array of *FileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDatastoreBrowserSearchResults": {
        "type": "object",
        "description": "This data object type contains the results of a search method for one datastore.\n\nA\nsearch method typically returns a set of these objects as an array.\n",
        "properties": {
          "datastore": {
            "description": "Datastore contains the results.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "folderPath": {
            "description": "Relative path to the top-level folder.\n",
            "type": "string"
          },
          "file": {
            "description": "Set of matching files, if any.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDatastoreBrowserSearchResults": {
        "type": "object",
        "description": "A boxed array of *HostDatastoreBrowserSearchResults*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDatastoreBrowserSearchResults"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDatastoreBrowserSearchSpec": {
        "type": "object",
        "description": "The data object type describes a search for files in one or more datastores.\n\nThe\nproperties do not include the starting datastore path because that path is a\nseparate parameter to the search method.\n\nA SearchSpec contains the query parameters and some global search modifiers.\n",
        "properties": {
          "query": {
            "description": "The set of file types to match, search criteria specific to the file type, and\nthe amount of detail for a file.\n\nThese search parameters are specific to a file\ntype, meaning that they can be specified only if the file type to which they\nare associated is in the set. A file type cannot appear more than once in the\nset.\n\nIf this query object is not present, then all files providing only file level\ndetails are matched.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileQuery"
            }
          },
          "details": {
            "description": "This object comprises a set of booleans that describe what details to return\nfor each file.\n\nThe file level details apply globally to all matched files.\n",
            "$ref": "#/components/schemas/FileQueryFlags"
          },
          "searchCaseInsensitive": {
            "description": "This flag indicates whether or not to search using a case insensitive match on\ntype.\n\nIn general the algorithm used to match file types relies on file\nextensions. Although the specific file extensions used are encapsulated by this\nAPI, clients are still allowed to modify the filtering behavior.\n\nBy default, the DatastoreBrowser uses a platform-consistent algorithm to\ndetermine if a file is of a type. Specifically on Linux, where case is\nimportant, the search is case sensitive. On Windows, case is not important, so\nthe search is case insensitive.\n\nIn an environment with heterogenous platforms, being platform-consistent may\nnot be desirable. As a result, the default behavior can be overridden by\nsetting this optional flag.\n",
            "type": "boolean"
          },
          "matchPattern": {
            "description": "Specifies a list of file patterns that must match for a file to be returned.\n\nThis search property is a filter that applies globally so that only files\nmatching the specified patterns are returned, regardless of the other search\nparameters.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sortFoldersFirst": {
            "description": "By default, files are sorted in alphabetical order regardless of file type.\n\nIf\nthis flag is set to \"true\", folders are placed at the start of the list of\nresults in alphabetical order. The remaining files follow in alphabetical\norder.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDatastoreBrowserSearchSpec": {
        "type": "object",
        "description": "A boxed array of *HostDatastoreBrowserSearchSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDatastoreBrowserSearchSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TemplateConfigFileInfo": {
        "type": "object",
        "description": "This data object type describes a template virtual machine configuration file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFileInfo"
          }
        ]
      },
      "ArrayOfTemplateConfigFileInfo": {
        "type": "object",
        "description": "A boxed array of *TemplateConfigFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateConfigFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TemplateConfigFileQuery": {
        "type": "object",
        "description": "This data object type describes the query specification for a template virtual\nmachine configuration file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigFileQuery"
          }
        ]
      },
      "ArrayOfTemplateConfigFileQuery": {
        "type": "object",
        "description": "A boxed array of *TemplateConfigFileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateConfigFileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigFileInfo": {
        "type": "object",
        "description": "This data object type describes a virtual machine configuration file.\n",
        "properties": {
          "configVersion": {
            "type": "integer",
            "format": "int32"
          },
          "encryption": {
            "description": "The encryption information of the virtual machine\nconfiguration file.\n\nIf encryption was selected in VmConfigFileQueryFlags then this\nfield is always set. Inspect the VmConfigEncryptionInfo to\ndetermine if the virtual machine configuration file is encrypted.\n",
            "$ref": "#/components/schemas/VmConfigFileEncryptionInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/FileInfo"
          }
        ]
      },
      "ArrayOfVmConfigFileInfo": {
        "type": "object",
        "description": "A boxed array of *VmConfigFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigFileEncryptionInfo": {
        "type": "object",
        "description": "The encryption information of a virtual machine configuration.\n",
        "properties": {
          "keyId": {
            "description": "The key identifier for an encrypted virtual machine\nconfiguration file.\n\nIf the virtual machine configuration file is encrypted, then\nthe keyId is set and indicates the identifier that can be\nused to lookup the key material. Unset if the virtual machine\nconfiguration file is not encrypted.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmConfigFileEncryptionInfo": {
        "type": "object",
        "description": "A boxed array of *VmConfigFileEncryptionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigFileEncryptionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigFileQuery": {
        "type": "object",
        "description": "This data object type describes query specification for the virtual machine\nconfiguration file.\n",
        "properties": {
          "filter": {
            "description": "The filter specification for the virtual machine configuration file query.\n",
            "$ref": "#/components/schemas/VmConfigFileQueryFilter"
          },
          "details": {
            "description": "The details specification for the virtual machine configuration file query.\n",
            "$ref": "#/components/schemas/VmConfigFileQueryFlags"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/FileQuery"
          }
        ]
      },
      "ArrayOfVmConfigFileQuery": {
        "type": "object",
        "description": "A boxed array of *VmConfigFileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigFileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigFileQueryFlags": {
        "type": "object",
        "properties": {
          "configVersion": {
            "description": "The flag to indicate whether or not the configuration file version number is\nreturned.\n",
            "type": "boolean"
          },
          "encryption": {
            "description": "The flag to indicate whether the encryption information of the\nvirtual machine configuration is returned.\n",
            "type": "boolean"
          }
        },
        "required": [
          "configVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmConfigFileQueryFlags": {
        "type": "object",
        "description": "A boxed array of *VmConfigFileQueryFlags*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigFileQueryFlags"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigFileQueryFilter": {
        "type": "object",
        "description": "The filter for the virtual machine configuration file.\n",
        "properties": {
          "matchConfigVersion": {
            "description": "If this property is set, only the virtual machine configuration files that\nmatch one of the specified configuration versions are selected.\n\nIf no\nversions are specified, this search criteria is ignored.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "encrypted": {
            "description": "This optional property can be used to filter virtual\nmachine configuration files based on whether they are\nencrypted or not.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmConfigFileQueryFilter": {
        "type": "object",
        "description": "A boxed array of *VmConfigFileQueryFilter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigFileQueryFilter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDiskFileInfo": {
        "type": "object",
        "description": "This data object type describes a virtual disk primary file.\n",
        "properties": {
          "diskType": {
            "description": "Disk type of the virtual disk.\n\nThe specified disk type is one of the backing information types for a virtual\ndisk.\n\nSee also *VirtualDisk*.\n",
            "type": "string"
          },
          "capacityKb": {
            "description": "The capacity of a virtual disk from the point of view of a virtual machine.\n",
            "type": "integer",
            "format": "int64"
          },
          "hardwareVersion": {
            "description": "The hardware version of the virtual disk file.\n",
            "type": "integer",
            "format": "int32"
          },
          "controllerType": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0, this property is no longer\nrelevant and should not be used.\nWith the current state of emulation, we don't care about the\nadapter type a disk is connected to, as disks may be shuffled\naround. For example, a disk may be unplugged from a buslogic\ncontroller and plugged into an lsilogic controller.\n\nThe controller type suitable for this virtual disk.\n",
            "type": "string"
          },
          "diskExtents": {
            "description": "The extents of this virtual disk specified in absolute DS paths\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "thin": {
            "description": "Indicates if the disk is thin-provisioned\n",
            "type": "boolean"
          },
          "encryption": {
            "description": "The encryption information of the virtual disk.\n\nIf encryption was selected in VmDiskFileQueryFlags then this\nfield is always set. Inspect the VmDiskEncryptionInfo to\ndetermine if the virtual disk is encrypted.\n",
            "$ref": "#/components/schemas/VmDiskFileEncryptionInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/FileInfo"
          }
        ]
      },
      "ArrayOfVmDiskFileInfo": {
        "type": "object",
        "description": "A boxed array of *VmDiskFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDiskFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDiskFileEncryptionInfo": {
        "type": "object",
        "description": "The encryption information of a virtual disk.\n",
        "properties": {
          "keyId": {
            "description": "The key identifier for an encrypted virtual disk.\n\nIf the virtual disk is encrypted, then the keyId is set and\nindicates the identifier that can be used to lookup the key\nmaterial. Unset if the virtual disk is not encrypted.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmDiskFileEncryptionInfo": {
        "type": "object",
        "description": "A boxed array of *VmDiskFileEncryptionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDiskFileEncryptionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDiskFileQuery": {
        "type": "object",
        "description": "This data object type describes the query specification for the virtual disk\nprimary file.\n",
        "properties": {
          "filter": {
            "description": "The filter specification for the virtual disk primary file query.\n",
            "$ref": "#/components/schemas/VmDiskFileQueryFilter"
          },
          "details": {
            "description": "Details specification for the virtual disk primary file query.\n",
            "$ref": "#/components/schemas/VmDiskFileQueryFlags"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/FileQuery"
          }
        ]
      },
      "ArrayOfVmDiskFileQuery": {
        "type": "object",
        "description": "A boxed array of *VmDiskFileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDiskFileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDiskFileQueryFlags": {
        "type": "object",
        "description": "Details for the virtual disk primary file.\n",
        "properties": {
          "diskType": {
            "description": "The flag to indicate whether the type of the physical disk backing\nthe virtual disk is returned.\n",
            "type": "boolean"
          },
          "capacityKb": {
            "description": "The flag to indicate whether the capacity of the virtual disk from\nthe point of view of a virtual machine is returned.\n",
            "type": "boolean"
          },
          "hardwareVersion": {
            "description": "The flag to indicate whether the hardware version of the virtual disk\nfile is returned.\n",
            "type": "boolean"
          },
          "controllerType": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0, this property is no longer\nrelevant and should not be used.\nWith the current state of emulation, we don't care about the\nadapter type a disk is connected to, as disks may be shuffled\naround. For example, a disk may be unplugged from a buslogic\ncontroller and plugged into an lsilogic controller.\n\nThe flag to indicate whether or not the controller type of the virtual disk\nfile is returned.\n",
            "type": "boolean"
          },
          "diskExtents": {
            "description": "The flag to indicate whether or not the disk extents of the virtual disk\nare returned.\n",
            "type": "boolean"
          },
          "thin": {
            "description": "The flag to indicate whether the thin-ness of the disk is returned.\n",
            "type": "boolean"
          },
          "encryption": {
            "description": "The flag to indicate whether the encryption information of the\nvirtual disk is returned.\n",
            "type": "boolean"
          }
        },
        "required": [
          "diskType",
          "capacityKb",
          "hardwareVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmDiskFileQueryFlags": {
        "type": "object",
        "description": "A boxed array of *VmDiskFileQueryFlags*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDiskFileQueryFlags"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmDiskFileQueryFilter": {
        "type": "object",
        "description": "The filter for the virtual disk primary file.\n",
        "properties": {
          "diskType": {
            "description": "If this optional property is set, only the virtual disk primary files that\nmatch one of the specified disk types are selected.\n\nIf no disk types are\nspecified, this search criteria is ignored.\n\nThe specified disk type is one of the backing information types for a\nvirtual disk.\n\nSee also *VirtualDisk*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "matchHardwareVersion": {
            "description": "If this optional property is set, only virtual disk primary files that match\none of the specified hardware versions are selected.\n\nIf no versions are\nspecified, this search criteria is ignored.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "controllerType": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0, this property is no longer\nrelevant and should not be used.\nWith the current state of emulation, we don't care about the\nadapter type a disk is connected to, as disks may be shuffled\naround. For example, a disk may be unplugged from a buslogic\ncontroller and plugged into an lsilogic controller.\n\nIf this optional property is set, only virtual disk files that have a\ncontroller type that matches one of the controller types specified\nare returned.\n\nIf no controller types are specified, this search criteria\nis ignored.\n\nThe specified controller type is one of the controller types for a\nvirtual disk.\n\nSee also *VirtualIDEController*, *VirtualSCSIController*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "thin": {
            "description": "This optional property can be used to filter disks based on whether\nthey are thin-provsioned or not: if set to true, only thin-provisioned\ndisks are returned, and vice-versa.\n",
            "type": "boolean"
          },
          "encrypted": {
            "description": "This optional property can be used to filter disks based on\nwhether they are encrypted or not.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmDiskFileQueryFilter": {
        "type": "object",
        "description": "A boxed array of *VmDiskFileQueryFilter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmDiskFileQueryFilter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmLogFileInfo": {
        "type": "object",
        "description": "This data object type describes a file that is logging output for a virtual\nmachine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileInfo"
          }
        ]
      },
      "ArrayOfVmLogFileInfo": {
        "type": "object",
        "description": "A boxed array of *VmLogFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmLogFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmLogFileQuery": {
        "type": "object",
        "description": "This data object type describes the query specification for a virtual machine log\nfile file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileQuery"
          }
        ]
      },
      "ArrayOfVmLogFileQuery": {
        "type": "object",
        "description": "A boxed array of *VmLogFileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmLogFileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmNvramFileInfo": {
        "type": "object",
        "description": "This data object type describes a file that is a virtual machine non-volatile\nmemory file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileInfo"
          }
        ]
      },
      "ArrayOfVmNvramFileInfo": {
        "type": "object",
        "description": "A boxed array of *VmNvramFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmNvramFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmNvramFileQuery": {
        "type": "object",
        "description": "This data object type describes the query specification for a non-volatile memory\nfile.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileQuery"
          }
        ]
      },
      "ArrayOfVmNvramFileQuery": {
        "type": "object",
        "description": "A boxed array of *VmNvramFileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmNvramFileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSnapshotFileInfo": {
        "type": "object",
        "description": "This data object type describes a file that is a virtual disk snapshot file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileInfo"
          }
        ]
      },
      "ArrayOfVmSnapshotFileInfo": {
        "type": "object",
        "description": "A boxed array of *VmSnapshotFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSnapshotFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmSnapshotFileQuery": {
        "type": "object",
        "description": "This data object type describes the query specification for a virtual machine\nsnapshot file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/FileQuery"
          }
        ]
      },
      "ArrayOfVmSnapshotFileQuery": {
        "type": "object",
        "description": "A boxed array of *VmSnapshotFileQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmSnapshotFileQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDatastoreSystemCapabilities": {
        "type": "object",
        "description": "Capability vector indicating the available product features.\n",
        "properties": {
          "nfsMountCreationRequired": {
            "description": "Indicates whether mounting the NFS volume is required to be done as part\nof NAS datastore creation.\n\nIf this is set to true, then NAS datastores\ncannot be created for currently mounted NFS volumes.\n",
            "type": "boolean"
          },
          "nfsMountCreationSupported": {
            "description": "Indicates whether mounting an NFS volume is supported\nwhen a NAS datastore is created.\n\nIf this option is false,\nthen NAS datastores corresponding to NFS volumes can be created\nonly for already mounted NFS volumes.\n",
            "type": "boolean"
          },
          "localDatastoreSupported": {
            "description": "Indicates whether local datastores are supported.\n",
            "type": "boolean"
          },
          "vmfsExtentExpansionSupported": {
            "description": "Indicates whether vmfs extent expansion is supported.\n",
            "type": "boolean"
          }
        },
        "required": [
          "nfsMountCreationRequired",
          "nfsMountCreationSupported",
          "localDatastoreSupported",
          "vmfsExtentExpansionSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDatastoreSystemCapabilities": {
        "type": "object",
        "description": "A boxed array of *HostDatastoreSystemCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDatastoreSystemCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDatastoreSystemDatastoreResult": {
        "type": "object",
        "description": "Contains result of remove datastore request.\n\nUsed as return value\nby *HostDatastoreSystem.RemoveDatastoreEx_Task*\n",
        "properties": {
          "key": {
            "description": "Datastore removed\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "fault": {
            "description": "Fault if removal fails\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDatastoreSystemDatastoreResult": {
        "type": "object",
        "description": "A boxed array of *HostDatastoreSystemDatastoreResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDatastoreSystemDatastoreResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDatastoreSystemVvolDatastoreSpec": {
        "type": "object",
        "description": "Specification for creating Virtual Volumed based datastore.\n",
        "properties": {
          "name": {
            "description": "Name of the datastore.\n",
            "type": "string"
          },
          "scId": {
            "description": "Storage contained Id.\n\nThis is used to retrieve configuration of the\nstorage container from SMS.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "scId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDatastoreSystemVvolDatastoreSpec": {
        "type": "object",
        "description": "A boxed array of *HostDatastoreSystemVvolDatastoreSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDatastoreSystemVvolDatastoreSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDateTimeConfig": {
        "type": "object",
        "description": "This data object represents the dateTime configuration of the host.\n",
        "properties": {
          "timeZone": {
            "description": "The time zone of the host.\n\nMust be one of the values of\n*HostDateTimeSystemTimeZone.key*\n",
            "type": "string"
          },
          "ntpConfig": {
            "description": "The NTP configuration on the host.\n",
            "$ref": "#/components/schemas/HostNtpConfig"
          },
          "ptpConfig": {
            "description": "The PTP configuration on the host.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "$ref": "#/components/schemas/HostPtpConfig"
          },
          "protocol": {
            "description": "Specify which network time configuration to discipline vmkernel clock.\n\nSee *HostDateTimeInfoProtocol_enum* for supported values.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "string"
          },
          "enabled": {
            "description": "Bring Time services subsystem up or down.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "disableEvents": {
            "description": "When Network Time service or Precision Time service are enabled\nany detecteced failures will result in Events being sent to\nVirtual Center.\n\nUse this setting to disable Time Events.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "disableFallback": {
            "description": "When in PrecisionTimeSync, NTP configuration as set will be\nrunning as backup.\n\nUse this setting to prevent NTP from becoming\nthe primary time protocol in the event of a PTP service failure.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "resetToFactoryDefaults": {
            "description": "When this property is present and set true the existing\nconfiguration for Time Services will be reset to factory default.\n\nThe protocol property when set defines the scope of what is reset.\nIf additional configuration beyond protocol is provided host\nwill first perform factory reset followed by applying any configuration\npresent.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDateTimeConfig": {
        "type": "object",
        "description": "A boxed array of *HostDateTimeConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDateTimeConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDateTimeInfo": {
        "type": "object",
        "description": "This data object represents the dateTime configuration of the host.\n",
        "properties": {
          "timeZone": {
            "description": "The time zone of the host.\n",
            "$ref": "#/components/schemas/HostDateTimeSystemTimeZone"
          },
          "systemClockProtocol": {
            "description": "The system clock synchronization protocol.\n\nSee *HostDateTimeInfoProtocol_enum* for possible values.\n",
            "type": "string"
          },
          "ntpConfig": {
            "description": "The NTP configuration on the host.\n",
            "$ref": "#/components/schemas/HostNtpConfig"
          },
          "ptpConfig": {
            "description": "The PTP configuration on the host.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "$ref": "#/components/schemas/HostPtpConfig"
          },
          "enabled": {
            "description": "Present state of the time services subsystem.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "disableEvents": {
            "description": "When not disabled Network Time service or Precision Time service\nwill send events to Virtual Center when service fails or recovers.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "disableFallback": {
            "description": "When not disabled, if PrecisionTimeSync is configured, then the\nNTP configuration can run as backup.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "inFallbackState": {
            "description": "Tracks if NTP is providing time to ESXi due to PTP service failure.\n\nThis is set only if disableFallback is set to false.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "serviceSync": {
            "description": "Report true if time is synchronized with remote time source\nFor PrecisionTimeSync this is obtained from PTP Port Status value.\n\nFor NetworkTimeProtocol this obtained from Leap Indicator value.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "lastSyncTime": {
            "description": "Timestamp when time services were last in sync with remote clock.\n\nIf not set, time services have never established synchronization.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "string",
            "format": "date-time"
          },
          "remoteNtpServer": {
            "description": "Provides the NTP server that the host is synced with from the\nset of servers configured.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "string"
          },
          "ntpRunTime": {
            "description": "Provides the total seconds ntpd process has been running for.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "integer",
            "format": "int64"
          },
          "ptpRunTime": {
            "description": "Provides the total seconds ptpd process has been running for.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "integer",
            "format": "int64"
          },
          "ntpDuration": {
            "description": "Provides a duration in simplified, human-readable form\nfor the lifetime of the ntp service.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "string"
          },
          "ptpDuration": {
            "description": "Provides a duration in simplified, human-readable form\nfor the lifetime of the ptp service.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "string"
          }
        },
        "required": [
          "timeZone"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDateTimeInfo": {
        "type": "object",
        "description": "A boxed array of *HostDateTimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDateTimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDateTimeSystemServiceTestResult": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "workingNormally": {
            "description": "Value is true if time services are presently working normally.\n",
            "type": "boolean"
          },
          "report": {
            "description": "Returns details of the checks done to verify time services are working.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "workingNormally"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDateTimeSystemServiceTestResult": {
        "type": "object",
        "description": "A boxed array of *HostDateTimeSystemServiceTestResult*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDateTimeSystemServiceTestResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDateTimeSystemTimeZone": {
        "type": "object",
        "properties": {
          "key": {
            "description": "The identifier for the time zone.\n",
            "type": "string"
          },
          "name": {
            "description": "The time zone name.\n",
            "type": "string"
          },
          "description": {
            "description": "Description of the time zone.\n",
            "type": "string"
          },
          "gmtOffset": {
            "description": "The GMT offset in seconds that is currently applicable to the timezone\n(with respect to the current time on the host).\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key",
          "name",
          "description",
          "gmtOffset"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDateTimeSystemTimeZone": {
        "type": "object",
        "description": "A boxed array of *HostDateTimeSystemTimeZone*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDateTimeSystemTimeZone"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDeploymentInfo": {
        "type": "object",
        "description": "Data object describing the deployment information for a host.\n",
        "properties": {
          "bootedFromStatelessCache": {
            "description": "Flag indicating if the host was booted from stateless cache.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDeploymentInfo": {
        "type": "object",
        "description": "A boxed array of *HostDeploymentInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDeploymentInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDevice": {
        "type": "object",
        "description": "This data object type defines a device on the host.\n",
        "properties": {
          "deviceName": {
            "description": "The name of the device on the host.\n\nFor example,\n/dev/cdrom or \\\\\\\\serverX\\\\device\\_name.\n",
            "type": "string"
          },
          "deviceType": {
            "description": "Device type when available:\nfloppy, mouse, cdrom, disk, scsi device, or adapter.\n",
            "type": "string"
          }
        },
        "required": [
          "deviceName",
          "deviceType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDevice": {
        "type": "object",
        "description": "A boxed array of *HostDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDhcpService": {
        "type": "object",
        "description": "A dynamic host control protocol (DHCP) service instance serves IP\naddresses to a single virtual network subnet.\n\nThe instances may\nbe handled collectively by a single server. This decision can\nbe made during implementation.\n",
        "properties": {
          "key": {
            "description": "The instance ID of the DHCP service.\n",
            "type": "string"
          },
          "spec": {
            "description": "Configurable properties for the DHCP service.\n",
            "$ref": "#/components/schemas/HostDhcpServiceSpec"
          }
        },
        "required": [
          "key",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDhcpService": {
        "type": "object",
        "description": "A boxed array of *HostDhcpService*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDhcpService"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDhcpServiceConfig": {
        "type": "object",
        "description": "This data object type describes the configuration of a DHCP service\ninstance representing both the configured properties\non the instance and identification information.\n",
        "properties": {
          "changeOperation": {
            "description": "Indicates the change operation to apply on this configuration\nspecification.\n\nSee also *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          },
          "key": {
            "description": "The instance ID of the DHCP service.\n",
            "type": "string"
          },
          "spec": {
            "description": "Specification of the DHCP service.\n",
            "$ref": "#/components/schemas/HostDhcpServiceSpec"
          }
        },
        "required": [
          "key",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDhcpServiceConfig": {
        "type": "object",
        "description": "A boxed array of *HostDhcpServiceConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDhcpServiceConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDhcpServiceSpec": {
        "type": "object",
        "properties": {
          "virtualSwitch": {
            "description": "The name of the virtual switch to which DHCP service is connected.\n",
            "type": "string"
          },
          "defaultLeaseDuration": {
            "description": "The default DHCP lease duration (minutes).\n",
            "type": "integer",
            "format": "int32"
          },
          "leaseBeginIp": {
            "description": "The start of the IP address range served by the DHCP service.\n",
            "type": "string"
          },
          "leaseEndIp": {
            "description": "The end of the IP address range served by the DHCP service.\n",
            "type": "string"
          },
          "maxLeaseDuration": {
            "description": "The maximum DHCP lease duration (minutes).\n",
            "type": "integer",
            "format": "int32"
          },
          "unlimitedLease": {
            "description": "A flag to indicate whether or not unlimited DHCP lease\ndurations are allowed.\n",
            "type": "boolean"
          },
          "ipSubnetAddr": {
            "description": "Subnet served by DHCP service.\n",
            "type": "string"
          },
          "ipSubnetMask": {
            "description": "Subnet mask of network served by DHCP service.\n",
            "type": "string"
          }
        },
        "required": [
          "virtualSwitch",
          "defaultLeaseDuration",
          "leaseBeginIp",
          "leaseEndIp",
          "maxLeaseDuration",
          "unlimitedLease",
          "ipSubnetAddr",
          "ipSubnetMask"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDhcpServiceSpec": {
        "type": "object",
        "description": "A boxed array of *HostDhcpServiceSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDhcpServiceSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiagnosticPartition": {
        "type": "object",
        "description": "This data object type contains information about an available or active\ndiagnostic partition.\n",
        "properties": {
          "storageType": {
            "description": "Indicates the storage type of the diagnostic partition.\n\nSee also *DiagnosticPartitionStorageType_enum*.\n",
            "type": "string"
          },
          "diagnosticType": {
            "description": "Indicates the type of the diagnostic partition.\n\nSee also *DiagnosticPartitionType_enum*.\n",
            "type": "string"
          },
          "slots": {
            "description": "The number of slots in the diagnostic partition.\n",
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "description": "Diagnostic partition identification information.\n",
            "$ref": "#/components/schemas/HostScsiDiskPartition"
          }
        },
        "required": [
          "storageType",
          "diagnosticType",
          "slots",
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiagnosticPartition": {
        "type": "object",
        "description": "A boxed array of *HostDiagnosticPartition*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiagnosticPartition"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiagnosticPartitionCreateDescription": {
        "type": "object",
        "description": "The diagnostic partition create description details what will be done\nto create a new diagnostic partition on a disk.\n\nIt contains a CreateSpec\nthat can be submitted to create the partition and information that can\nbe shown to the user.\n",
        "properties": {
          "layout": {
            "description": "Layout describing the format of the disk\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\n\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "$ref": "#/components/schemas/HostDiskPartitionLayout"
          },
          "diskUuid": {
            "description": "The UUID of the SCSI disk on which to create the diagnostic partition.\n\nThis disk UUID will match that found in the identification field of the\ncreation spec.\n\nSee also *HostScsiDisk*, *ScsiLun.uuid*.\n",
            "type": "string"
          },
          "spec": {
            "description": "Creation specification for diagnostic partition\n",
            "$ref": "#/components/schemas/HostDiagnosticPartitionCreateSpec"
          }
        },
        "required": [
          "layout",
          "diskUuid",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiagnosticPartitionCreateDescription": {
        "type": "object",
        "description": "A boxed array of *HostDiagnosticPartitionCreateDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiagnosticPartitionCreateDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiagnosticPartitionCreateOption": {
        "type": "object",
        "description": "This data object describes a disk that can be used to create a\ndiagnostic partition.\n",
        "properties": {
          "storageType": {
            "description": "Indicates the storage type of diagnostic partition to be created.\n\nSee also *DiagnosticPartitionStorageType_enum*.\n",
            "type": "string"
          },
          "diagnosticType": {
            "description": "Indicates the type of the diagnostic partition to be created.\n\nSee also *DiagnosticPartitionType_enum*.\n",
            "type": "string"
          },
          "disk": {
            "description": "The disk which has sufficient free space to contain a diagnostic\npartition.\n",
            "$ref": "#/components/schemas/HostScsiDisk"
          }
        },
        "required": [
          "storageType",
          "diagnosticType",
          "disk"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiagnosticPartitionCreateOption": {
        "type": "object",
        "description": "A boxed array of *HostDiagnosticPartitionCreateOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiagnosticPartitionCreateOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiagnosticPartitionCreateSpec": {
        "type": "object",
        "description": "The diagnostic create specification is used by the system to create a new\ndiagnostic partition on a SCSI disk.\n",
        "properties": {
          "storageType": {
            "description": "Indicates the storage type where the diagnostic partition\nwill be created.\n\nSee also *DiagnosticPartitionStorageType_enum*.\n",
            "type": "string"
          },
          "diagnosticType": {
            "description": "Indicates the type of the diagnostic partition to be created.\n\nSee also *DiagnosticPartitionType_enum*.\n",
            "type": "string"
          },
          "id": {
            "description": "Diagnostic partition identification information.\n",
            "$ref": "#/components/schemas/HostScsiDiskPartition"
          },
          "partition": {
            "description": "Partitioning specification.\n",
            "$ref": "#/components/schemas/HostDiskPartitionSpec"
          },
          "active": {
            "description": "Indicates if the created diagnostic partition should be made the\nactive diagnostic partition.\n\nIf not supplied, the system will\ndecide whether or not the created specification is active.\n",
            "type": "boolean"
          }
        },
        "required": [
          "storageType",
          "diagnosticType",
          "id",
          "partition"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiagnosticPartitionCreateSpec": {
        "type": "object",
        "description": "A boxed array of *HostDiagnosticPartitionCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiagnosticPartitionCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDigestInfo": {
        "type": "object",
        "description": "This data object type describes the digest information\n",
        "properties": {
          "digestMethod": {
            "description": "Method in which the digest value is calculated.\n\nThe set of possible\nvalues is described in *HostDigestInfoDigestMethodType_enum*.\n",
            "type": "string"
          },
          "digestValue": {
            "description": "The variable length byte array containing the digest value calculated by\nthe specified digestMethod.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -128,
              "maximum": 127
            }
          },
          "objectName": {
            "description": "The name of the object from which this digest value is calcaulated.\n",
            "type": "string"
          }
        },
        "required": [
          "digestMethod",
          "digestValue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDigestInfo": {
        "type": "object",
        "description": "A boxed array of *HostDigestInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDigestInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDirectoryStoreInfo": {
        "type": "object",
        "description": "*HostDirectoryStoreInfo* is a base class for objects that\nprovide information about directory-based authentication stores.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostAuthenticationStoreInfo"
          }
        ]
      },
      "ArrayOfHostDirectoryStoreInfo": {
        "type": "object",
        "description": "A boxed array of *HostDirectoryStoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDirectoryStoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskConfigurationResult": {
        "type": "object",
        "description": "Disk configuration result returns success or fault of the\noperation on the disk.\n",
        "properties": {
          "devicePath": {
            "description": "The device path.\n\nSee *ScsiDisk*\n",
            "type": "string"
          },
          "success": {
            "description": "Flag to indicate if the operation is successful\n",
            "type": "boolean"
          },
          "fault": {
            "description": "'fault' would be set if the operation was not successful\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskConfigurationResult": {
        "type": "object",
        "description": "A boxed array of *HostDiskConfigurationResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskConfigurationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskDimensions": {
        "type": "object",
        "description": "This data object type describes multiple coordinate systems\nused to refer to a location or size on a disk.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskDimensions": {
        "type": "object",
        "description": "A boxed array of *HostDiskDimensions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskDimensions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskDimensionsChs": {
        "type": "object",
        "description": "This data object type describes dimensions using the cylinder,\nhead, sector (CHS) coordinate system.\n\nThis coordinate system\nis generally needed for partitioning for legacy reasons. When defining\npartitions, many partitioning utilities do not function correctly when\ncertain CHS constraints are not met.\n",
        "properties": {
          "cylinder": {
            "description": "The number of cylinders.\n",
            "type": "integer",
            "format": "int64"
          },
          "head": {
            "description": "The number of heads per cylinders.\n",
            "type": "integer",
            "format": "int32"
          },
          "sector": {
            "description": "The number of sectors per head.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "cylinder",
          "head",
          "sector"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskDimensionsChs": {
        "type": "object",
        "description": "A boxed array of *HostDiskDimensionsChs*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskDimensionsChs"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskDimensionsLba": {
        "type": "object",
        "description": "This data object type describes the logical block addressing system\nthat uses block numbers and block sizes to refer to a block.\n\nThis\nscheme is employed by SCSI. If a SCSI disk is not involved,\nthen blockSize is 512 bytes.\n",
        "properties": {
          "blockSize": {
            "description": "The size of the blocks.\n",
            "type": "integer",
            "format": "int32"
          },
          "block": {
            "description": "The number of blocks.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "blockSize",
          "block"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskDimensionsLba": {
        "type": "object",
        "description": "A boxed array of *HostDiskDimensionsLba*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskDimensionsLba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskPartitionInfo": {
        "type": "object",
        "description": "Information about the partitions on a disk.\n\nA DiskPartitionInfo object\nprovides two different views into the partitions on a disk:\n- A detailed specification that is used to create the partition\n  table.\n- A convenient view that shows the allocations\n  of blocks as a contiguous sequence of block ranges.\n  \nSee also *HostStorageSystem.RetrieveDiskPartitionInfo*, *HostStorageSystem.ComputeDiskPartitionInfo*, *HostStorageSystem.UpdateDiskPartitions*.\n",
        "properties": {
          "deviceName": {
            "description": "The device name of the disk to which this partition information\ncorresponds.\n",
            "type": "string"
          },
          "spec": {
            "description": "The detailed disk partition specification.\n\nUse this specification for\nmanipulating the file system.\n\nSee also *HostStorageSystem.RetrieveDiskPartitionInfo*, *HostStorageSystem.UpdateDiskPartitions*.\n",
            "$ref": "#/components/schemas/HostDiskPartitionSpec"
          },
          "layout": {
            "description": "A convenient format for describing disk layout.\n\nThis layout\nspecification can be converted to a Specification object.\n\nSee also *HostStorageSystem.ComputeDiskPartitionInfo*.\n",
            "$ref": "#/components/schemas/HostDiskPartitionLayout"
          }
        },
        "required": [
          "deviceName",
          "spec",
          "layout"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskPartitionInfo": {
        "type": "object",
        "description": "A boxed array of *HostDiskPartitionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskPartitionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskPartitionBlockRange": {
        "type": "object",
        "description": "A BlockRange data object type describes a contiguous set of blocks\non a disk.\n\nA BlockRange may describe either a partition or\nunpartitioned (primordial) blocks on the disk.\n",
        "properties": {
          "partition": {
            "description": "Partition number.\n\nThis number is a hint from the server indicating\nwhat the partition number for this block range is if the range\ncorresponds to a partition. The partition number should correlate to\nthe one in the partition specification. If sent back to the server,\nthis property is ignored.\n",
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "description": "The type of data in the partition.\n\nSee also *HostDiskPartitionAttributes.type*.\n",
            "type": "string"
          },
          "start": {
            "description": "The starting block address of the disk range.\n\nThe block numbers start\nfrom zero. The range is inclusive of the end address.\n",
            "$ref": "#/components/schemas/HostDiskDimensionsLba"
          },
          "end": {
            "description": "The end block address of the disk range.\n\nThe block numbers start\nfrom zero. The range is inclusive of the end address.\n",
            "$ref": "#/components/schemas/HostDiskDimensionsLba"
          }
        },
        "required": [
          "type",
          "start",
          "end"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskPartitionBlockRange": {
        "type": "object",
        "description": "A boxed array of *HostDiskPartitionBlockRange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskPartitionBlockRange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskPartitionLayout": {
        "type": "object",
        "description": "This data object type describes the disk partition layout\nspecified as a list of ordered BlockRanges.\n\nThis\nview of the disk partitions shows the data on the disk as a contiguous\nset of BlockRanges.\n",
        "properties": {
          "total": {
            "description": "Total number of blocks on a disk.\n",
            "$ref": "#/components/schemas/HostDiskDimensionsLba"
          },
          "partition": {
            "description": "List of block ranges on the disk.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskPartitionBlockRange"
            }
          }
        },
        "required": [
          "partition"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskPartitionLayout": {
        "type": "object",
        "description": "A boxed array of *HostDiskPartitionLayout*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskPartitionLayout"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskPartitionAttributes": {
        "type": "object",
        "description": "Information about a single disk partition.\n\nA partition is a contiguous\nset of blocks on a disk that is marked for use. The typeId identifies\nthe purpose of the data in the partition.\n",
        "properties": {
          "partition": {
            "description": "The partition number.\n\nMust be a positive integer.\n",
            "type": "integer",
            "format": "int32"
          },
          "startSector": {
            "description": "The start sector.\n",
            "type": "integer",
            "format": "int64"
          },
          "endSector": {
            "description": "The end sector.\n",
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "description": "Type of data in the partition.\n\nIf it is a well-known partition type,\nit will be one of the defined types. If it is not, then it will be\nreported as a hexadecimal number. For example, \"none\", \"vmfs\", \"linux\",\nand \"0x20\" are all valid values.\n\nSee also *HostDiskPartitionInfoType_enum*.\n",
            "type": "string"
          },
          "guid": {
            "description": "Globally Unique Identifier of the partition, as defined by the GUID\nPartition Table (GPT) format.\n\nThis is available only for GPT formatted\ndisks.\n",
            "type": "string"
          },
          "logical": {
            "description": "The flag to indicate whether or not the partition is\nlogical.\n\nIf true, the partition\nnumber should be greater than 4.\n",
            "type": "boolean"
          },
          "attributes": {
            "description": "The attributes on the partition.\n",
            "type": "integer",
            "minimum": -128,
            "maximum": 127
          },
          "partitionAlignment": {
            "description": "Partition alignment in bytes.\n\nIf unset, partition alignment value is unknown.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "partition",
          "startSector",
          "endSector",
          "type",
          "logical",
          "attributes"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskPartitionAttributes": {
        "type": "object",
        "description": "A boxed array of *HostDiskPartitionAttributes*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskPartitionAttributes"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskPartitionSpec": {
        "type": "object",
        "description": "This data object type describes the disk partition table\nspecification used to configure the partitions on a\ndisk.\n\nThis data object represents the fundamental data needed to specify\na partition table.\n",
        "properties": {
          "partitionFormat": {
            "description": "Partition format type on the disk.\n",
            "type": "string"
          },
          "chs": {
            "description": "Disk dimensions expressed as cylinder, head, sector (CHS)\ncoordinates.\n",
            "$ref": "#/components/schemas/HostDiskDimensionsChs"
          },
          "totalSectors": {
            "description": "Disk dimensions expressed as a total number of sectors.\n\nFor sector size, see the *sectorSize* field.\n",
            "type": "integer",
            "format": "int64"
          },
          "partition": {
            "description": "List of partitions on the disk.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskPartitionAttributes"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskPartitionSpec": {
        "type": "object",
        "description": "A boxed array of *HostDiskPartitionSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskPartitionSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDnsConfig": {
        "type": "object",
        "description": "This data object type describes the DNS configuration.\n\nAll IPv4 addresses, subnet addresses, and netmasks are specified using\ndotted decimal notation. For example, \"192.0.2.1\".\nIPv6 addresses are 128-bit addresses represented as\neight fields of up to four hexadecimal digits.\nA colon separates each field (:). For example,\n2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the\nsymbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
        "properties": {
          "dhcp": {
            "description": "The flag to indicate whether or not DHCP (dynamic host control\nprotocol) is used to determine DNS configuration automatically.\n",
            "type": "boolean"
          },
          "virtualNicDevice": {
            "description": "If DHCP is enabled, the DHCP DNS of the vmkernel nic will override\nthe system's DNS.\n\nThis field applies to both IPv4 and IPv6 DNS settings\nif *ipv6VirtualNicDevice*\nis unset, otherwise it is applicable only for IPv4 setting.\nThis field is ignored if DHCP is disabled by the\n*dhcp* property.\n",
            "type": "string"
          },
          "ipv6VirtualNicDevice": {
            "description": "If DHCP is enabled, the IPv6 DHCP DNS of the vmkernel nic will override\nthe system's IPv6 DNS.\n\nThis field is ignored if DHCP is disabled by the\n*dhcp* property.\n",
            "type": "string"
          },
          "hostName": {
            "description": "The host name portion of DNS name.\n\nFor example, \"esx01\".\n\n**Note**: When DHCP is not enabled, the property can be set\nexplicitly. When DHCP is enabled, the property reflects the current\nDNS configuration, but cannot be set.\nThe hostName can't have character '.' in it when set explicitly.\n",
            "type": "string"
          },
          "domainName": {
            "description": "The domain name portion of the DNS name.\n\nFor example, \"vmware.com\".\n\n**Note**: When DHCP is not enabled, the property can be set\nexplicitly. When DHCP is enabled, the property reflects the current\nDNS configuration, but cannot be set.\n",
            "type": "string"
          },
          "address": {
            "description": "The IP addresses of the DNS servers, placed in order of preference.\n\n**Note**: When DHCP is not enabled, the property can be set\nexplicitly. When DHCP is enabled, the property reflects the current\nDNS configuration, but cannot be set.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "searchDomain": {
            "description": "The domain in which to search for hosts, placed in order of preference.\n\n**Note**: When DHCP is not enabled, the property can be set\nexplicitly. When DHCP is enabled, the property reflects the current\nDNS configuration, but cannot be set.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "dhcp",
          "hostName",
          "domainName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDnsConfig": {
        "type": "object",
        "description": "A boxed array of *HostDnsConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDnsConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDnsConfigSpec": {
        "type": "object",
        "description": "Dataobject for configuring the DNS settings on the host.\n",
        "properties": {
          "virtualNicConnection": {
            "description": "Choose a Virtual nic based on what it is connected to.\n",
            "$ref": "#/components/schemas/HostVirtualNicConnection"
          },
          "virtualNicConnectionV6": {
            "description": "Choose an IPv6 Virtual nic based on what it is connected to.\n",
            "$ref": "#/components/schemas/HostVirtualNicConnection"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDnsConfig"
          }
        ]
      },
      "ArrayOfHostDnsConfigSpec": {
        "type": "object",
        "description": "A boxed array of *HostDnsConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDnsConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDvxClass": {
        "type": "object",
        "description": "Provides information about a single Device Virtualization Extensions (DVX)\ndevice class.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "deviceClass": {
            "description": "The class name.\n",
            "type": "string"
          },
          "checkpointSupported": {
            "description": "Indicates whether checkpointing is supported.\n",
            "type": "boolean"
          },
          "swDMATracingSupported": {
            "description": "Indicates whether software Direct Memory Access (DMA)\ntracing is supported.\n",
            "type": "boolean"
          },
          "sriovNic": {
            "description": "Indicates whether the devices of this class are SR-IOV NICs.\n",
            "type": "boolean"
          }
        },
        "required": [
          "deviceClass",
          "checkpointSupported",
          "swDMATracingSupported",
          "sriovNic"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDvxClass": {
        "type": "object",
        "description": "A boxed array of *HostDvxClass*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDvxClass"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostEnterMaintenanceResult": {
        "type": "object",
        "description": "EnterMaintenanceResult is the result returned to the\n*HostSystem.QueryWhatIfEnterMaintenance* method.\n",
        "properties": {
          "vmFaults": {
            "description": "VM specific faults that would prevent host from\nentering maintenance mode.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultsByVM"
            }
          },
          "hostFaults": {
            "description": "Host specific faults that would prevent host from\nentering maintenance mode.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultsByHost"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostEnterMaintenanceResult": {
        "type": "object",
        "description": "A boxed array of *HostEnterMaintenanceResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostEnterMaintenanceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostEsxAgentHostManagerConfigInfo": {
        "type": "object",
        "properties": {
          "agentVmDatastore": {
            "description": "Datastore used for deploying Agent VMs on this host.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "agentVmNetwork": {
            "description": "Management Network for Agent VMs on this host.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostEsxAgentHostManagerConfigInfo": {
        "type": "object",
        "description": "A boxed array of *HostEsxAgentHostManagerConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostEsxAgentHostManagerConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFaultToleranceManagerComponentHealthInfo": {
        "type": "object",
        "description": "Data structure for component health information of a virtual machine.\n",
        "properties": {
          "isStorageHealthy": {
            "description": "Whether the virtual machine can access the datastores configured.\n",
            "type": "boolean"
          },
          "isNetworkHealthy": {
            "description": "Whether the virtual machine can access the VM network configured.\n",
            "type": "boolean"
          }
        },
        "required": [
          "isStorageHealthy",
          "isNetworkHealthy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFaultToleranceManagerComponentHealthInfo": {
        "type": "object",
        "description": "A boxed array of *HostFaultToleranceManagerComponentHealthInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFaultToleranceManagerComponentHealthInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FcoeConfig": {
        "type": "object",
        "description": "This data object type describes an FCoE configuration as it pertains\nto an underlying physical NIC.\n\nTerminology is borrowed from T11's working draft of the Fibre Channel\nBackbone 5 standard (FC-BB-5). The draft can be found at\nhttp://www.t11.org.\n",
        "properties": {
          "priorityClass": {
            "description": "802.1p priority class used for FCoE traffic.\n",
            "type": "integer",
            "format": "int32"
          },
          "sourceMac": {
            "description": "Source MAC address used for FCoE traffic.\n\nThis MAC address is associated with the logical construct that is a\nphysical NIC's associated underlying FCoE Controller, as defined in the\nFC-BB-5 standard.\nThis MAC address should be of the form \"xx:xx:xx:xx:xx:xx\", where 'x' is\na hexadecimal digit. Valid MAC addresses are unicast addresses.\n",
            "type": "string"
          },
          "vlanRange": {
            "description": "VLAN ranges associated with this FcoeConfig.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcoeConfigVlanRange"
            }
          },
          "capabilities": {
            "description": "Settable capabilities for this FcoeConfig.\n",
            "$ref": "#/components/schemas/FcoeConfigFcoeCapabilities"
          },
          "fcoeActive": {
            "description": "Indicates whether this FcoeConfig is \"active\" (has been used in\nconjunction with a parent physical network adapter for FCoE\ndiscovery).\n",
            "type": "boolean"
          }
        },
        "required": [
          "priorityClass",
          "sourceMac",
          "vlanRange",
          "capabilities",
          "fcoeActive"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFcoeConfig": {
        "type": "object",
        "description": "A boxed array of *FcoeConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcoeConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FcoeConfigFcoeCapabilities": {
        "type": "object",
        "description": "Flags which indicate what parameters are settable for this FcoeConfig.\n",
        "properties": {
          "priorityClass": {
            "type": "boolean"
          },
          "sourceMacAddress": {
            "type": "boolean"
          },
          "vlanRange": {
            "type": "boolean"
          }
        },
        "required": [
          "priorityClass",
          "sourceMacAddress",
          "vlanRange"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFcoeConfigFcoeCapabilities": {
        "type": "object",
        "description": "A boxed array of *FcoeConfigFcoeCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcoeConfigFcoeCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FcoeConfigFcoeSpecification": {
        "type": "object",
        "description": "An FcoeSpecification contains values relevant to issuing FCoE discovery.\n\nNon-mandatory values are denoted '@optional'.\n",
        "properties": {
          "underlyingPnic": {
            "description": "The name of this FcoeSpecification's underlying PhysicalNic\n",
            "type": "string"
          },
          "priorityClass": {
            "description": "802.1p priority class to use for FCoE traffic.\n",
            "type": "integer",
            "format": "int32"
          },
          "sourceMac": {
            "description": "Source MAC address to use for FCoE traffic.\n\nThis MAC address is associated with the logical construct that is a\nphysical NIC's associated underlying FCoE Controller, as defined in\nthe FC-BB-5 standard.\nThis MAC address should be of the form \"xx:xx:xx:xx:xx:xx\", where 'x'\nis a hexadecimal digit. Valid MAC addresses are unicast addresses.\n",
            "type": "string"
          },
          "vlanRange": {
            "description": "VLAN ranges to use for FCoE traffic.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcoeConfigVlanRange"
            }
          }
        },
        "required": [
          "underlyingPnic"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFcoeConfigFcoeSpecification": {
        "type": "object",
        "description": "A boxed array of *FcoeConfigFcoeSpecification*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcoeConfigFcoeSpecification"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FcoeConfigVlanRange": {
        "type": "object",
        "description": "Used to represent inclusive intervals of VLAN IDs.\n\nValid VLAN IDs fall within the range \\[0,4094\\], and the low value of a\nVlanRange must be less than or equal to the high value.\n",
        "properties": {
          "vlanLow": {
            "type": "integer",
            "format": "int32"
          },
          "vlanHigh": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vlanLow",
          "vlanHigh"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFcoeConfigVlanRange": {
        "type": "object",
        "description": "A boxed array of *FcoeConfigVlanRange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FcoeConfigVlanRange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFeatureCapability": {
        "type": "object",
        "description": "A feature that the host is able to provide at a particular value.\n",
        "properties": {
          "key": {
            "description": "Accessor name to the feature capability.\n",
            "type": "string"
          },
          "featureName": {
            "description": "Name of the feature.\n\nIdentical to the key.\n",
            "type": "string"
          },
          "value": {
            "description": "Opaque value that the feature is capable at.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "featureName",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFeatureCapability": {
        "type": "object",
        "description": "A boxed array of *HostFeatureCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFeatureMask": {
        "type": "object",
        "description": "A mask that is applied to a host feature capability.\n",
        "properties": {
          "key": {
            "description": "Accessor name to the feature mask.\n",
            "type": "string"
          },
          "featureName": {
            "description": "Name of the feature Identical to the key.\n",
            "type": "string"
          },
          "value": {
            "description": "Opaque value to change the host feature capability to.\n\nMasking operation is contained in the value.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "featureName",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFeatureMask": {
        "type": "object",
        "description": "A boxed array of *HostFeatureMask*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureMask"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFeatureVersionInfo": {
        "type": "object",
        "description": "Feature-specific version information for a host\n",
        "properties": {
          "key": {
            "description": "A unique key that identifies a feature, list of possible values are\nspecified in *HostFeatureVersionKey_enum*\n",
            "type": "string"
          },
          "value": {
            "description": "The version string of this feature\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFeatureVersionInfo": {
        "type": "object",
        "description": "A boxed array of *HostFeatureVersionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureVersionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFibreChannelHba": {
        "type": "object",
        "description": "This data object type describes the Fibre Channel host bus adapter.\n",
        "properties": {
          "portWorldWideName": {
            "description": "The world wide port name for the adapter.\n",
            "type": "integer",
            "format": "int64"
          },
          "nodeWorldWideName": {
            "description": "The world wide node name for the adapter.\n",
            "type": "integer",
            "format": "int64"
          },
          "portType": {
            "description": "The type of the fiber channel port.\n",
            "$ref": "#/components/schemas/FibreChannelPortType_enum"
          },
          "speed": {
            "description": "The current operating speed of the adapter in\nbits per second.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "portWorldWideName",
          "nodeWorldWideName",
          "portType",
          "speed"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHostBusAdapter"
          }
        ]
      },
      "ArrayOfHostFibreChannelHba": {
        "type": "object",
        "description": "A boxed array of *HostFibreChannelHba*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFibreChannelHba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFibreChannelOverEthernetHba": {
        "type": "object",
        "description": "This data object type describes the FCoE host bus adapter\ninterface.\n\nTerminology is borrowed from T11's working draft of the Fibre Channel\nBackbone 5 standard (FC-BB-5). The draft can be found at\nhttp://www.t11.org.\n",
        "properties": {
          "underlyingNic": {
            "description": "The name associated with this FCoE HBA's underlying FcoeNic.\n",
            "type": "string"
          },
          "linkInfo": {
            "description": "Link information that can be used to uniquely identify this FCoE HBA.\n",
            "$ref": "#/components/schemas/HostFibreChannelOverEthernetHbaLinkInfo"
          },
          "isSoftwareFcoe": {
            "description": "True if this host bus adapter is a software based FCoE initiator.\n",
            "type": "boolean"
          },
          "markedForRemoval": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. Software FCoE not supported.\n\nTrue if this host bus adapter has been marked for removal.\n",
            "type": "boolean"
          }
        },
        "required": [
          "underlyingNic",
          "linkInfo",
          "isSoftwareFcoe"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostFibreChannelHba"
          }
        ]
      },
      "ArrayOfHostFibreChannelOverEthernetHba": {
        "type": "object",
        "description": "A boxed array of *HostFibreChannelOverEthernetHba*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFibreChannelOverEthernetHba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFibreChannelOverEthernetHbaLinkInfo": {
        "type": "object",
        "description": "Represents FCoE link information.\n\nThe link information represents a VNPort to VFPort Virtual Link, as\ndescribed in the FC-BB-5 standard, with the addition of the VLAN ID\nover which a link exists.\n",
        "properties": {
          "vnportMac": {
            "description": "VNPort MAC address, as defined by the FC-BB-5 standard.\n\nThis MAC address should be of the form \"xx:xx:xx:xx:xx:xx\", where\n'x' is a hexadecimal digit. Valid MAC addresses are unicast\naddresses.\n",
            "type": "string"
          },
          "fcfMac": {
            "description": "FCF MAC address, also known as the VFPort MAC address in the FC-BB-5\nstandard.\n\nThis MAC address should be of the form \"xx:xx:xx:xx:xx:xx\", where\n'x' is a hexadecimal digit. Valid MAC addresses are unicast\naddresses.\n",
            "type": "string"
          },
          "vlanId": {
            "description": "VLAN ID.\n\nThis field represents the VLAN on which an FCoE HBA was\ndiscovered. Valid numbers fall into the range \\[0,4094\\].\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vnportMac",
          "fcfMac",
          "vlanId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFibreChannelOverEthernetHbaLinkInfo": {
        "type": "object",
        "description": "A boxed array of *HostFibreChannelOverEthernetHbaLinkInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFibreChannelOverEthernetHbaLinkInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFibreChannelOverEthernetTargetTransport": {
        "type": "object",
        "description": "Fibre Channel Over Ethernet transport information about a SCSI target.\n\nFCoE transport information is that of: the regular FC World Wide Node\nand Port Names; the VNPort MAC address and FCF MAC address which\nconstitute a VN\\_Port to VF\\_Port Virtual Link; and the VLAN on which\nan FCoE target resides.\nMore FCoE information can be found in the working draft of the T11's\nFibre Channel Backbone 5 standard (FC-BB-5). The draft can be found\nat http://www.t11.org.\n",
        "properties": {
          "vnportMac": {
            "description": "VNPort MAC address.\n\nThis MAC address should be of the form \"xx:xx:xx:xx:xx:xx\", where\n'x' is a hexadecimal digit. Valid MAC addresses are unicast\naddresses.\n",
            "type": "string"
          },
          "fcfMac": {
            "description": "FCF MAC address.\n\nThis MAC address should be of the form \"xx:xx:xx:xx:xx:xx\", where\n'x' is a hexadecimal digit. Valid MAC addresses are unicast\naddresses.\n",
            "type": "string"
          },
          "vlanId": {
            "description": "VLAN ID.\n\nValid VLAN IDs fall within the range \\[0,4094\\].\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vnportMac",
          "fcfMac",
          "vlanId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostFibreChannelTargetTransport"
          }
        ]
      },
      "ArrayOfHostFibreChannelOverEthernetTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostFibreChannelOverEthernetTargetTransport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFibreChannelOverEthernetTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFibreChannelTargetTransport": {
        "type": "object",
        "description": "Fibre Channel transport information about a SCSI target.\n",
        "properties": {
          "portWorldWideName": {
            "description": "The world wide port name of the target.\n",
            "type": "integer",
            "format": "int64"
          },
          "nodeWorldWideName": {
            "description": "The world wide node name of the target.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "portWorldWideName",
          "nodeWorldWideName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        ]
      },
      "ArrayOfHostFibreChannelTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostFibreChannelTargetTransport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFibreChannelTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFileAccess": {
        "type": "object",
        "description": "This data object type contains a single access control\nentry for a file permissions list.\n",
        "properties": {
          "who": {
            "description": "User or group to which the access applies.\n",
            "type": "string"
          },
          "what": {
            "description": "Rights given to the user or group.\n",
            "type": "string"
          }
        },
        "required": [
          "who",
          "what"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFileAccess": {
        "type": "object",
        "description": "A boxed array of *HostFileAccess*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFileAccess"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ModeInfo": {
        "type": "object",
        "description": "The FileAccess.Modes data object type defines the known access modes\nfor a datastore.\n\nThe property values specify how to interpret\nthe \"what\" property for a FileAccess object.\n",
        "properties": {
          "browse": {
            "description": "Can see the existence of a file.\n",
            "type": "string"
          },
          "read": {
            "description": "Can read a file.\n",
            "type": "string"
          },
          "modify": {
            "description": "Can read and write a file.\n",
            "type": "string"
          },
          "use": {
            "description": "Can execute or operate a file or look inside a directory.\n",
            "type": "string"
          },
          "admin": {
            "description": "Can change permissions for a file.\n",
            "type": "string"
          },
          "full": {
            "description": "Can do anything to a file, including change permissions.\n",
            "type": "string"
          }
        },
        "required": [
          "read",
          "modify",
          "use",
          "full"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfModeInfo": {
        "type": "object",
        "description": "A boxed array of *ModeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ModeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFileSystemMountInfo": {
        "type": "object",
        "description": "The *HostFileSystemMountInfo* data object describes\na host mount point for a file system.\n",
        "properties": {
          "mountInfo": {
            "description": "Information about the mount point.\n",
            "$ref": "#/components/schemas/HostMountInfo"
          },
          "volume": {
            "description": "Information about the mounted volume.\n",
            "$ref": "#/components/schemas/HostFileSystemVolume"
          },
          "vStorageSupport": {
            "description": "vStorage hardware acceleration support status.\n\nThis property\nrepresents the volume's capability for storage acceleration.\nSee *FileSystemMountInfoVStorageSupportStatus_enum* for valid\nvalues.\n\nIf the ESX Server supports hardware acceleration, the Server\ncan offload specific virtual machine management operations\nto a storage device with the hardware acceleration feature.\nWith hardware assistance, the host performs storage operations\nfaster and consumes less CPU, memory, and storage fabric bandwidth.\n\nFor vSphere 4.0 or earlier hosts, this value will be unset.\n",
            "type": "string"
          }
        },
        "required": [
          "mountInfo",
          "volume"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFileSystemMountInfo": {
        "type": "object",
        "description": "A boxed array of *HostFileSystemMountInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFileSystemMountInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFileSystemVolume": {
        "type": "object",
        "description": "Detailed information about a file system.\n\nThis is a base type for derived types\nthat have more specific details about specific filesystem types.\n\nTypically a FileSystem is exposed as a datatore\n\nSee also *DatastoreInfo*, *HostVmfsVolume*, *HostNasVolume*, *HostVffsVolume*, *HostLocalFileSystemVolume*\n\nHowever, a FileSystemVolume need not be exposed a datastore., *HostVfatVolume*.\n",
        "properties": {
          "type": {
            "description": "FileSystemType of this particular file system\nSee *HostFileSystemVolumeFileSystemType_enum*\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the file system volume.\n",
            "type": "string"
          },
          "capacity": {
            "description": "The capacity of the file system volume, in bytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "type",
          "name",
          "capacity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFileSystemVolume": {
        "type": "object",
        "description": "A boxed array of *HostFileSystemVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFileSystemVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFileSystemVolumeInfo": {
        "type": "object",
        "description": "The *HostFileSystemVolumeInfo* data object describes the file system volume\ninformation for the host.\n\nA file system volume refers to a storage abstraction that allows files\nto be created and organized. A host can have multiple file system\nvolumes. File system volumes are typically mounted into a file namespace\nthat allows all files in mounted file systems to be addressable from the\nhost.\n\nA file system volume is backed by disk storage. It could span one or more\ndisks but need not use an entire disk.\n\nA file system volume by definition must be mounted on the file system\nin order to exist.\n",
        "properties": {
          "volumeTypeList": {
            "description": "The list of supported file system volume types.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "mountInfo": {
            "description": "The list of file system volumes mounted on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFileSystemMountInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFileSystemVolumeInfo": {
        "type": "object",
        "description": "A boxed array of *HostFileSystemVolumeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFileSystemVolumeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallConfig": {
        "type": "object",
        "description": "DataObject used for firewall configuration\n",
        "properties": {
          "rule": {
            "description": "Rules determining firewall settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallConfigRuleSetConfig"
            }
          },
          "defaultBlockingPolicy": {
            "description": "Default settings for the firewall,\nused for ports that are not explicitly opened.\n",
            "$ref": "#/components/schemas/HostFirewallDefaultPolicy"
          }
        },
        "required": [
          "defaultBlockingPolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFirewallConfig": {
        "type": "object",
        "description": "A boxed array of *HostFirewallConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallConfigRuleSetConfig": {
        "type": "object",
        "properties": {
          "rulesetId": {
            "description": "Id of the ruleset.\n",
            "type": "string"
          },
          "enabled": {
            "description": "Flag indicating if the specified ruleset should be enabled.\n",
            "type": "boolean"
          },
          "allowedHosts": {
            "description": "The list of allowed ip addresses\n",
            "$ref": "#/components/schemas/HostFirewallRulesetIpList"
          }
        },
        "required": [
          "rulesetId",
          "enabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFirewallConfigRuleSetConfig": {
        "type": "object",
        "description": "A boxed array of *HostFirewallConfigRuleSetConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallConfigRuleSetConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallInfo": {
        "type": "object",
        "description": "Data object describing the firewall configuration.\n",
        "properties": {
          "defaultPolicy": {
            "description": "Default firewall policy.\n",
            "$ref": "#/components/schemas/HostFirewallDefaultPolicy"
          },
          "ruleset": {
            "description": "List of configured rulesets.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRuleset"
            }
          }
        },
        "required": [
          "defaultPolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFirewallInfo": {
        "type": "object",
        "description": "A boxed array of *HostFirewallInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallDefaultPolicy": {
        "type": "object",
        "description": "Default settings for the firewall, used for ports\nthat are not explicitly opened.\n",
        "properties": {
          "incomingBlocked": {
            "description": "Flag indicating whether incoming traffic should be blocked by default.\n",
            "type": "boolean"
          },
          "outgoingBlocked": {
            "description": "Flag indicating whether outgoing traffic should be blocked by default.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFirewallDefaultPolicy": {
        "type": "object",
        "description": "A boxed array of *HostFirewallDefaultPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallDefaultPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFlagInfo": {
        "type": "object",
        "description": "The FlagInfo data object type encapsulates the flag settings for a host.\n\nThese properties are optional since the same structure is used to change\nthe values during an edit or create operation.\n",
        "properties": {
          "backgroundSnapshotsEnabled": {
            "description": "Flag to specify whether background snapshots are enabled.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFlagInfo": {
        "type": "object",
        "description": "A boxed array of *HostFlagInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFlagInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostForceMountedInfo": {
        "type": "object",
        "description": "When the system detects a copy of a VmfsVolume, it will not be\nauto-mounted on the host and it will be detected as\n'UnresolvedVmfsVolume'.\n\nIf user decides to keep the original Uuid and mount it on the host,\nit will have 'forceMounted' flag and 'forceMountedInfo' set.\n'ForceMountedInfo' provides additional information specific to\nuser-mounted VmfsVolume.\n",
        "properties": {
          "persist": {
            "description": "Indicates if the vmfsExtent information persistent across\nhost reboots.\n",
            "type": "boolean"
          },
          "mounted": {
            "description": "Indicates if the volume is currently mounted on the host\n",
            "type": "boolean"
          }
        },
        "required": [
          "persist",
          "mounted"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostForceMountedInfo": {
        "type": "object",
        "description": "A boxed array of *HostForceMountedInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostForceMountedInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFru": {
        "type": "object",
        "description": "Data object representing the hardware vendor identity\nfor a given hardware component in the host.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "type": {
            "description": "Report the FRU type if available *HostFruFruType_enum*\n",
            "type": "string"
          },
          "partName": {
            "description": "Part Name is used for ordering replacement.\n",
            "type": "string"
          },
          "partNumber": {
            "description": "Part Number is used for ordering replacement.\n",
            "type": "string"
          },
          "manufacturer": {
            "description": "The name of the manufacturer.\n",
            "type": "string"
          },
          "serialNumber": {
            "description": "The serial number of the part.\n",
            "type": "string"
          },
          "mfgTimeStamp": {
            "description": "The time, if any, when this FRU entry was created by manufacturer.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "type",
          "partName",
          "partNumber",
          "manufacturer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFru": {
        "type": "object",
        "description": "A boxed array of *HostFru*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFru"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostGatewaySpec": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated not supported since vSphere 6.5.\n\nSettings for a gateway used to communicate with a host.\n",
        "properties": {
          "gatewayType": {
            "description": "The type of the gateway used for the communication to the host.\n",
            "type": "string"
          },
          "gatewayId": {
            "description": "Identifier of the gateway to be used for communction to the host.\n\nIf\nomitted a random gateway of this type will be selected.\n",
            "type": "string"
          },
          "trustVerificationToken": {
            "description": "An opaque string that the gateway may need to validate that the host\nit connects to is the correct host.\n",
            "type": "string"
          },
          "hostAuthParams": {
            "description": "Additional opaque authentication data that the gateway may need to\nauthenticate to the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "gatewayType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostGatewaySpec": {
        "type": "object",
        "description": "A boxed array of *HostGatewaySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostGatewaySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostGraphicsConfig": {
        "type": "object",
        "description": "Data object used for graphics configuration\n",
        "properties": {
          "hostDefaultGraphicsType": {
            "description": "The host default graphics type.\n\nSee *HostGraphicsConfigGraphicsType_enum* for list\nof supported values. This default value can be overridden by specifying\ngraphics type for an individual device. If host supports a single\ngraphics type, specifying an individual graphics device is optional.\n",
            "type": "string"
          },
          "sharedPassthruAssignmentPolicy": {
            "description": "The policy for assigning shared passthrough VMs to a host graphics\ndevice.\n\nSee *HostGraphicsConfigSharedPassthruAssignmentPolicy_enum* for list of\nsupported values.\n",
            "type": "string"
          },
          "deviceType": {
            "description": "Graphics devices and their associated type.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostGraphicsConfigDeviceType"
            }
          }
        },
        "required": [
          "hostDefaultGraphicsType",
          "sharedPassthruAssignmentPolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostGraphicsConfig": {
        "type": "object",
        "description": "A boxed array of *HostGraphicsConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostGraphicsConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostGraphicsConfigDeviceType": {
        "type": "object",
        "description": "A particular graphics device with its associated type and mode.\n",
        "properties": {
          "deviceId": {
            "description": "Graphics device identifier (ex.\n\nPCI ID).\n",
            "type": "string"
          },
          "graphicsType": {
            "description": "Graphics type for this device.\n\nSee *HostGraphicsConfigGraphicsType_enum* for list of\nsupported values.\n",
            "type": "string"
          },
          "vgpuMode": {
            "description": "vGPU mode for this device.\n\nSee *HostGraphicsConfigVgpuMode_enum* for list of supported\nvalues. If this value is unset, the mode remains unchanged.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          }
        },
        "required": [
          "deviceId",
          "graphicsType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostGraphicsConfigDeviceType": {
        "type": "object",
        "description": "A boxed array of *HostGraphicsConfigDeviceType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostGraphicsConfigDeviceType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostGraphicsInfo": {
        "type": "object",
        "description": "This data object type describes information about a single\ngraphics device.\n",
        "properties": {
          "deviceName": {
            "description": "The device name.\n",
            "type": "string"
          },
          "vendorName": {
            "description": "The vendor name.\n",
            "type": "string"
          },
          "pciId": {
            "description": "PCI ID of this device composed of \"bus:slot.function\".\n",
            "type": "string"
          },
          "graphicsType": {
            "description": "Graphics type for this device.\n\nSee *HostGraphicsInfoGraphicsType_enum* for list\nof supported values.\n",
            "type": "string"
          },
          "vgpuMode": {
            "description": "vGPU mode for this device.\n\nSee *HostGraphicsInfoVgpuMode_enum* for list of supported\nvalues. If vgpuMode is not set, it is treated as value \"none\".\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          },
          "memorySizeInKB": {
            "description": "Memory capacity of graphics device or zero if not available.\n",
            "type": "integer",
            "format": "int64"
          },
          "vm": {
            "description": "Virtual machines using this graphics device.\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "deviceName",
          "vendorName",
          "pciId",
          "graphicsType",
          "memorySizeInKB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostGraphicsInfo": {
        "type": "object",
        "description": "A boxed array of *HostGraphicsInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostGraphicsInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostHardwareInfo": {
        "type": "object",
        "description": "The HardwareInfo data object type describes the hardware\nconfiguration of the host.\n",
        "properties": {
          "systemInfo": {
            "description": "Information about the system as a whole.\n",
            "$ref": "#/components/schemas/HostSystemInfo"
          },
          "cpuPowerManagementInfo": {
            "$ref": "#/components/schemas/HostCpuPowerManagementInfo"
          },
          "cpuInfo": {
            "description": "Overall CPU information.\n",
            "$ref": "#/components/schemas/HostCpuInfo"
          },
          "cpuPkg": {
            "description": "Information about each of the physical CPU packages on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuPackage"
            }
          },
          "memorySize": {
            "description": "Total amount of physical memory on the host in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "numaInfo": {
            "description": "Information about the NUMA (non-uniform memory access).\n",
            "$ref": "#/components/schemas/HostNumaInfo"
          },
          "smcPresent": {
            "description": "Presence of System Management Controller, indicates the host is\nApple hardware, and thus capable of running Mac OS guest as VM.\n",
            "type": "boolean"
          },
          "pciDevice": {
            "description": "The list of Peripheral Component Interconnect (PCI) devices\navailable on this host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPciDevice"
            }
          },
          "dvxClasses": {
            "description": "The list of Device Virtualization Extensions (DVX) classes\navailable on this host.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDvxClass"
            }
          },
          "cpuFeature": {
            "description": "CPU feature set that is supported by the hardware.\n\nThis is the\nintersection of the feature sets supported by the individual CPU\npackages. This feature set is modified by the\n*supportedCpuFeature*\narray in the host capabilities to obtain the feature set supported by\nthe virtualization platform.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuIdInfo"
            }
          },
          "biosInfo": {
            "description": "Information about the system BIOS\n",
            "$ref": "#/components/schemas/HostBIOSInfo"
          },
          "reliableMemoryInfo": {
            "description": "Information about reliable memory.\n",
            "$ref": "#/components/schemas/HostReliableMemoryInfo"
          },
          "persistentMemoryInfo": {
            "description": "Persistent memory configuration on this host.\n",
            "$ref": "#/components/schemas/HostPersistentMemoryInfo"
          },
          "sgxInfo": {
            "description": "SGX configuration on this host.\n",
            "$ref": "#/components/schemas/HostSgxInfo"
          },
          "sevInfo": {
            "description": "SEV configuration on this host.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "$ref": "#/components/schemas/HostSevInfo"
          },
          "memoryTieringType": {
            "description": "Type of memory tiering configured on this host.\n\nSee *HostMemoryTieringType_enum* for\nsupported values. This field will be unset for legacy hosts as well as\nfor hosts that don't support memory tiering.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "string"
          },
          "memoryTierInfo": {
            "description": "Configuration of each memory tier on this host.\n\nThe array is populated in the\norder of tiers (ie, tier 0 at array index 0, tier 1 at array index 1,\nand so on).\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMemoryTierInfo"
            }
          }
        },
        "required": [
          "systemInfo",
          "cpuInfo",
          "cpuPkg",
          "memorySize",
          "smcPresent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostHardwareInfo": {
        "type": "object",
        "description": "A boxed array of *HostHardwareInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHardwareInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostHardwareStatusInfo": {
        "type": "object",
        "description": "Data object representing the status of the\nhardware components of the host.\n",
        "properties": {
          "memoryStatusInfo": {
            "description": "Status of the physical memory\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHardwareElementInfo"
            }
          },
          "cpuStatusInfo": {
            "description": "Status of the CPU packages\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHardwareElementInfo"
            }
          },
          "storageStatusInfo": {
            "description": "Status of the physical storage system\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStorageElementInfo"
            }
          },
          "dpuStatusInfo": {
            "description": "Status of one or more DPU elements\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DpuStatusInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostHardwareStatusInfo": {
        "type": "object",
        "description": "A boxed array of *HostHardwareStatusInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHardwareStatusInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DpuStatusInfo": {
        "type": "object",
        "description": "Data object describing the operational status of various DPU\nelements.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "dpuId": {
            "description": "Uniquely identify this DPU.\n\nShould be the VMware identifier\nwhich can be composed from pci and other identifying elements.\n",
            "type": "string"
          },
          "fru": {
            "description": "The FRU this sensor monitors, if any.\n",
            "$ref": "#/components/schemas/HostFru"
          },
          "sensors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DpuStatusInfoOperationalInfo"
            }
          }
        },
        "required": [
          "dpuId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHardwareElementInfo"
          }
        ]
      },
      "ArrayOfDpuStatusInfo": {
        "type": "object",
        "description": "A boxed array of *DpuStatusInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DpuStatusInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DpuStatusInfoOperationalInfo": {
        "type": "object",
        "description": "Sensor information provided by DPU that provides health status.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "sensorId": {
            "description": "This string uniquely identifies a sensor in the DPU.\n",
            "type": "string"
          },
          "healthState": {
            "description": "The health state of the element indicated by the sensor.\n\nSee also *HostNumericSensorHealthState_enum*.\n",
            "$ref": "#/components/schemas/ElementDescription"
          },
          "reading": {
            "description": "A description of the state of the sensor\nsuch as: N watts, Y RPM, or other measurement.\n",
            "type": "string"
          },
          "units": {
            "description": "If provided by underying API, the base units in which the sensor\nreading is specified, \"RPM\", \"WATTS\" and so forth.\n",
            "type": "string"
          },
          "timeStamp": {
            "description": "Reports the ISO 8601 Timestamp when this sensor was last updated by\nmanagement controller if the this sensor is capable of tracking\nwhen it was last updated.\n\nProperty timeStampRaw, which comes from\nvendor firmware is convertible to DateTime, it will be provided.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "sensorId",
          "reading"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDpuStatusInfoOperationalInfo": {
        "type": "object",
        "description": "A boxed array of *DpuStatusInfoOperationalInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DpuStatusInfoOperationalInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostHardwareElementInfo": {
        "type": "object",
        "description": "Data object describing the operational status of a physical\nelement.\n",
        "properties": {
          "name": {
            "description": "The name of the physical element\n",
            "type": "string"
          },
          "status": {
            "description": "The operational status of the physical element.\n\nThe status is one of\nthe values specified in HostHardwareElementStatus.\n\nSee also *HostHardwareElementStatus_enum*.\n",
            "$ref": "#/components/schemas/ElementDescription"
          }
        },
        "required": [
          "name",
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostHardwareElementInfo": {
        "type": "object",
        "description": "A boxed array of *HostHardwareElementInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHardwareElementInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostStorageElementInfo": {
        "type": "object",
        "description": "Data object describing the operational status of various storage\nelements.\n",
        "properties": {
          "operationalInfo": {
            "description": "Other information regarding the operational state of the\nstorage element.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStorageOperationalInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHardwareElementInfo"
          }
        ]
      },
      "ArrayOfHostStorageElementInfo": {
        "type": "object",
        "description": "A boxed array of *HostStorageElementInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStorageElementInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostStorageOperationalInfo": {
        "type": "object",
        "description": "Data class describing operational information of a storage element\n",
        "properties": {
          "property": {
            "description": "The property of interest for the storage element\n",
            "type": "string"
          },
          "value": {
            "description": "The property value for the storage element\n",
            "type": "string"
          }
        },
        "required": [
          "property",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostStorageOperationalInfo": {
        "type": "object",
        "description": "A boxed array of *HostStorageOperationalInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStorageOperationalInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostHbaCreateSpec": {
        "type": "object",
        "description": "A data object which specifies the parameters needed\nto create a software host bus adapter of a specific kind.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostHbaCreateSpec": {
        "type": "object",
        "description": "A boxed array of *HostHbaCreateSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHbaCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HealthSystemRuntime": {
        "type": "object",
        "description": "The system health runtime information\n",
        "properties": {
          "systemHealthInfo": {
            "description": "Available system health information\n",
            "$ref": "#/components/schemas/HostSystemHealthInfo"
          },
          "hardwareStatusInfo": {
            "description": "Available hardware health information\n",
            "$ref": "#/components/schemas/HostHardwareStatusInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHealthSystemRuntime": {
        "type": "object",
        "description": "A boxed array of *HealthSystemRuntime*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HealthSystemRuntime"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAccessControlEntry": {
        "type": "object",
        "description": "Data structure describing the access mode for a user or group.\n",
        "properties": {
          "principal": {
            "description": "User or group having the described access mode.\n\nThe format is \"login\" for local users or \"DOMAIN\\\\login\" for users\nin a Windows domain.\n",
            "type": "string"
          },
          "group": {
            "description": "True if 'principal' describes a group account, false otherwise.\n",
            "type": "boolean"
          },
          "accessMode": {
            "description": "Access mode for the principal.\n",
            "$ref": "#/components/schemas/HostAccessMode_enum"
          }
        },
        "required": [
          "principal",
          "group",
          "accessMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostAccessControlEntry": {
        "type": "object",
        "description": "A boxed array of *HostAccessControlEntry*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAccessControlEntry"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostHostBusAdapter": {
        "type": "object",
        "description": "This data object type describes the bus adapter for\nthe host.\n\nA host bus adapter (HBA) is a hardware\nor software adapter that connects the host to storage devices.\n",
        "properties": {
          "key": {
            "description": "The linkable identifier.\n",
            "type": "string"
          },
          "device": {
            "description": "The device name of host bus adapter.\n",
            "type": "string"
          },
          "bus": {
            "description": "The host bus number.\n",
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "description": "The operational status of the adapter.\n\nValid values include \"online\",\n\"offline\", \"unbound\", and \"unknown\".\n",
            "type": "string"
          },
          "model": {
            "description": "The model name of the host bus adapter.\n",
            "type": "string"
          },
          "driver": {
            "description": "The name of the driver.\n",
            "type": "string"
          },
          "pci": {
            "description": "The Peripheral Connect Interface (PCI) ID of the device\nrepresenting the host bus adapter.\n",
            "type": "string"
          },
          "storageProtocol": {
            "description": "The type of protocol supported by the host bus adapter.\n\nThe list of supported values is described in\n*HostStorageProtocol_enum*.\nWhen unset, a default value of \"scsi\" is assumed.\n",
            "type": "string"
          }
        },
        "required": [
          "device",
          "bus",
          "status",
          "model"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostHostBusAdapter": {
        "type": "object",
        "description": "A boxed array of *HostHostBusAdapter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHostBusAdapter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProxySwitch": {
        "type": "object",
        "description": "The HostProxySwitch is a software entity which represents the component\nof a DistributedVirtualSwitch on a particular host.\n",
        "properties": {
          "dvsUuid": {
            "description": "The uuid of the DistributedVirtualSwitch that the HostProxySwitch\nis a part of.\n",
            "type": "string"
          },
          "dvsName": {
            "description": "The name of the DistributedVirtualSwitch that the HostProxySwitch\nis part of.\n",
            "type": "string"
          },
          "key": {
            "description": "The proxy switch key.\n",
            "type": "string"
          },
          "numPorts": {
            "description": "The number of ports that this switch currently has.\n",
            "type": "integer",
            "format": "int32"
          },
          "configNumPorts": {
            "description": "The configured number of ports that this switch has.\n\nIf configured number of ports is changed,\na host reboot is required for the new value to take effect.\n",
            "type": "integer",
            "format": "int32"
          },
          "numPortsAvailable": {
            "description": "The number of ports that are available on this virtual switch.\n",
            "type": "integer",
            "format": "int32"
          },
          "uplinkPort": {
            "description": "The list of ports that can be potentially used by physical nics.\n\nThis property contains the keys and names of such ports.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "mtu": {
            "description": "The maximum transmission unit (MTU) associated with this switch\nin bytes.\n",
            "type": "integer",
            "format": "int32"
          },
          "pnic": {
            "description": "The set of physical network adapters associated with this switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNic"
            }
          },
          "spec": {
            "description": "The specification of the switch.\n",
            "$ref": "#/components/schemas/HostProxySwitchSpec"
          },
          "hostLag": {
            "description": "The Link Aggregation Control Protocol group and\nUplink ports in the group.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProxySwitchHostLagConfig"
            }
          },
          "networkReservationSupported": {
            "description": "Indicates whether network reservation is supported on this switch\n",
            "type": "boolean"
          },
          "nsxtEnabled": {
            "description": "Indicate whether NSX-T is enabled on this switch\n",
            "type": "boolean"
          },
          "ensEnabled": {
            "description": "Is ENS enabled on this switch\n",
            "type": "boolean"
          },
          "ensInterruptEnabled": {
            "description": "Is ENS interrupt mode enabled on this switch\n",
            "type": "boolean"
          },
          "transportZones": {
            "description": "Transport Zones this switch joined\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberTransportZoneInfo"
            }
          },
          "nsxUsedUplinkPort": {
            "description": "Uplink port names used by NSX-T\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "nsxtStatus": {
            "description": "NSX-T proxy switch status\n",
            "type": "string"
          },
          "nsxtStatusDetail": {
            "description": "Additional information regarding the NSX-T proxy switch status\n",
            "type": "string"
          },
          "ensInfo": {
            "description": "ENS Status From VmKernal.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/HostProxySwitchEnsInfo"
          },
          "networkOffloadingEnabled": {
            "description": "Indicate if network offloading is enabled on the proxy switch of\nthis host.\n\nUnset implies that network offloading is disabled.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "hostUplinkState": {
            "description": "Indicates the runtime state of uplinks on the host.\n\nOnly set when *HostProxySwitch.networkOffloadingEnabled*\nis true.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberHostUplinkState"
            }
          }
        },
        "required": [
          "dvsUuid",
          "dvsName",
          "key",
          "numPorts",
          "numPortsAvailable",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProxySwitch": {
        "type": "object",
        "description": "A boxed array of *HostProxySwitch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProxySwitch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProxySwitchConfig": {
        "type": "object",
        "description": "This data object type describes the HostProxySwitch configuration\ncontaining both the configurable\nproperties on a HostProxySwitch and identification information.\n",
        "properties": {
          "changeOperation": {
            "description": "This property indicates the change operation to apply on\nthis configuration specification.\n\nValid values are:\n- *edit*\n- *remove* \n  \nSee also *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The uuid of the DistributedVirtualSwitch that the HostProxySwitch\nis a part of.\n",
            "type": "string"
          },
          "spec": {
            "description": "The specification of the HostProxySwitch.\n",
            "$ref": "#/components/schemas/HostProxySwitchSpec"
          }
        },
        "required": [
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProxySwitchConfig": {
        "type": "object",
        "description": "A boxed array of *HostProxySwitchConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProxySwitchConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProxySwitchEnsInfo": {
        "type": "object",
        "description": "This data object type describes\nthe Ens status from VmKernal.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "opsVersion": {
            "description": "ENS ops version\n",
            "type": "integer",
            "format": "int64"
          },
          "numPSOps": {
            "description": "Number of ENS portset operations\n",
            "type": "integer",
            "format": "int64"
          },
          "numLcoreOps": {
            "description": "Number of ENS Lcore operations\n",
            "type": "integer",
            "format": "int64"
          },
          "errorStatus": {
            "description": "Error status of the last ENS portset operation\n",
            "type": "integer",
            "format": "int64"
          },
          "lcoreStatus": {
            "description": "Error status of the last Lcore operation\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "opsVersion",
          "numPSOps",
          "numLcoreOps",
          "errorStatus",
          "lcoreStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProxySwitchEnsInfo": {
        "type": "object",
        "description": "A boxed array of *HostProxySwitchEnsInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProxySwitchEnsInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProxySwitchHostLagConfig": {
        "type": "object",
        "description": "This data object type describes the set of Uplink Ports in\nLink Aggregation Control Protocol group.\n",
        "properties": {
          "lagKey": {
            "type": "string"
          },
          "lagName": {
            "type": "string"
          },
          "uplinkPort": {
            "description": "The list of Uplink Ports in the Link Aggregation Control Protocol group.\n\nThis property contains the keys and names of such ports.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "lagKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProxySwitchHostLagConfig": {
        "type": "object",
        "description": "A boxed array of *HostProxySwitchHostLagConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProxySwitchHostLagConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProxySwitchSpec": {
        "type": "object",
        "description": "This data object type describes the HostProxySwitch specification\nrepresenting the properties on a HostProxySwitch that can be\nconfigured once the object exists.\n",
        "properties": {
          "backing": {
            "description": "The specification describes how physical network adapters\nare bridged to the switch.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchHostMemberBacking"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProxySwitchSpec": {
        "type": "object",
        "description": "A boxed array of *HostProxySwitchSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProxySwitchSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostImageProfileSummary": {
        "type": "object",
        "description": "Summary of an image profile\n",
        "properties": {
          "name": {
            "description": "The name of the image profile\n",
            "type": "string"
          },
          "vendor": {
            "description": "The organization publishing the image profile.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "vendor"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostImageProfileSummary": {
        "type": "object",
        "description": "A boxed array of *HostImageProfileSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostImageProfileSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHba": {
        "type": "object",
        "description": "This data object type describes the iSCSI host bus adapter\ninterface.\n",
        "properties": {
          "isSoftwareBased": {
            "description": "True if this host bus adapter is a software based initiator\nutilizing the hosting system's existing TCP/IP network connection\n",
            "type": "boolean"
          },
          "canBeDisabled": {
            "description": "Can this adapter be disabled\n",
            "type": "boolean"
          },
          "networkBindingSupport": {
            "description": "Specifies if this iSCSI Adapter requires a bound network\ninterface to function.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaNetworkBindingSupportType_enum"
          },
          "discoveryCapabilities": {
            "description": "The discovery capabilities for this host bus adapter.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaDiscoveryCapabilities"
          },
          "discoveryProperties": {
            "description": "The discovery settings for this host bus adapter.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaDiscoveryProperties"
          },
          "authenticationCapabilities": {
            "description": "The authentication capabilities for this host bus adapter.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaAuthenticationCapabilities"
          },
          "authenticationProperties": {
            "description": "The authentication settings for this host bus adapter.\n\nAll static and discovery targets will inherit the use of these\nsettings unless their authentication settings are explicitly set.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaAuthenticationProperties"
          },
          "digestCapabilities": {
            "description": "The authentication capabilities for this host bus adapter.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaDigestCapabilities"
          },
          "digestProperties": {
            "description": "The digest settings for this host bus adapter.\n\nAll static and discovery targets will inherit the use of these\nproperties unless their digest settings are explicitly set.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaDigestProperties"
          },
          "ipCapabilities": {
            "description": "The IP capabilities for this host bus adapter.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaIPCapabilities"
          },
          "ipProperties": {
            "description": "The IP settings for this host bus adapter.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaIPProperties"
          },
          "supportedAdvancedOptions": {
            "description": "A list of supported key/value pair advanced options for the\nhost bus adapter including their type information.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionDef"
            }
          },
          "advancedOptions": {
            "description": "A list of the current options settings for the host bus adapter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaParamValue"
            }
          },
          "iScsiName": {
            "description": "The iSCSI name of this host bus adapter.\n",
            "type": "string"
          },
          "iScsiAlias": {
            "description": "The iSCSI alias of this host bus adapter.\n",
            "type": "string"
          },
          "configuredSendTarget": {
            "description": "The configured iSCSI send target entries.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaSendTarget"
            }
          },
          "configuredStaticTarget": {
            "description": "The configured iSCSI static target entries.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaStaticTarget"
            }
          },
          "maxSpeedMb": {
            "description": "The maximum supported link speed of the port in megabits per second.\n",
            "type": "integer",
            "format": "int32"
          },
          "currentSpeedMb": {
            "description": "The Current operating link speed of the port in megabits per second.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "isSoftwareBased",
          "discoveryCapabilities",
          "discoveryProperties",
          "authenticationCapabilities",
          "authenticationProperties",
          "ipCapabilities",
          "ipProperties",
          "iScsiName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHostBusAdapter"
          }
        ]
      },
      "ArrayOfHostInternetScsiHba": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHba*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaAuthenticationCapabilities": {
        "type": "object",
        "description": "The authentication capabilities for this host bus adapter.\n",
        "properties": {
          "chapAuthSettable": {
            "description": "True if this host bus adapter supports changing the configuration\nstate of CHAP authentication.\n\nCHAP is mandatory, however some\nadapter may not allow disabling this authentication method.\n",
            "type": "boolean"
          },
          "krb5AuthSettable": {
            "description": "Always false in this version of the API.\n",
            "type": "boolean"
          },
          "srpAuthSettable": {
            "description": "Always false in this version of the API.\n",
            "type": "boolean"
          },
          "spkmAuthSettable": {
            "description": "Always false in this version of the API.\n",
            "type": "boolean"
          },
          "mutualChapSettable": {
            "description": "When chapAuthSettable is TRUE, this describes if Mutual CHAP\nconfiguration is allowed as well.\n",
            "type": "boolean"
          },
          "targetChapSettable": {
            "description": "When targetChapSettable is TRUE, this describes if\nCHAP configuration is allowed on targets associated\nwith the adapter.\n",
            "type": "boolean"
          },
          "targetMutualChapSettable": {
            "description": "When targetMutualChapSettable is TRUE, this describes if\nMutual CHAP configuration is allowed on targets associated\nwith the adapter.\n",
            "type": "boolean"
          }
        },
        "required": [
          "chapAuthSettable",
          "krb5AuthSettable",
          "srpAuthSettable",
          "spkmAuthSettable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaAuthenticationCapabilities": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaAuthenticationCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaAuthenticationCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaAuthenticationProperties": {
        "type": "object",
        "description": "The authentication settings for this host bus adapter or target.\n",
        "properties": {
          "chapAuthEnabled": {
            "description": "True if CHAP is currently enabled\n",
            "type": "boolean"
          },
          "chapName": {
            "description": "The CHAP user name if enabled\n",
            "type": "string"
          },
          "chapSecret": {
            "description": "The CHAP secret if enabled\n",
            "type": "string",
            "format": "password"
          },
          "chapAuthenticationType": {
            "description": "The preference for CHAP or non-CHAP protocol if CHAP is enabled\n",
            "type": "string"
          },
          "chapInherited": {
            "description": "CHAP settings are inherited\n",
            "type": "boolean"
          },
          "mutualChapName": {
            "description": "When Mutual-CHAP is enabled, the user name that target needs to\nuse to authenticate with the initiator\n",
            "type": "string"
          },
          "mutualChapSecret": {
            "description": "When Mutual-CHAP is enabled, the secret that target needs to\nuse to authenticate with the initiator\n",
            "type": "string",
            "format": "password"
          },
          "mutualChapAuthenticationType": {
            "description": "The preference for CHAP or non-CHAP protocol if CHAP is enabled\n",
            "type": "string"
          },
          "mutualChapInherited": {
            "description": "Mutual-CHAP settings are inherited\n",
            "type": "boolean"
          }
        },
        "required": [
          "chapAuthEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaAuthenticationProperties": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaAuthenticationProperties*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaAuthenticationProperties"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaDigestCapabilities": {
        "type": "object",
        "description": "The digest capabilities for this host bus adapter.\n",
        "properties": {
          "headerDigestSettable": {
            "description": "True if this host bus adapter supports the configuration\nof the use of header digest.\n\nDefaults to false, in which\ncase no header digests will be used.\n",
            "type": "boolean"
          },
          "dataDigestSettable": {
            "description": "True if this host bus adapter supports the configuration\nof the use of data digest.\n\nDefaults to false, in which\ncase no data digests will be used.\n",
            "type": "boolean"
          },
          "targetHeaderDigestSettable": {
            "description": "True if configuration of the use of header digest is supported\non the targets associated with the host bus adapter.\n\nDefaults to\nfalse, in which case no header digests will be used.\n",
            "type": "boolean"
          },
          "targetDataDigestSettable": {
            "description": "True if configuration of the use of data digest is supported\non the targets associated with the host bus adapter.\n\nDefaults to\nfalse, in which case no data digests will be used.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaDigestCapabilities": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaDigestCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaDigestCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaDigestProperties": {
        "type": "object",
        "description": "The digest settings for this host bus adapter.\n",
        "properties": {
          "headerDigestType": {
            "description": "The header digest preference if header digest is enabled\n",
            "type": "string"
          },
          "headerDigestInherited": {
            "description": "Header digest setting is inherited\n",
            "type": "boolean"
          },
          "dataDigestType": {
            "description": "The data digest preference if data digest is enabled\n",
            "type": "string"
          },
          "dataDigestInherited": {
            "description": "Data digest setting is inherited\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaDigestProperties": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaDigestProperties*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaDigestProperties"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaDiscoveryCapabilities": {
        "type": "object",
        "description": "The discovery capabilities for this host bus adapter.\n\nAt least one discovery mode must always be active.\nMultiple modes may be active at the same time.\n",
        "properties": {
          "iSnsDiscoverySettable": {
            "description": "True if this host bus adapter supports iSNS\n",
            "type": "boolean"
          },
          "slpDiscoverySettable": {
            "description": "True if this host bus adapter supports SLP\n",
            "type": "boolean"
          },
          "staticTargetDiscoverySettable": {
            "description": "True if this host bus adapter supports static discovery\n",
            "type": "boolean"
          },
          "sendTargetsDiscoverySettable": {
            "description": "True if this host bus adapter supports changing the configuration\nstate of send targets discovery.\n\nSend targets is mandatory, however\nsome adapters may not allow disabling this discovery method.\n",
            "type": "boolean"
          }
        },
        "required": [
          "iSnsDiscoverySettable",
          "slpDiscoverySettable",
          "staticTargetDiscoverySettable",
          "sendTargetsDiscoverySettable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaDiscoveryCapabilities": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaDiscoveryCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaDiscoveryCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaDiscoveryProperties": {
        "type": "object",
        "description": "The discovery settings for this host bus adapter.\n\nAt least one discovery mode must always be active.\nMultiple modes may be active at the same time.\n",
        "properties": {
          "iSnsDiscoveryEnabled": {
            "description": "True if iSNS is currently enabled\n",
            "type": "boolean"
          },
          "iSnsDiscoveryMethod": {
            "description": "The iSNS discovery method in use when iSNS is enabled.\n\nMust be one of the values of\n*InternetScsiSnsDiscoveryMethod_enum*\n",
            "type": "string"
          },
          "iSnsHost": {
            "description": "For STATIC iSNS, this is the iSNS server address\n",
            "type": "string"
          },
          "slpDiscoveryEnabled": {
            "description": "True if SLP is enabled\n",
            "type": "boolean"
          },
          "slpDiscoveryMethod": {
            "description": "The current SLP discovery method when SLP is enabled.\n\nMust be one of the values of\n*SlpDiscoveryMethod_enum*\n",
            "type": "string"
          },
          "slpHost": {
            "description": "When the SLP discovery method is set to MANUAL, this property\nreflects the hostname, and optionally port number of the SLP DA.\n",
            "type": "string"
          },
          "staticTargetDiscoveryEnabled": {
            "description": "True if static target discovery is enabled\n",
            "type": "boolean"
          },
          "sendTargetsDiscoveryEnabled": {
            "description": "True if send targets discovery is enabled\n",
            "type": "boolean"
          }
        },
        "required": [
          "iSnsDiscoveryEnabled",
          "slpDiscoveryEnabled",
          "staticTargetDiscoveryEnabled",
          "sendTargetsDiscoveryEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaDiscoveryProperties": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaDiscoveryProperties*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaDiscoveryProperties"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaIPCapabilities": {
        "type": "object",
        "description": "The IP Capabilities for the host bus adapter\n",
        "properties": {
          "addressSettable": {
            "description": "True if the host bus adapter supports setting its IPv4 address.\n",
            "type": "boolean"
          },
          "ipConfigurationMethodSettable": {
            "description": "True if the host bus adapter supports DHCPv4.\n",
            "type": "boolean"
          },
          "subnetMaskSettable": {
            "description": "True if the host bus adapter supports setting its IPv4 subnet mask.\n",
            "type": "boolean"
          },
          "defaultGatewaySettable": {
            "description": "True if the host bus adapter supports setting its IPv4 gateway.\n",
            "type": "boolean"
          },
          "primaryDnsServerAddressSettable": {
            "description": "True if the host bus adapter supports setting its primary DNS.\n",
            "type": "boolean"
          },
          "alternateDnsServerAddressSettable": {
            "description": "True if the host bus adapter supports setting its secondary DNS.\n",
            "type": "boolean"
          },
          "ipv6Supported": {
            "description": "True if the host bus adapter supports the use of IPv6 addresses\n",
            "type": "boolean"
          },
          "arpRedirectSettable": {
            "description": "True if the host bus adapter supports setting its ARP Redirect value\n",
            "type": "boolean"
          },
          "mtuSettable": {
            "description": "True if the host bus adapter supports setting its MTU, (for Jumbo\nFrames, etc)\n",
            "type": "boolean"
          },
          "hostNameAsTargetAddress": {
            "description": "True if the discovery and static targets can be configured with\na host name as opposed to an IP address.\n",
            "type": "boolean"
          },
          "nameAliasSettable": {
            "description": "True if the host bus adapter supports setting its name and alias\n",
            "type": "boolean"
          },
          "ipv4EnableSettable": {
            "description": "True if IPv4 addresssing can be enabled or disabled on the host bus adapter.\n",
            "type": "boolean"
          },
          "ipv6EnableSettable": {
            "description": "True if IPv6 addresssing can be enabled or disabled on the host bus adapter.\n",
            "type": "boolean"
          },
          "ipv6PrefixLengthSettable": {
            "description": "True if the Host bus adapter supports setting IPv6 Prefix Length.\n",
            "type": "boolean"
          },
          "ipv6PrefixLength": {
            "description": "Provides the value that user should be using if host bus adapter\ndoes not support changing of prefix length.\n",
            "type": "integer",
            "format": "int32"
          },
          "ipv6DhcpConfigurationSettable": {
            "description": "True if the Host bus adapter supports DHCPv6 configuration.\n",
            "type": "boolean"
          },
          "ipv6LinkLocalAutoConfigurationSettable": {
            "description": "True if the Host bus adapter supports setting configuration of its IPv6 link local address\nUser can specify link local static address if link local auto configuration is set to false.\n\nlink local address usually starts with fe80: and has prefix 64.\n",
            "type": "boolean"
          },
          "ipv6RouterAdvertisementConfigurationSettable": {
            "description": "True if the Host bus adapter supports router advertisement configuration method.\n\nNote: Currently Qlogic adapter does not support plumbing of any user specified\nstatic address if router advertisement method is enabled.\n",
            "type": "boolean"
          },
          "ipv6DefaultGatewaySettable": {
            "description": "True if the Host bus adapter supports setting its IPv6 default gateway.\n",
            "type": "boolean"
          },
          "ipv6MaxStaticAddressesSupported": {
            "description": "The maximum number of supported IPv6 static addresses on the\nhost bus adapter that user can set.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "addressSettable",
          "ipConfigurationMethodSettable",
          "subnetMaskSettable",
          "defaultGatewaySettable",
          "primaryDnsServerAddressSettable",
          "alternateDnsServerAddressSettable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaIPCapabilities": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaIPCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaIPCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaIPProperties": {
        "type": "object",
        "description": "The IP properties for the host bus adapter\n",
        "properties": {
          "mac": {
            "description": "The MAC address.\n",
            "type": "string"
          },
          "address": {
            "description": "The current IPv4 address.\n",
            "type": "string"
          },
          "dhcpConfigurationEnabled": {
            "description": "True if the host bus adapter fetches its IP using DHCP.\n",
            "type": "boolean"
          },
          "subnetMask": {
            "description": "The current IPv4 subnet mask.\n",
            "type": "string"
          },
          "defaultGateway": {
            "description": "The current IPv4 gateway.\n",
            "type": "string"
          },
          "primaryDnsServerAddress": {
            "description": "The current primary DNS address.\n",
            "type": "string"
          },
          "alternateDnsServerAddress": {
            "description": "The current secondary DNS address.\n",
            "type": "string"
          },
          "ipv6Address": {
            "deprecated": true,
            "description": "Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.\n\nThe current IPv6 address.\n",
            "type": "string"
          },
          "ipv6SubnetMask": {
            "deprecated": true,
            "description": "Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.\n\nThe current IPv6 subnet mask.\n",
            "type": "string"
          },
          "ipv6DefaultGateway": {
            "deprecated": true,
            "description": "Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.\n\nThe current IPv6 default gateway.\n",
            "type": "string"
          },
          "arpRedirectEnabled": {
            "description": "True if ARP Redirect is enabled\n",
            "type": "boolean"
          },
          "mtu": {
            "description": "True if the host bus adapter supports setting its MTU, (for Jumbo\nFrames, etc)\nSetting enableJumboFrames and not a numeric mtu value implies\nautoselection of appropriate MTU value for Jumbo Frames.\n",
            "type": "integer",
            "format": "int32"
          },
          "jumboFramesEnabled": {
            "type": "boolean"
          },
          "ipv4Enabled": {
            "description": "True if IPv4 is enabled.\n\nUnset value will keep existing IPv4 enabled state as is.\n",
            "type": "boolean"
          },
          "ipv6Enabled": {
            "description": "True if IPv6 is enabled.\n\nUnset value will keep existing IPv6 enabled state as is.\n",
            "type": "boolean"
          },
          "ipv6properties": {
            "description": "IPv6 properties.\n\nIt is set only if { @link #ipv6Enabled } is true.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaIPv6Properties"
          }
        },
        "required": [
          "dhcpConfigurationEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaIPProperties": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaIPProperties*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaIPProperties"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaIPv6Properties": {
        "type": "object",
        "description": "The IPv6 properties for the host bus adapter.\n",
        "properties": {
          "iscsiIpv6Address": {
            "description": "There can be multiple IPv6 addressed plumbed onto the Host Bus Adapter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaIscsiIpv6Address"
            }
          },
          "ipv6DhcpConfigurationEnabled": {
            "description": "True if DHCPv6 is enabled on the host bus adapter.\n\nUser can keep this field unset while changing other IPv6 properties\nwithout altering current DHCP configuration.\n",
            "type": "boolean"
          },
          "ipv6LinkLocalAutoConfigurationEnabled": {
            "description": "True if auto configuration of link local address is enabled on the host bus adapter.\n\nUser can keep this field unset while changing other IPv6 properties\nwithout altering current link local auto configuration.\n",
            "type": "boolean"
          },
          "ipv6RouterAdvertisementConfigurationEnabled": {
            "description": "True if the router advertisement configuration is enabled on the host bus adapter.\n\nUser can keep this field unset while changing other IPv6 properties\nwithout altering current router advertisement configuration.\n",
            "type": "boolean"
          },
          "ipv6DefaultGateway": {
            "description": "The current IPv6 default gateway.\n\nUser can keep this field unset while changing other IPv6 properties\nwithout altering current default gateway configuration.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaIPv6Properties": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaIPv6Properties*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaIPv6Properties"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaIscsiIpv6Address": {
        "type": "object",
        "description": "The IPv6 address.\n",
        "properties": {
          "address": {
            "description": "IPv6 address.\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "IPv6 address prefix length.\n",
            "type": "integer",
            "format": "int32"
          },
          "origin": {
            "description": "Type of the address.\n\nSee { @Vim::Host::HostBusAdapter::IscsiIpv6Address::AddressConfigurationType }.\nNote: While setting IPv6 address, value of origin should be set to static.\n",
            "type": "string"
          },
          "operation": {
            "description": "Operation to be performed with the IP address.\n\nSee { @Vim::Host::HostBusAdapter::IscsiIpv6Address::IPv6AddressOperation }.\nNote: This field/operation is used only while setting the IPProperties on host bus adapter.\nThis field would not have any value (Unset) while viewing IPProperties\nof the host bus adapter.\n",
            "type": "string"
          }
        },
        "required": [
          "address",
          "prefixLength",
          "origin"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaIscsiIpv6Address": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaIscsiIpv6Address*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaIscsiIpv6Address"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaParamValue": {
        "type": "object",
        "description": "Describes the the value of an iSCSI parameter, and whether\nthe value is being inherited.\n",
        "properties": {
          "isInherited": {
            "description": "Indicates if the value is inherited from some other source.\n\nIf unset, the value is not inheritable.\nisInherited can be modified only if it has already been set.\nIf value is to being modified, isInherited should be set to true.\nSetting isInherited to false will result in the value being\nonce again inherited from the source.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/OptionValue"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaParamValue": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaParamValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaParamValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaSendTarget": {
        "type": "object",
        "description": "The iSCSI send target.\n",
        "properties": {
          "address": {
            "description": "The IP address or hostname of the storage device.\n",
            "type": "string"
          },
          "port": {
            "description": "The TCP port of the storage device.\n\nIf not specified, the standard default of 3260 is used.\n",
            "type": "integer",
            "format": "int32"
          },
          "authenticationProperties": {
            "description": "The authentication settings for this discovery target.\n\nAll static targets discovered via this target will inherit the\nuse of these settings unless the static target's authentication\nsettings are explicitly set.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaAuthenticationProperties"
          },
          "digestProperties": {
            "description": "The digest settings for this discovery target.\n\nAll static targets discovered via this target will inherit the\nuse of these settings unless the static target's digest\nsettings are explicitly set.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaDigestProperties"
          },
          "supportedAdvancedOptions": {
            "description": "A list of supported key/value pair advanced options for the\nhost bus adapter including their type information.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionDef"
            }
          },
          "advancedOptions": {
            "description": "A list of the current options settings for the host bus adapter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaParamValue"
            }
          },
          "parent": {
            "description": "The device name of the host bus adapter from which settings\ncan be inherited.\n",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaSendTarget": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaSendTarget*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaSendTarget"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaStaticTarget": {
        "type": "object",
        "description": "The iSCSI static target.\n",
        "properties": {
          "address": {
            "description": "The IP address or hostname of the storage device.\n",
            "type": "string"
          },
          "port": {
            "description": "The TCP port of the storage device.\n\nIf not specified, the standard default of 3260 is used.\n",
            "type": "integer",
            "format": "int32"
          },
          "iScsiName": {
            "description": "The iSCSI name of the storage device.\n",
            "type": "string"
          },
          "discoveryMethod": {
            "description": "Discovery method\neach static target is discovered by some method\ndefine in TargetDiscoveryMethod.\n",
            "type": "string"
          },
          "authenticationProperties": {
            "description": "The authentication settings for this target.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaAuthenticationProperties"
          },
          "digestProperties": {
            "description": "The digest settings for this target.\n",
            "$ref": "#/components/schemas/HostInternetScsiHbaDigestProperties"
          },
          "supportedAdvancedOptions": {
            "description": "A list of supported key/value pair advanced options for the\nhost bus adapter including their type information.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionDef"
            }
          },
          "advancedOptions": {
            "description": "A list of the current options settings for the host bus adapter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaParamValue"
            }
          },
          "parent": {
            "description": "The parent entity from which settings can be inherited.\n\nIt can either\nbe unset, or set to the device name of the host bus adapter or the\nname of the SendTarget.\n",
            "type": "string"
          }
        },
        "required": [
          "address",
          "iScsiName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaStaticTarget": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaStaticTarget*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaStaticTarget"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaTargetSet": {
        "type": "object",
        "description": "A collection of one or more static targets or discovery addresses.\n\nAt least one of the arrays must be non-empty.\n",
        "properties": {
          "staticTargets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaStaticTarget"
            }
          },
          "sendTargets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaSendTarget"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaTargetSet": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaTargetSet*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaTargetSet"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiTargetTransport": {
        "type": "object",
        "description": "Internet SCSI transport information about a SCSI target.\n",
        "properties": {
          "iScsiName": {
            "description": "The iSCSI name of the target.\n",
            "type": "string"
          },
          "iScsiAlias": {
            "description": "The iSCSI alias of the target.\n",
            "type": "string"
          },
          "address": {
            "description": "The IP addresses through which the target may be reached.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "iScsiName",
          "iScsiAlias"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        ]
      },
      "ArrayOfHostInternetScsiTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiTargetTransport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpConfig": {
        "type": "object",
        "description": "The IP configuration.\n",
        "properties": {
          "dhcp": {
            "description": "The flag to indicate whether or not DHCP (dynamic host\ncontrol protocol) is enabled.\n\nIf this property is set to true,\nthe ipAddress and the subnetMask strings cannot be set explicitly.\n",
            "type": "boolean"
          },
          "ipAddress": {
            "description": "The IP address currently used by the network adapter.\n\nAll IP addresses are specified using IPv4 dot notation.\nFor example, \"192.168.0.1\". Subnet addresses and netmasks are\nspecified using the same notation.\n\n**Note**: When DHCP is enabled, this property reflects the\ncurrent IP configuration and cannot be set. When DHCP is not\nenabled, this property can be set explicitly.\n",
            "type": "string"
          },
          "subnetMask": {
            "description": "The subnet mask.\n\n**Note**: When DHCP is not enabled, this property can be\nset explicitly. When DHCP is enabled, this property reflects the\ncurrent IP configuration and cannot be set.\n",
            "type": "string"
          },
          "ipV6Config": {
            "description": "The ipv6 configuration\n",
            "$ref": "#/components/schemas/HostIpConfigIpV6AddressConfiguration"
          }
        },
        "required": [
          "dhcp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostIpConfig": {
        "type": "object",
        "description": "A boxed array of *HostIpConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpConfigIpV6Address": {
        "type": "object",
        "description": "The ipv6 address specification\n",
        "properties": {
          "ipAddress": {
            "description": "The ipv6 address.\n\nWhen DHCP is enabled, this property\nreflects the current IP configuration and cannot be set.\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "The prefix length.\n\nAn ipv6 prefixLength is a decimal value that indicates\nthe number of contiguous, higher-order bits of the address that make up the\nnetwork portion of the address.\nFor example, 10FA:6604:8136:6502::/64 is a possible IPv6 prefix. The prefix\nlength in this case is 64.\n",
            "type": "integer",
            "format": "int32"
          },
          "origin": {
            "description": "The type of the ipv6 address configuration on the interface.\n\nThis can be one of the types defined my the enum\n*HostIpConfigIpV6AddressConfigType_enum*.\n",
            "type": "string"
          },
          "dadState": {
            "description": "The state of this ipAddress.\n\nCan be one of\n*HostIpConfigIpV6AddressStatus_enum*\n",
            "type": "string"
          },
          "lifetime": {
            "description": "The time when will this address expire.\n\nIf not set\nthe address lifetime is unlimited.\n",
            "type": "string",
            "format": "date-time"
          },
          "operation": {
            "description": "Valid values are \"add\" and \"remove\".\n\nSee *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress",
          "prefixLength"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostIpConfigIpV6Address": {
        "type": "object",
        "description": "A boxed array of *HostIpConfigIpV6Address*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpConfigIpV6Address"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpConfigIpV6AddressConfiguration": {
        "type": "object",
        "description": "The ipv6 address configuration\n",
        "properties": {
          "ipV6Address": {
            "description": "Ipv6 adrresses configured on the interface.\n\nThe global addresses can be configured\nthrough DHCP, stateless or manual configuration. Link local addresses can be\nonly configured with the origin set to\n*other*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpConfigIpV6Address"
            }
          },
          "autoConfigurationEnabled": {
            "description": "Specify if IPv6 address and routing information information\nbe enabled or not as per RFC 2462.\n",
            "type": "boolean"
          },
          "dhcpV6Enabled": {
            "description": "The flag to indicate whether or not DHCP (dynamic host\ncontrol protocol) is enabled to obtain an ipV6 address.\n\nIf this property is set to true, an ipV6 address is configured through dhcpV6.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostIpConfigIpV6AddressConfiguration": {
        "type": "object",
        "description": "A boxed array of *HostIpConfigIpV6AddressConfiguration*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpConfigIpV6AddressConfiguration"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpRouteConfig": {
        "type": "object",
        "description": "IP Route Configuration.\n\nAll IPv4 addresses, subnet addresses, and\nnetmasks are specified as strings using dotted decimal notation.\nFor example, \"192.0.2.1\".\nIPv6 addresses are 128-bit addresses represented\nas eight fields of up to four hexadecimal digits. A colon separates each\nfield (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can\nalso consist of symbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
        "properties": {
          "defaultGateway": {
            "description": "The default gateway address.\n",
            "type": "string"
          },
          "gatewayDevice": {
            "description": "The gateway device.\n\nThis applies to service console gateway only, it\nis ignored otherwise.\n",
            "type": "string"
          },
          "ipV6DefaultGateway": {
            "description": "The default ipv6 gateway address\n",
            "type": "string"
          },
          "ipV6GatewayDevice": {
            "description": "The ipv6 gateway device.\n\nThis applies to service console gateway only, it\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostIpRouteConfig": {
        "type": "object",
        "description": "A boxed array of *HostIpRouteConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpRouteConfigSpec": {
        "type": "object",
        "description": "Dataobject specifying the configuration for IpRoute\n",
        "properties": {
          "gatewayDeviceConnection": {
            "description": "Choose a gateway device based on what the VirtualNic is connected to.\n\nThis applies to service console gateway only, it\nis ignored otherwise.\n",
            "$ref": "#/components/schemas/HostVirtualNicConnection"
          },
          "ipV6GatewayDeviceConnection": {
            "description": "The ipv6 gateway device based on what the VirtualNic is connected to.\n\nThis applies to service console gateway only, it\nis ignored otherwise.\n",
            "$ref": "#/components/schemas/HostVirtualNicConnection"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostIpRouteConfig"
          }
        ]
      },
      "ArrayOfHostIpRouteConfigSpec": {
        "type": "object",
        "description": "A boxed array of *HostIpRouteConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpRouteEntry": {
        "type": "object",
        "description": "IpRouteEntry.\n\nRouting entries are individual static routes which combined\nwith the default route form all of the routing rules for a host.\n",
        "properties": {
          "network": {
            "description": "Network of the routing entry\nOf the format \"10.20.120.0\" or \"2001:db8::1428:57\"\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "Prefix length of the network (this is the 22 in 10.20.120.0/22)\n",
            "type": "integer",
            "format": "int32"
          },
          "gateway": {
            "description": "Gateway for the routing entry\n",
            "type": "string"
          },
          "deviceName": {
            "description": "If available the property indicates the device associated with the\nrouting entry.\n\nThis property can only be read from the server.\nIt will be ignored if set by the client.\n",
            "type": "string"
          }
        },
        "required": [
          "network",
          "prefixLength",
          "gateway"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostIpRouteEntry": {
        "type": "object",
        "description": "A boxed array of *HostIpRouteEntry*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteEntry"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpRouteOp": {
        "type": "object",
        "description": "Routing Entry Operation.\n\nRouting entries are individual static routes\nwhich combined with the default route form all of the routing rules for\na host.\n",
        "properties": {
          "changeOperation": {
            "description": "This property indicates the change operation to apply on\nthis configuration specification.\n\nSee also *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          },
          "route": {
            "description": "The routing entry itself\n",
            "$ref": "#/components/schemas/HostIpRouteEntry"
          }
        },
        "required": [
          "changeOperation",
          "route"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostIpRouteOp": {
        "type": "object",
        "description": "A boxed array of *HostIpRouteOp*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteOp"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpRouteTableConfig": {
        "type": "object",
        "description": "IpRouteEntry.\n\nRouting entries are individual static routes which combined\nwith the default route form all of the routing rules for a host.\n",
        "properties": {
          "ipRoute": {
            "description": "The array of Routing ops (routes to be added/removed)\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteOp"
            }
          },
          "ipv6Route": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteOp"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostIpRouteTableConfig": {
        "type": "object",
        "description": "A boxed array of *HostIpRouteTableConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteTableConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpRouteTableInfo": {
        "type": "object",
        "description": "IpRouteTableInfo.\n\nThis is the list of all static routes on the host\n",
        "properties": {
          "ipRoute": {
            "description": "The array of IpRouteEntry\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteEntry"
            }
          },
          "ipv6Route": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteEntry"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostIpRouteTableInfo": {
        "type": "object",
        "description": "A boxed array of *HostIpRouteTableInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpRouteTableInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostIpmiInfo": {
        "type": "object",
        "description": "The IpmiInfo data object contains IPMI (Intelligent Platform Management Interface)\nand BMC (Baseboard Management Controller) information for the host.\n",
        "properties": {
          "bmcIpAddress": {
            "description": "IP address of the BMC on the host.\n\nIt should be null terminated.\n",
            "type": "string"
          },
          "bmcMacAddress": {
            "description": "MAC address of the BMC on the host.\n\nThe MAC address should be of the\nform xx:xx:xx:xx:xx:xx where each x is a hex digit. It should be null\nterminated.\n",
            "type": "string"
          },
          "login": {
            "description": "User ID for logging into the BMC.\n\nBMC usernames may be up to 16\ncharacters and must be null terminated. Hence, a login comprises\n17 or fewer characters.\n",
            "type": "string"
          },
          "password": {
            "description": "Password for logging into the BMC.\n\nOnly used for configuration, returned as unset\nwhile reading. The password can be up to 16 characters and must be null\nterminated. Hence, a password comprises 17 or fewer characters.\n",
            "type": "string",
            "format": "password"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostIpmiInfo": {
        "type": "object",
        "description": "A boxed array of *HostIpmiInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostIpmiInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiDependencyEntity": {
        "type": "object",
        "description": "Defines a dependency entity.\n\nContains the affected Virtual NIC device name and iSCSI HBA name\n(if Virtual NIC is associated with the HBA).\nSee *IscsiMigrationDependency*\n",
        "properties": {
          "pnicDevice": {
            "description": "The affected Physical NIC device\n",
            "type": "string"
          },
          "vnicDevice": {
            "description": "The affected Virtual NIC device\n",
            "type": "string"
          },
          "vmhbaName": {
            "description": "The iSCSI HBA that the Virtual NIC is associated with, if any.\n",
            "type": "string"
          }
        },
        "required": [
          "pnicDevice",
          "vnicDevice",
          "vmhbaName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIscsiDependencyEntity": {
        "type": "object",
        "description": "A boxed array of *IscsiDependencyEntity*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiDependencyEntity"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiMigrationDependency": {
        "type": "object",
        "description": "Provides migration dependency information for a given Physical NIC.\n\nLists all the iSCSI and networking resources impacted if\nmigration of a given Physical NIC is to take place.\n",
        "properties": {
          "migrationAllowed": {
            "description": "Indicates whether migration can be safely performed\nIf migrationAllowed is False, the disallowReason will\ncontain the specific condition that makes the migration\nattempt unsafe.\n",
            "type": "boolean"
          },
          "disallowReason": {
            "description": "Reasons for not allowing migration.\n\nUnset if migrationAllowed is true.\n",
            "$ref": "#/components/schemas/IscsiStatus"
          },
          "dependency": {
            "description": "Details of all the resources affected by migration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiDependencyEntity"
            }
          }
        },
        "required": [
          "migrationAllowed"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIscsiMigrationDependency": {
        "type": "object",
        "description": "A boxed array of *IscsiMigrationDependency*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiMigrationDependency"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiPortInfo": {
        "type": "object",
        "description": "The *IscsiPortInfo* data object describes the\nVirtual NIC that are bound to an iSCSI adapter and\nalso it describes the candidate Virtual NICs that\ncan be bound to a given iSCSI adapter.\n",
        "properties": {
          "vnicDevice": {
            "description": "Virtual NIC Name.\n\nContains the name of the Virtual NIC device. This may be\nunset in case where the bound Virtual NIC doesn't have the system object or\nwhere a candidate Physical NIC isn't associated with any Virtual NIC.\n",
            "type": "string"
          },
          "vnic": {
            "description": "Virtual NIC Object corresponding to the vnicDevice.\n\nMay be unset if Virtual NIC object corresponding to vnicDevice doesn't\nexist in the system.\n",
            "$ref": "#/components/schemas/HostVirtualNic"
          },
          "pnicDevice": {
            "description": "Physical NIC Name.\n",
            "type": "string"
          },
          "pnic": {
            "description": "Physical NIC Object corresponding to the pnicDevice.\n\nMay be unset if Physical NIC object corresponding to pnicDevice doesn't\nexist in the system or the vnicDevice doesn't have any Physical NIC\nassociated with it.\n",
            "$ref": "#/components/schemas/PhysicalNic"
          },
          "switchName": {
            "description": "Name of the virtual switch this Physical/Virtual NIC belongs.\n\nMay be unset if the vnicDevice and/or pnicDevice do not have a\nvirtual switch associated with them.\n",
            "type": "string"
          },
          "switchUuid": {
            "description": "UUID of the virtual switch this Physical/Virtual NIC belongs.\n\nMay be unset if the vnicDevice and/or pnicDevice do not have a\nvirtual switch associated with them or the associated switch is not VDS.\n",
            "type": "string"
          },
          "portgroupName": {
            "description": "Name of the portgroup to which this Virtual NIC belongs.\n\nMay be unset if the vnicDevice and/or pnicDevice do not have a\nPortgroup associated with them.\n",
            "type": "string"
          },
          "portgroupKey": {
            "description": "Portgroup key to which this Virtual NIC belongs.\n\nMay be unset if the vnicDevice and/or pnicDevice do not have a\nPortgroup associated with them or the associated portgroup does\nis not of VDS type.\n",
            "type": "string"
          },
          "portKey": {
            "description": "portkey to which this Virtual NIC belongs.\n\nMay be unset if the vnicDevice is not assigned to a specific port or\nthe switch is not VDS.\n",
            "type": "string"
          },
          "opaqueNetworkId": {
            "description": "ID of the Opaque network to which the virtual NIC is connected.\n\nThis property is set only when vnicDevice is associated with an\nopaque network.\n",
            "type": "string"
          },
          "opaqueNetworkType": {
            "description": "Type of the Opaque network to which the virtual NIC is connected.\n\nThis property is set only when vnicDevice is associated with an\nopaque network.\n",
            "type": "string"
          },
          "opaqueNetworkName": {
            "description": "Name of the Opaque network to which the virtual NIC is connected.\n\nThis property is set only when vnicDevice is associated with an\nopaque network.\n",
            "type": "string"
          },
          "externalId": {
            "description": "An ID assigned to the vmkernel adapter by external management plane\nor controller.\n\nThis property is set only when vnicDevice is associated with an\nopaque network.\n",
            "type": "string"
          },
          "complianceStatus": {
            "description": "Status indicating whether the Virtual NIC is compliant with the\nnetwork policy that is required by iSCSI port binding.\n\nMay be unset in the candidate NIC list.\n",
            "$ref": "#/components/schemas/IscsiStatus"
          },
          "pathStatus": {
            "description": "A status, as defined in *IscsiPortInfoPathStatus_enum*, indicating the\nexisting storage paths dependency level on a given Virtual NIC.\n\nMay be unset in the candidate NIC list.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIscsiPortInfo": {
        "type": "object",
        "description": "A boxed array of *IscsiPortInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiPortInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IscsiStatus": {
        "type": "object",
        "description": "The *IscsiStatus* data object describes the\nstatus of an operation.\n",
        "properties": {
          "reason": {
            "description": "List of failure reason and associated remedy.\n\nAn array of fault codes associated with the failure. The fault itself\nwill provide an indication of the actual failure code and\n*MethodFault.faultMessage* will indicate the remedy that\nneeds to be taken to correct the failure.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIscsiStatus": {
        "type": "object",
        "description": "A boxed array of *IscsiStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IscsiStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KernelModuleInfo": {
        "type": "object",
        "description": "Information about a kernel module.\n",
        "properties": {
          "id": {
            "description": "Module ID.\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "Module name.\n",
            "type": "string"
          },
          "version": {
            "description": "Version string.\n",
            "type": "string"
          },
          "filename": {
            "description": "Module filename, without the path.\n",
            "type": "string"
          },
          "optionString": {
            "description": "Option string configured to be passed to the kernel module when loaded.\n\nNote that this is not necessarily the option string currently in use by\nthe kernel module.\n",
            "type": "string"
          },
          "loaded": {
            "description": "Is the module loaded?\n",
            "type": "boolean"
          },
          "enabled": {
            "description": "Is the module enabled?\n",
            "type": "boolean"
          },
          "useCount": {
            "description": "Number of references to this module.\n",
            "type": "integer",
            "format": "int32"
          },
          "readOnlySection": {
            "description": "Read-only section information.\n",
            "$ref": "#/components/schemas/KernelModuleSectionInfo"
          },
          "writableSection": {
            "description": "Writable section information.\n",
            "$ref": "#/components/schemas/KernelModuleSectionInfo"
          },
          "textSection": {
            "description": "Text section information.\n",
            "$ref": "#/components/schemas/KernelModuleSectionInfo"
          },
          "dataSection": {
            "description": "Data section information.\n",
            "$ref": "#/components/schemas/KernelModuleSectionInfo"
          },
          "bssSection": {
            "description": "BSS section information.\n",
            "$ref": "#/components/schemas/KernelModuleSectionInfo"
          }
        },
        "required": [
          "id",
          "name",
          "version",
          "filename",
          "optionString",
          "loaded",
          "enabled",
          "useCount",
          "readOnlySection",
          "writableSection",
          "textSection",
          "dataSection",
          "bssSection"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfKernelModuleInfo": {
        "type": "object",
        "description": "A boxed array of *KernelModuleInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KernelModuleInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KernelModuleSectionInfo": {
        "type": "object",
        "description": "Information about a module section.\n",
        "properties": {
          "address": {
            "description": "Base address of section.\n",
            "type": "integer",
            "format": "int64"
          },
          "length": {
            "description": "Section length.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "address"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfKernelModuleSectionInfo": {
        "type": "object",
        "description": "A boxed array of *KernelModuleSectionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KernelModuleSectionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLicenseSpec": {
        "type": "object",
        "properties": {
          "source": {
            "description": "License source to be used\n",
            "$ref": "#/components/schemas/LicenseSource"
          },
          "editionKey": {
            "description": "License edition to use\n",
            "type": "string"
          },
          "disabledFeatureKey": {
            "description": "Disabled features.\n\nWhen an edition is set, all the features in it\nare enabled by default. The following parameter gives a finer\ncontrol on which features are disabled.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enabledFeatureKey": {
            "description": "Enabled features\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLicenseSpec": {
        "type": "object",
        "description": "A boxed array of *HostLicenseSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLicenseSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LinkDiscoveryProtocolConfig": {
        "type": "object",
        "description": "Dataobject representing the link discovery protocol configuration for a\nvirtual or distributed virtual switch.\n",
        "properties": {
          "protocol": {
            "description": "The discovery protocol type.\n\nFor valid values\nsee *LinkDiscoveryProtocolConfigProtocolType_enum*.\n",
            "type": "string"
          },
          "operation": {
            "description": "Whether to advertise or listen.\n\nFor valid values see\n*LinkDiscoveryProtocolConfigOperationType_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "protocol",
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLinkDiscoveryProtocolConfig": {
        "type": "object",
        "description": "A boxed array of *LinkDiscoveryProtocolConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkDiscoveryProtocolConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostAccountSpec": {
        "type": "object",
        "description": "This data object type contains common parameters\nfor local account creation.\n\nThe password and description properties\nare not supported for group accounts on POSIX hosts.\n",
        "properties": {
          "id": {
            "description": "The ID of the specified account.\n",
            "type": "string"
          },
          "password": {
            "description": "The password for a user or group.\n",
            "type": "string",
            "format": "password"
          },
          "description": {
            "description": "The description of the specified account.\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostAccountSpec": {
        "type": "object",
        "description": "A boxed array of *HostAccountSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAccountSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPosixAccountSpec": {
        "type": "object",
        "description": "This data object type contains a POSIX-specific parameter\nfor local account creation.\n",
        "properties": {
          "posixId": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1, this property is deprecated and\nis ignored.\n\nThe user ID or group ID of a specified account.\n",
            "type": "integer",
            "format": "int32"
          },
          "shellAccess": {
            "description": "Grants shell access.\n\nAs of vSphere API 5.1, this property is deprecated and\nis ignored. *HostLocalAccountManager.CreateUser* will always set this to true, and\n*HostLocalAccountManager.UpdateUser* will set it to true if it is already false.\nAlso shell access is granted only to users with\nAdministrator role on the root folder and no other non-Admin role on\nany other inventory object.\n\nAs of vSphere API 7.0.3.2, this property is no longer ignored and it must\nbe true if a user with administrator permissions needs shell access.\nIt can be set to true for other users only by administrators\nwho themselves have this shell access.\nAdministrators without shell access cannot change the passwords of\nusers with shell access.\nSetting this property to false for user 'root' has no effect.\n\nIf this property is not specified when creating a new user account\nthen the default value depends on the following factors:\nif the calling user does not have shell access then it defaults to\nfalse; if the calling user has shell access then it defaults to true,\nunless overridden by host configuration settings.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostAccountSpec"
          }
        ]
      },
      "ArrayOfHostPosixAccountSpec": {
        "type": "object",
        "description": "A boxed array of *HostPosixAccountSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPosixAccountSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLocalAuthenticationInfo": {
        "type": "object",
        "description": "The *HostLocalAuthenticationInfo* data object represents\nlocal authentication on the ESX host.\n\nLocal authentication\nis always enabled.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostAuthenticationStoreInfo"
          }
        ]
      },
      "ArrayOfHostLocalAuthenticationInfo": {
        "type": "object",
        "description": "A boxed array of *HostLocalAuthenticationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLocalAuthenticationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LocalDatastoreInfo": {
        "type": "object",
        "description": "The information details about a datastore that is local to a host.\n",
        "properties": {
          "path": {
            "description": "The local path on a host.\n\nMay not\nbe available when the datastore is not accessible.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreInfo"
          }
        ]
      },
      "ArrayOfLocalDatastoreInfo": {
        "type": "object",
        "description": "A boxed array of *LocalDatastoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalDatastoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLocalFileSystemVolume": {
        "type": "object",
        "description": "Local file system volume.\n",
        "properties": {
          "device": {
            "description": "The device of the local file system.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostFileSystemVolume"
          }
        ]
      },
      "ArrayOfHostLocalFileSystemVolume": {
        "type": "object",
        "description": "A boxed array of *HostLocalFileSystemVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLocalFileSystemVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLocalFileSystemVolumeSpec": {
        "type": "object",
        "description": "The specification for creating a new local file system volume.\n",
        "properties": {
          "device": {
            "description": "The device of the local file system.\n",
            "type": "string"
          },
          "localPath": {
            "description": "The file path on the host where the file system is mounted.\n",
            "type": "string"
          }
        },
        "required": [
          "device",
          "localPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLocalFileSystemVolumeSpec": {
        "type": "object",
        "description": "A boxed array of *HostLocalFileSystemVolumeSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLocalFileSystemVolumeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLowLevelProvisioningManagerDiskLayoutSpec": {
        "type": "object",
        "description": "File layout spec of a virtual disk.\n\nThe disk could be either a base-disk\nor a delta disk.\n",
        "properties": {
          "controllerType": {
            "description": "Disk controller type, e.g.\n\nvim.vm.device.VirtualSCSIController or\nvim.vm.device.VirtualIDEController.\n",
            "type": "string"
          },
          "busNumber": {
            "description": "Bus number associated with the controller for this disk.\n",
            "type": "integer",
            "format": "int32"
          },
          "unitNumber": {
            "description": "Unit number of this disk on its controller.\n",
            "type": "integer",
            "format": "int32"
          },
          "srcFilename": {
            "description": "Source disk filename in datastore path.\n",
            "type": "string"
          },
          "dstFilename": {
            "description": "Destination filename in datastore path.\n",
            "type": "string"
          }
        },
        "required": [
          "controllerType",
          "busNumber",
          "unitNumber",
          "srcFilename",
          "dstFilename"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec": {
        "type": "object",
        "description": "A boxed array of *HostLowLevelProvisioningManagerDiskLayoutSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLowLevelProvisioningManagerDiskLayoutSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLowLevelProvisioningManagerFileDeleteResult": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string"
          },
          "fault": {
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "fileName",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLowLevelProvisioningManagerFileDeleteResult": {
        "type": "object",
        "description": "A boxed array of *HostLowLevelProvisioningManagerFileDeleteResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLowLevelProvisioningManagerFileDeleteResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLowLevelProvisioningManagerFileDeleteSpec": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string"
          },
          "fileType": {
            "type": "string"
          }
        },
        "required": [
          "fileName",
          "fileType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec": {
        "type": "object",
        "description": "A boxed array of *HostLowLevelProvisioningManagerFileDeleteSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLowLevelProvisioningManagerFileDeleteSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLowLevelProvisioningManagerFileReserveResult": {
        "type": "object",
        "description": "A FileReserveResult object describles the information of a file reserved\nby the ReserveFiles method.\n\nThis includes the original input ReserveFiles\nmethod so that the caller can map the input with the reserved file. All\npaths will be the complete local path in the url format.\n",
        "properties": {
          "baseName": {
            "type": "string"
          },
          "parentDir": {
            "type": "string"
          },
          "reservedName": {
            "type": "string"
          }
        },
        "required": [
          "baseName",
          "parentDir",
          "reservedName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLowLevelProvisioningManagerFileReserveResult": {
        "type": "object",
        "description": "A boxed array of *HostLowLevelProvisioningManagerFileReserveResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLowLevelProvisioningManagerFileReserveResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLowLevelProvisioningManagerFileReserveSpec": {
        "type": "object",
        "properties": {
          "baseName": {
            "type": "string"
          },
          "parentDir": {
            "type": "string"
          },
          "fileType": {
            "type": "string"
          },
          "storageProfile": {
            "type": "string"
          }
        },
        "required": [
          "baseName",
          "parentDir",
          "fileType",
          "storageProfile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLowLevelProvisioningManagerFileReserveSpec": {
        "type": "object",
        "description": "A boxed array of *HostLowLevelProvisioningManagerFileReserveSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLowLevelProvisioningManagerFileReserveSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLowLevelProvisioningManagerSnapshotLayoutSpec": {
        "type": "object",
        "description": "File layout spec of a snapshot, including path to the vmsn file of the\nsnapshot and the layout of virtual disks when the snapshot was taken.\n",
        "properties": {
          "id": {
            "description": "The unique identifier of the snapshot\n",
            "type": "integer",
            "format": "int32"
          },
          "srcFilename": {
            "description": "Name of the source snapshot file in datastore path.\n",
            "type": "string"
          },
          "dstFilename": {
            "description": "Name of the destination snapshot file in datastore path.\n",
            "type": "string"
          },
          "disk": {
            "description": "Layout of each virtual disk of the virtual machine when the\nsnapshot was taken.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLowLevelProvisioningManagerDiskLayoutSpec"
            }
          }
        },
        "required": [
          "id",
          "srcFilename",
          "dstFilename"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec": {
        "type": "object",
        "description": "A boxed array of *HostLowLevelProvisioningManagerSnapshotLayoutSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLowLevelProvisioningManagerSnapshotLayoutSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLowLevelProvisioningManagerVmMigrationStatus": {
        "type": "object",
        "description": "The status of a virtual machine migration operation.\n",
        "properties": {
          "migrationId": {
            "description": "Unique identifier for this operation, currently it's unique\nwithin one virtual center instance.\n",
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "description": "Manner in which the migration process is performed.\n\nThe set of\npossible values is described in\n*HostVMotionManagerVMotionType_enum*.\n",
            "type": "string"
          },
          "source": {
            "description": "Whether the virtual machine is the source of the migration.\n\nFor disk only migration, the value is always true.\n",
            "type": "boolean"
          },
          "consideredSuccessful": {
            "description": "Whether the operation is considered successful.\n\nA migration\noperation is considered successful if its switch over phase has\ncompleted successfully.\n\nMore specifically, for an in-progress migration, it is considered\nsuccessful if it has had a sucessful switch over, otherwise it is\nconsidered unsuccessful. Likewise, the status of a completed\nmigration operation is also based on the switch over completion\nstatus.\n\nThe difference between a completed vs. in-progress migration with\nthe same consideredSuccessful property is that in the former case\nthe server is able to complete the clean up process thus leaves\nnothing for the recovery process to clean up.\n",
            "type": "boolean"
          }
        },
        "required": [
          "migrationId",
          "type",
          "source",
          "consideredSuccessful"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLowLevelProvisioningManagerVmMigrationStatus": {
        "type": "object",
        "description": "A boxed array of *HostLowLevelProvisioningManagerVmMigrationStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLowLevelProvisioningManagerVmMigrationStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLowLevelProvisioningManagerVmRecoveryInfo": {
        "type": "object",
        "description": "Virtual machine information that can be used for recovery, for\nexample, to decide whether to register a virtual machine with a\nserver if the virtual machine is currently unregistered.\n\nThis data\nobject does not contain a complete virtual machine configuration,\nbut a subset of information available from *VirtualMachineConfigInfo*, all of which are available via virtual machine\nconfiguration files.\n\nThe documentation for each property in this data object describes\nthe property in *VirtualMachineConfigInfo* that contains the same\ninformation if available.\n",
        "properties": {
          "version": {
            "description": "The hardware version of this virtual machine.\n\nSame as\n*VirtualMachineConfigInfo.version*.\n",
            "type": "string"
          },
          "biosUUID": {
            "description": "128-bit SMBIOS UUID of this virtual machine.\n\nSame as\n*VirtualMachineConfigInfo.uuid*.\n",
            "type": "string"
          },
          "instanceUUID": {
            "description": "VirtualCenter-specific 128-bit UUID of this virtual machine.\n\nSame\nas *VirtualMachineConfigInfo.instanceUuid*.\n",
            "type": "string"
          },
          "ftInfo": {
            "description": "Fault Tolerance settings for this virtual machine.\n\nSame as\n*VirtualMachineConfigInfo.ftInfo*. Unset if non FT.\n",
            "$ref": "#/components/schemas/FaultToleranceConfigInfo"
          }
        },
        "required": [
          "version",
          "biosUUID",
          "instanceUUID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostLowLevelProvisioningManagerVmRecoveryInfo": {
        "type": "object",
        "description": "A boxed array of *HostLowLevelProvisioningManagerVmRecoveryInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLowLevelProvisioningManagerVmRecoveryInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMaintenanceSpec": {
        "type": "object",
        "description": "The *HostMaintenanceSpec* data object may be used to specify\nactions to be taken by a host upon entering maintenance mode.\n\nIf the *HostMaintenanceSpec* or any of its fields are omitted in a\ncall to *HostSystem.EnterMaintenanceMode_Task*, default actions\nwill be chosen as documented for each field's type.\n\nSee also *HostSystem.EnterMaintenanceMode_Task*, *VsanHostDecommissionMode*.\n",
        "properties": {
          "vsanMode": {
            "description": "The *VsanHostDecommissionMode* for this MaintenanceSpec.\n",
            "$ref": "#/components/schemas/VsanHostDecommissionMode"
          },
          "purpose": {
            "description": "Maintenance mode reason code.\n\nSee *HostMaintenanceSpecPurpose_enum* for valid values.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMaintenanceSpec": {
        "type": "object",
        "description": "A boxed array of *HostMaintenanceSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMaintenanceSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceConsoleReservationInfo": {
        "type": "object",
        "description": "The ServiceConsoleReservationInfo data object type describes the\namount of memory that is being reserved by the service console.\n\nMemory reserved for use by the service console is a hard reservation\nthat cannot be changed except across hardware restarts.\n\nThis memory that is reserved for the service console is used primarily\nto provide system management services. In addition, a small overhead\nis needed by each virtual machine on the service console.\n\nThe only property of the data object that can be changed directly is the\nserviceConsoleReservedCfg property. This property indicates how much\nmemory should be reserved for the service console on the next boot. In\nmost cases, this amount is the same as the current reservation.\n",
        "properties": {
          "serviceConsoleReservedCfg": {
            "description": "The amount of memory that should be reserved for the service console on\nthe next boot.\n",
            "type": "integer",
            "format": "int64"
          },
          "serviceConsoleReserved": {
            "description": "The amount of memory that is currently reserved for the service console.\n",
            "type": "integer",
            "format": "int64"
          },
          "unreserved": {
            "description": "The amount of memory that is not reserved for use by the service console.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "serviceConsoleReservedCfg",
          "serviceConsoleReserved",
          "unreserved"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfServiceConsoleReservationInfo": {
        "type": "object",
        "description": "A boxed array of *ServiceConsoleReservationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceConsoleReservationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMemoryReservationInfo": {
        "type": "object",
        "description": "The VirtualMachineReservationInfo data object type describes the\namount of memory that is being reserved for virtual machines on\nthe host, and how additional memory may be acquired.\n",
        "properties": {
          "virtualMachineMin": {
            "description": "The minimum amount of memory reserved for all running virtual machines,\nin bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "virtualMachineMax": {
            "description": "The maximum amount of memory reserved for all running virtual machines,\nin bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "virtualMachineReserved": {
            "description": "The amount of memory reserved for all running virtual machines,\nin bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "allocationPolicy": {
            "description": "Policy for allocating additional memory for virtual machines.\n\nSee also *VirtualMachineMemoryAllocationPolicy_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "virtualMachineMin",
          "virtualMachineMax",
          "virtualMachineReserved",
          "allocationPolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineMemoryReservationInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMemoryReservationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMemoryReservationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMemoryReservationSpec": {
        "type": "object",
        "description": "The VirtualMachineReservationSpec data object specifies\nconfigurable parameters for virtual machine memory reservation.\n",
        "properties": {
          "virtualMachineReserved": {
            "description": "The amount of memory reserved for all running virtual machines, in\nbytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "allocationPolicy": {
            "description": "Policy for allocating additional memory for virtual machines.\n\nSee also *VirtualMachineMemoryAllocationPolicy_enum*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineMemoryReservationSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMemoryReservationSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMemoryReservationSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMemorySpec": {
        "type": "object",
        "description": "DataObject used for configuring the memory setting\n",
        "properties": {
          "serviceConsoleReservation": {
            "description": "Service Console reservation in bytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMemorySpec": {
        "type": "object",
        "description": "A boxed array of *HostMemorySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMemorySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMemoryTierInfo": {
        "type": "object",
        "description": "Information about a memory tier on this host.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "name": {
            "description": "Descriptive name for the memory tier.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of the memory tier.\n\nSee *HostMemoryTierType_enum* for supported values.\n",
            "type": "string"
          },
          "flags": {
            "description": "Flags pertaining to the memory tier.\n\nSee *HostMemoryTierFlags_enum* for supported\nvalues.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "internalFlags": {
            "description": "System internal flags pertaining to the memory tier.\n\nSee\n*HostMemoryTierInternalFlags_enum* for supported values.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "size": {
            "description": "Size of the memory tier in bytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "name",
          "type",
          "size"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMemoryTierInfo": {
        "type": "object",
        "description": "A boxed array of *HostMemoryTierInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMemoryTierInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMountInfo": {
        "type": "object",
        "description": "The *HostMountInfo* data object provides information related\nto a configured mount point.\n\nThis object does not include information\nabout the mounted file system. (See *HostFileSystemMountInfo*.)\n",
        "properties": {
          "path": {
            "description": "Local file path where file system volume is mounted, if applicable.\n\nThis path identifies the file system volume from the point of view\nof the host.\n",
            "type": "string"
          },
          "accessMode": {
            "description": "Access mode to the underlying file system for this host.\n",
            "type": "string"
          },
          "mounted": {
            "description": "The mount state of this mount point.\n\nFor a discovered\nvolume, which is mounted, this is true. When this value is\nunset, the default value is true.\n",
            "type": "boolean"
          },
          "accessible": {
            "description": "Flag that indicates if the datastore is currently accessible from\nthe host.\n\nFor the case of a standalone host, this property has the same value as\n*DatastoreSummary*.*DatastoreSummary.accessible*.\nYou can use the *DatastoreSummary* property if the *HostMountInfo*\nproperty is not set. The VirtualCenter Server will always make\nsure the *DatastoreSummary* property is set correctly.\n",
            "type": "boolean"
          },
          "inaccessibleReason": {
            "description": "This optional property for inaccessible reason is reported only if\na datastore becomes inaccessible as reported by\n*HostMountInfo.accessible* and\n*DatastoreSummary*.*DatastoreSummary.accessible*.\n\nThe values for inaccessible reason are defined in the enum\n*HostMountInfoInaccessibleReason_enum*\nThis helps to determine host specific reason for datastore inaccessibility.\nIf the datastore becomes accessible following an inaccessible condition,\nthe property *HostMountInfo.inaccessibleReason* will be unset.\n",
            "type": "string"
          },
          "vmknicName": {
            "description": "The name of the vmknic used during mount.\n\nPopulated by the vmk control layer if the NAS\nvolume is mounted successfully with a vmknic binding.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "string"
          },
          "vmknicActive": {
            "description": "Indicates whether vmknic is active or inactive.\n\nThis field will be populated by vmk control layer during\nNAS volume mount, and will be set to true if the\nvmknic binding is active.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          },
          "mountFailedReason": {
            "description": "The optional property which gives the reason for mount operation\nfailure of NFS datastore.\n\nThis field is applicable for only those\nmounts for which retry mount operation is configured.\nThe values for the mount failed reason are defined in the enum\n*HostMountInfoMountFailedReason_enum*.\nIf mount operation on NFS volume succeeds in the retry, then\nthe property *HostMountInfo.mountFailedReason* will be unset.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          },
          "numTcpConnections": {
            "description": "Maintained for each Host, it indicates the total number of TCP\nconnections for the NAS datastore\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "accessMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMountInfo": {
        "type": "object",
        "description": "A boxed array of *HostMountInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMountInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMultipathInfo": {
        "type": "object",
        "description": "The *HostMultipathInfo* data object describes the multipathing policy\nconfiguration to determine the storage failover policies\nfor a SCSI logical unit.\n\nThe multipathing policy configuration operates on\nSCSI logical units and the paths to the logical units.\n\nMultipath policy configuration is only possible on storage devices\nprovided by the native multipathing plug-store plugin. Storage devices\nusing the native multipathing storage plugin will have an entry\nin this data object. Storage devices provided by a different\nstorage plugin will not appear in the inventory represented by\nthis data object.\n\nLegacy note: In hosts where *HostMultipathStateInfo* is not\ndefined or does not exist on the *HostStorageDeviceInfo* object,\nonly native multipathing exists. That means for these hosts, the\nMultipathInfo object contains the complete set of LUNs and paths on the LUNs\navailable on the host.\n",
        "properties": {
          "lun": {
            "description": "List of logical units that can be configured for multipathing.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathInfoLogicalUnit"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMultipathInfo": {
        "type": "object",
        "description": "A boxed array of *HostMultipathInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMultipathInfoFixedLogicalUnitPolicy": {
        "type": "object",
        "description": "The *HostMultipathInfoFixedLogicalUnitPolicy* data object\ndescribes a multipathing policy for a logical unit which uses\na preferred path whenever possible.\n",
        "properties": {
          "prefer": {
            "description": "Preferred path used for the **fixed** policy.\n",
            "type": "string"
          }
        },
        "required": [
          "prefer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostMultipathInfoLogicalUnitPolicy"
          }
        ]
      },
      "ArrayOfHostMultipathInfoFixedLogicalUnitPolicy": {
        "type": "object",
        "description": "A boxed array of *HostMultipathInfoFixedLogicalUnitPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathInfoFixedLogicalUnitPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMultipathInfoHppLogicalUnitPolicy": {
        "type": "object",
        "description": "The *HostMultipathInfoHppLogicalUnitPolicy* data object\ndescribes a multipathing policy for a HPP claimed logical unit and\nits configuration.\n",
        "properties": {
          "bytes": {
            "description": "Byte count on the paths will be used as criteria to switch path\nfor the device.\n\nAllowed values 1 to (100\\*1024\\*1024)\nDefault Value 10\\*1024\\*1024\n",
            "type": "integer",
            "format": "int64"
          },
          "iops": {
            "description": "IOPS count on the paths will be used as criteria to switch path\nfor the device.\n\nAllowed values 1 to 10000\nDefault Value 1000\n",
            "type": "integer",
            "format": "int64"
          },
          "path": {
            "description": "The preferred path for the given device.\n\nIf no prefered path is specified by the user, algorithem at ESX\nside will choose the random possible path.\n",
            "type": "string"
          },
          "latencyEvalTime": {
            "description": "This value can control at what interval (in ms) the latency of\npaths should be evaluated.\n\nAllowed values 10000 to (300 \\* 1000) in ms\nDefault Value 30 \\* 1000\n",
            "type": "integer",
            "format": "int64"
          },
          "samplingIosPerPath": {
            "description": "This value will control how many sample IOs should be issued on\neach path to calculate latency of the path.\n\nAllowed values 16 to 160\nDefault Value 16\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostMultipathInfoLogicalUnitPolicy"
          }
        ]
      },
      "ArrayOfHostMultipathInfoHppLogicalUnitPolicy": {
        "type": "object",
        "description": "A boxed array of *HostMultipathInfoHppLogicalUnitPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathInfoHppLogicalUnitPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMultipathInfoLogicalUnit": {
        "type": "object",
        "description": "The *HostMultipathInfoLogicalUnit* data object\nrepresents a storage entity that provides disk blocks to a host.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          },
          "id": {
            "description": "Identifier of LogicalUnit.\n\nUse this id to configure LogicalUnit multipathing policy using *HostStorageSystem.SetMultipathLunPolicy*.\n",
            "type": "string"
          },
          "lun": {
            "description": "SCSI device corresponding to logical unit.\n",
            "$ref": "#/components/schemas/ScsiLun"
          },
          "path": {
            "description": "Array of paths available to access this LogicalUnit.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathInfoPath"
            }
          },
          "policy": {
            "description": "Policy that the logical unit should use when selecting a path.\n",
            "$ref": "#/components/schemas/HostMultipathInfoLogicalUnitPolicy"
          },
          "storageArrayTypePolicy": {
            "description": "Policy used to determine how a storage device is accessed.\n\nThis policy\nis currently immutable.\n",
            "$ref": "#/components/schemas/HostMultipathInfoLogicalUnitStorageArrayTypePolicy"
          }
        },
        "required": [
          "key",
          "id",
          "lun",
          "path",
          "policy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMultipathInfoLogicalUnit": {
        "type": "object",
        "description": "A boxed array of *HostMultipathInfoLogicalUnit*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathInfoLogicalUnit"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMultipathInfoLogicalUnitPolicy": {
        "type": "object",
        "description": "The *HostMultipathInfoLogicalUnitPolicy* data object\ndescribes a path selection policy for a device.\n\nThis policy determines\nhow paths should be utilized when accessing a device.\n",
        "properties": {
          "policy": {
            "description": "String representing the path selection policy for a device.\n\nUse one of the following\nstrings:\nFor NMP plugin\n- <code>VMW\\_PSP\\_FIXED</code> - Use a preferred path whenever possible.\n- <code>VMW\\_PSP\\_RR</code> - Load balance.\n- <code>VMW\\_PSP\\_MRU</code> - Use the most recently used path.\n  \nFor HPP plugin\n- <code>FIXED</code> - Use a preferred path whenever possible.\n- <code>LB-RR</code> - Load Balance - round robin.\n- <code>LB-IOPS</code> - Load Balance - iops.\n- <code>LB-BYTES</code> - Load Balance - bytes.\n- <code>LB--Latency</code> - Load balance - least latency.\n  \nYou can also use the\n*HostStorageSystem.QueryPathSelectionPolicyOptions* method\nto retrieve the set of valid strings.\nUse the key from the resulting structure\n*HostPathSelectionPolicyOption*.\n",
            "type": "string"
          }
        },
        "required": [
          "policy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMultipathInfoLogicalUnitPolicy": {
        "type": "object",
        "description": "A boxed array of *HostMultipathInfoLogicalUnitPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathInfoLogicalUnitPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMultipathInfoLogicalUnitStorageArrayTypePolicy": {
        "type": "object",
        "description": "The *HostMultipathInfoLogicalUnitStorageArrayTypePolicy*\ndata object describes a storage array type policy for\nfor a device.\n\nThis policy determines how device I/O and management\nis performed.\n",
        "properties": {
          "policy": {
            "description": "String indicating the storage array type policy.\n",
            "type": "string"
          }
        },
        "required": [
          "policy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMultipathInfoLogicalUnitStorageArrayTypePolicy": {
        "type": "object",
        "description": "A boxed array of *HostMultipathInfoLogicalUnitStorageArrayTypePolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathInfoLogicalUnitStorageArrayTypePolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMultipathInfoPath": {
        "type": "object",
        "description": "The *HostMultipathInfoPath* data object\nis a storage entity that represents a topological path from a\nhost bus adapter to a SCSI logical unit.\n\nEach path is unique although each\nhost bus adapter/SCSI logical unit pair can have multiple paths.\n\nPath objects are identified by a key. The specifics of how\nthe key is formatted are dependent on the implementation. Example\nimplementations include using strings like \"vmhba1:0:0:0\".\n",
        "properties": {
          "key": {
            "description": "Identifier of the path.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of path.\n\nUse this name to configure LogicalUnit multipathing policy using *HostStorageSystem.EnableMultipathPath* and *HostStorageSystem.DisableMultipathPath*.\n",
            "type": "string"
          },
          "pathState": {
            "deprecated": true,
            "description": "Deprecated as of VI API 4.0:\n- System reported path states are available in *HostMultipathInfoPath.state*.\n- Paths slated for I/O can be found using *HostMultipathInfoPath.isWorkingPath*.\n\nState of the path.\n\nMust be one of the values of\n*MultipathState_enum*\n<dl>\n<dt>active</dt>\n<dd>Path can be used for I/O and is currently a working path.</dd>\n<dt>standby</dt>\n<dd>Path can be used for I/O but is not a working path or can be\nused if active paths fail.</dd>\n<dt>disabled</dt>\n<dd>Path has been administratively disabled.</dd>\n<dt>dead</dt>\n<dd>Path cannot be used for I/O.</dd>\n<dt>unknown</dt>\n<dd>Path is in unknown error state.</dd>\n</dl>\n",
            "type": "string"
          },
          "state": {
            "description": "System-reported state of the path.\n\nMust be one of the values of\n*MultipathState_enum*\n<dl>\n<dt>active</dt>\n<dd>Path can be used for I/O.</dd>\n<dt>standby</dt>\n<dd>Path can be used for I/O if active paths fail.</dd>\n<dt>disabled</dt>\n<dd>Path has been administratively disabled.</dd>\n<dt>dead</dt>\n<dd>Path cannot be used for I/O.</dd>\n<dt>unknown</dt>\n<dd>Path is in unknown error state.</dd>\n</dl>\n",
            "type": "string"
          },
          "isWorkingPath": {
            "description": "A path, managed by a given path selection policy(psp) plugin, is\ndenoted to be a Working Path if the psp plugin is likely to select the\npath for performing I/O in the near future.\n",
            "type": "boolean"
          },
          "adapter": {
            "description": "The host bus adapter at one endpoint of this path.\n",
            "$ref": "#/components/schemas/HostHostBusAdapter"
          },
          "lun": {
            "description": "The logical unit at one endpoint of this path.\n",
            "$ref": "#/components/schemas/HostMultipathInfoLogicalUnit"
          },
          "transport": {
            "description": "Transport information for the target end of the path.\n",
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        },
        "required": [
          "key",
          "name",
          "pathState",
          "adapter",
          "lun"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMultipathInfoPath": {
        "type": "object",
        "description": "A boxed array of *HostMultipathInfoPath*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathInfoPath"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMultipathStateInfo": {
        "type": "object",
        "description": "This data object type describes the state of storage paths on the host.\n\nAll storage paths on the host are enumerated in this data object.\n\nThe reason all path state information is encapsulated in this data\nobject is because the path may actively change. This data object\nensures that a request to gather path state changes only needs to\nfetch this data object.\n",
        "properties": {
          "path": {
            "description": "List of paths on the system and their path states.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathStateInfoPath"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMultipathStateInfo": {
        "type": "object",
        "description": "A boxed array of *HostMultipathStateInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathStateInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMultipathStateInfoPath": {
        "type": "object",
        "description": "Data object indicating state of storage path for a named path.\n",
        "properties": {
          "name": {
            "description": "Name of path.\n\nUse this name to enable or disable storage paths *HostStorageSystem.EnableMultipathPath* and *HostStorageSystem.DisableMultipathPath*.\n\nIn addition to being the identifier for the path state\noperations, the name is used to correlate this object to the\ncorresponding Path object in other contexts.\n\nSee also *HostPlugStoreTopologyPath.name*.\n",
            "type": "string"
          },
          "pathState": {
            "description": "The state of the path.\n\nMust be one of the values of\n*MultipathState_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "pathState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostMultipathStateInfoPath": {
        "type": "object",
        "description": "A boxed array of *HostMultipathStateInfoPath*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMultipathStateInfoPath"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NasDatastoreInfo": {
        "type": "object",
        "description": "Information details about a network-attached storage\n(NAS) datastore.\n",
        "properties": {
          "nas": {
            "description": "The NFS mount information for the datastore.\n\nMay not\nbe available when the datastore is not accessible.\n",
            "$ref": "#/components/schemas/HostNasVolume"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreInfo"
          }
        ]
      },
      "ArrayOfNasDatastoreInfo": {
        "type": "object",
        "description": "A boxed array of *NasDatastoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NasDatastoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNasVolume": {
        "type": "object",
        "properties": {
          "remoteHost": {
            "description": "The host that runs the NFS/CIFS server.\n\nClients must plan to use remoteHostNames for both NFS v3\nas well as NFS v4.1 because this field remoteHost may be\ndeprecated in future.\n",
            "type": "string"
          },
          "remotePath": {
            "description": "The remote path of NFS/CIFS mount point.\n",
            "type": "string"
          },
          "userName": {
            "description": "In case of CIFS, the user name used while connecting to the server.\n",
            "type": "string"
          },
          "remoteHostNames": {
            "description": "This field will hold host names (or ip addresses) of all\nremote hosts configured for the datastore.\n\nIn case of NFS v3 it will have one hostname which will be\nthe same value as in remoteHost defined above.\nIn case of NFS v4.1 if the NFS Client detects additional\nhostnames or ip addresses during its negotiations with the\nNFS server, those additional host names (connections) will be\nadded to this list after the datastore is created.\nAddition of hostnames to this list is limited to MDS server host names\nor the IP addresses. In other words, the Data Server host names IP addresses\nwill not be appended to this list.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "securityType": {
            "description": "Security type the volume is currently using.\n\nSee *HostNasVolumeSecurityType_enum*\n",
            "type": "string"
          },
          "protocolEndpoint": {
            "description": "Indicates that this NAS volume is protocol endpoint.\n\nThis\nproperty will be populated if and only if host supports\nVirtualVolume based Datastore. Check the host capability\n*HostCapability.virtualVolumeDatastoreSupported*.\nSee *HostProtocolEndpoint*.\n",
            "type": "boolean"
          }
        },
        "required": [
          "remoteHost",
          "remotePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostFileSystemVolume"
          }
        ]
      },
      "ArrayOfHostNasVolume": {
        "type": "object",
        "description": "A boxed array of *HostNasVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNasVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNasVolumeConfig": {
        "type": "object",
        "description": "This describes the NAS Volume configuration containing\nthe configurable properties on a NAS Volume\n",
        "properties": {
          "changeOperation": {
            "description": "Indicates the change operation to apply on this configuration\nspecification.\n\nSee also *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          },
          "spec": {
            "description": "The specification volume.\n",
            "$ref": "#/components/schemas/HostNasVolumeSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNasVolumeConfig": {
        "type": "object",
        "description": "A boxed array of *HostNasVolumeConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNasVolumeConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNasVolumeSpec": {
        "type": "object",
        "description": "Specification for creating NAS volume.\n\nWhen mounting a NAS volume on multiple hosts, the same remoteHost and remotePath\nvalues should be used on every host, otherwise it will be treated as different\ndatastores. For example, if one host references the remotePath of a NAS volume\nas \"/mnt/mount1\" and another references it as \"/mnt/mount1/\", it will not be\nrecognized as the same datastore.\n",
        "properties": {
          "remoteHost": {
            "description": "The host that runs the NFS v3 or CIFS server.\n\nFor NFS v4.1\nand beyond use remoteHostNames defined later. The field remotehost\nmay be deprecated in future for NFS, so clients should plan to use the\nproperty remoteHostNames to send in the host name(s) for both NFS v3\nand v4.1\n",
            "type": "string"
          },
          "remotePath": {
            "description": "The remote path of the NFS mount point.\n",
            "type": "string"
          },
          "localPath": {
            "description": "The localPath refers to the name of the NAS datastore to be created\nusing this specification.\n\nIn the case of ESX Server, the datastore name is a component in the\nfile system path at which the NAS volume can be found. For example,\nif localPath is set to \"nas\\_volume\" the created NAS datastore will be\nnamed \"nas\\_volume\" and it can be accessed via the file system path\n\"/vmfs/volumes/nas\\_volume\".\n\nIn the case of VMware Server, the localPath will also be used as the\ndatastore name, but the datastore name may not necessarily be\nreflected in the file system path where the NAS volume may be\naccessed.\n",
            "type": "string"
          },
          "accessMode": {
            "description": "Access mode for the mount point.\n\nMounting in read-write mode would be successful irregardless on\nhow the mount point is exported or access permissions. For\nexample, mounting a volume that is exported as read-only as\nreadWrite will succeed. Hence, that a readWrite mount succeeds\nshould not be taken as an indication that all files on a mount\nis writable.\n\nIf a file system is mounted readOnly, the system cannot create\nor modify any files on the file system. This is mostly useful\nfor storing ISO images and templates, since a virtual machine\ncannot be powered on from a readOnly volume.\n\nThe access mode of a mounted NFS volume can be obtained at\n*HostMountInfo.accessMode*.\n\nSee also *HostMountMode_enum*.\n",
            "type": "string"
          },
          "type": {
            "description": "Specifies the type of the the NAS volume.\n\nSupported types are\n*CIFS*,\n*NFS*,\n*NFS41*\nIf not specified, defaults to\n*NFS*\n",
            "type": "string"
          },
          "userName": {
            "description": "If type is CIFS, the user name to use when connecting to the\nCIFS server.\n\nIf type is NFS, this field will be ignored.\n",
            "type": "string"
          },
          "password": {
            "description": "If type is CIFS, the password to use when connecting to the\nCIFS server.\n\nIf type is NFS, this field will be ignored.\n",
            "type": "string",
            "format": "password"
          },
          "remoteHostNames": {
            "description": "Hostnames or IP addresses of remote NFS server.\n\nIn case\nof NFS v4.1 this may have multiple entries. For NFS v3 the\ninput should be same in both remoteHost and remoteHostNames.\nIn case of NFS v4.1, if vmknic binding is enabled,\nthen input can be in format {hostip1:vmknic1, hostip2:vmknic2}.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "securityType": {
            "description": "Provided during mount indicating what security type,\nif any, to use\nSee *HostNasVolumeSecurityType_enum*\n",
            "type": "string"
          },
          "vmknicToBind": {
            "description": "Name of the vmknic to be used by this mount.\n\nThis field will be updated by a client with vmknic that will be used\nfor NAS volume mount operation for vmknic binding for NFSv3\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "string"
          },
          "vmknicBound": {
            "description": "Indicates whether a client wants to bind this mount to vmknic.\n\nThis field will be set to true by a client if vmknic should bind\nduring NAS volume mount operation for NFSv3\nelse it will be set to false\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          },
          "connections": {
            "description": "Indicates the number of TCP connections for the particular\nNFSv3 Server during NAS volume mount operation.\n\nIf unset or set to 0, it defaults to one connection\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "remoteHost",
          "remotePath",
          "localPath",
          "accessMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNasVolumeSpec": {
        "type": "object",
        "description": "A boxed array of *HostNasVolumeSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNasVolumeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNasVolumeUserInfo": {
        "type": "object",
        "description": "NFS user authentication information\n",
        "properties": {
          "user": {
            "description": "User name for authentication.\n",
            "type": "string"
          }
        },
        "required": [
          "user"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNasVolumeUserInfo": {
        "type": "object",
        "description": "A boxed array of *HostNasVolumeUserInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNasVolumeUserInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNatService": {
        "type": "object",
        "description": "A network address translation (NAT) service instance provides\nfirewall and network address translation services for a virtual\nnetwork.\n",
        "properties": {
          "key": {
            "description": "The instance ID of the NAT service.\n",
            "type": "string"
          },
          "spec": {
            "description": "The configurable properties for the NatService object.\n",
            "$ref": "#/components/schemas/HostNatServiceSpec"
          }
        },
        "required": [
          "key",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNatService": {
        "type": "object",
        "description": "A boxed array of *HostNatService*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNatService"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNatServiceConfig": {
        "type": "object",
        "description": "This data object type describes the network address\ntranslation (NAT) service configuration\nrepresenting both the configured properties\non a NAT Service and identification information.\n",
        "properties": {
          "changeOperation": {
            "description": "Indicates the change operation to apply on this configuration\nspecification.\n\nSee also *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          },
          "key": {
            "description": "The instance ID of the NAT service.\n",
            "type": "string"
          },
          "spec": {
            "description": "The specification of the NAT service.\n",
            "$ref": "#/components/schemas/HostNatServiceSpec"
          }
        },
        "required": [
          "key",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNatServiceConfig": {
        "type": "object",
        "description": "A boxed array of *HostNatServiceConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNatServiceConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNatServiceNameServiceSpec": {
        "type": "object",
        "description": "This data object type specifies the information for the\nname servers.\n",
        "properties": {
          "dnsAutoDetect": {
            "description": "The flag to indicate whether or not the DNS server should\nbe automatically detected or specified explicitly.\n",
            "type": "boolean"
          },
          "dnsPolicy": {
            "description": "The policy to use when multiple DNS addresses are available\non the host.\n",
            "type": "string"
          },
          "dnsRetries": {
            "description": "The number of retries before giving up on a DNS request\nfrom a virtual network.\n",
            "type": "integer",
            "format": "int32"
          },
          "dnsTimeout": {
            "description": "The time (in seconds) before retrying a DNS request to an external\nnetwork.\n",
            "type": "integer",
            "format": "int32"
          },
          "dnsNameServer": {
            "description": "The list of DNS servers.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "nbdsTimeout": {
            "description": "The time (in seconds) allotted for queries to the NetBIOS\nDatagram Server (NBDS).\n",
            "type": "integer",
            "format": "int32"
          },
          "nbnsRetries": {
            "description": "Number of retries for each query to the NBNS.\n",
            "type": "integer",
            "format": "int32"
          },
          "nbnsTimeout": {
            "description": "The time (in seconds) allotted for queries to the NBNS.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "dnsAutoDetect",
          "dnsPolicy",
          "dnsRetries",
          "dnsTimeout",
          "nbdsTimeout",
          "nbnsRetries",
          "nbnsTimeout"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNatServiceNameServiceSpec": {
        "type": "object",
        "description": "A boxed array of *HostNatServiceNameServiceSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNatServiceNameServiceSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNatServicePortForwardSpec": {
        "type": "object",
        "description": "This data object type describes the\nNetwork Address Translation (NAT) port forwarding specification.\n",
        "properties": {
          "type": {
            "description": "Either \"tcp\" or \"udp\".\n",
            "type": "string"
          },
          "name": {
            "description": "The user-defined name to identify the service being forwarded.\n\nNo white spaces are allowed in the string.\n",
            "type": "string"
          },
          "hostPort": {
            "description": "The port number on the host.\n\nNetwork traffic sent to the host on this\nTCP/UDP port is forwarded to the guest at the specified IP address\nand port.\n",
            "type": "integer",
            "format": "int32"
          },
          "guestPort": {
            "description": "The port number for the guest.\n\nNetwork traffic from the host is\nforwarded to this port.\n",
            "type": "integer",
            "format": "int32"
          },
          "guestIpAddress": {
            "description": "The IP address for the guest.\n\nNetwork traffic from the host is\nforwarded to this IP address.\n",
            "type": "string"
          }
        },
        "required": [
          "type",
          "name",
          "hostPort",
          "guestPort",
          "guestIpAddress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNatServicePortForwardSpec": {
        "type": "object",
        "description": "A boxed array of *HostNatServicePortForwardSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNatServicePortForwardSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNatServiceSpec": {
        "type": "object",
        "description": "This data object type provides the details about the\nNetwork Address Translation (NAT) service.\n",
        "properties": {
          "virtualSwitch": {
            "description": "The name of the virtual switch to which nat service is connected.\n",
            "type": "string"
          },
          "activeFtp": {
            "description": "The flag to indicate whether or not non-passive mode FTP\nconnections should be allowed.\n",
            "type": "boolean"
          },
          "allowAnyOui": {
            "description": "The flag to indicate whether or not the NAT\nService allows media access control traffic from any\nOrganizational Unique Identifier (OUI)?\nBy default, it does not allow traffic that originated\nfrom the host to avoid packet loops.\n",
            "type": "boolean"
          },
          "configPort": {
            "description": "The flag to indicate whether or not the NAT Service\nshould open a configuration port.\n",
            "type": "boolean"
          },
          "ipGatewayAddress": {
            "description": "The IP address that the NAT Service should use on\nthe virtual network.\n",
            "type": "string"
          },
          "udpTimeout": {
            "description": "The time allotted for UDP packets.\n",
            "type": "integer",
            "format": "int32"
          },
          "portForward": {
            "description": "The port forwarding specifications to allow network\nconnections to be initiated from outside the firewall.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNatServicePortForwardSpec"
            }
          },
          "nameService": {
            "description": "The configuration of naming services.\n\nThese parameters are\nspecific to Windows.\n",
            "$ref": "#/components/schemas/HostNatServiceNameServiceSpec"
          }
        },
        "required": [
          "virtualSwitch",
          "activeFtp",
          "allowAnyOui",
          "configPort",
          "ipGatewayAddress",
          "udpTimeout"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNatServiceSpec": {
        "type": "object",
        "description": "A boxed array of *HostNatServiceSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNatServiceSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetCapabilities": {
        "type": "object",
        "description": "Capability vector indicating the available product features.\n",
        "properties": {
          "canSetPhysicalNicLinkSpeed": {
            "description": "The flag to indicate whether or not a physical network\nadapter's link speed and duplex settings can be changed through\nthis API.\n\nFor a hosted product, the host uses its physical network\nadapters for network connectivity. Configuration of link speed is\ndone through regular host operations. In ESX Server, the configuration\ncan be changed through this API.\n",
            "type": "boolean"
          },
          "supportsNicTeaming": {
            "description": "The flag to indicate whether or not network adapter teaming is\navailable.\n\nMultiple network adapters can be bridged to a\nvirtual switch through a BondBridge. Also, network adapter teaming\npolicies such as failover order and detection are enabled.\n",
            "type": "boolean"
          },
          "nicTeamingPolicy": {
            "description": "The available teaming policies if the platform supports network\nadapter teaming.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supportsVlan": {
            "description": "The flag to indicate whether or not VLANs can be configured on\nPortGroups attached to VirtualSwitch objects.\n\nThis allows VLANs for virtual machines without requiring special VLAN\ncapable hardware switches.\n",
            "type": "boolean"
          },
          "usesServiceConsoleNic": {
            "description": "The flag to indicate whether or not a service\nconsole network adapter\nis used or required.\n\nThis means that the system\nsoftware has two TCP/IP stacks. As a result, at least two types of\nVirtualNics may be created -- the normal VirtualNic and the service\nconsole VirtualNic. If this is not set, then only the VirtualNic type is\nsupported.\n",
            "type": "boolean"
          },
          "supportsNetworkHints": {
            "description": "The flag to indicate whether or not the host is able\nto support\nthe querying of network hints.\n",
            "type": "boolean"
          },
          "maxPortGroupsPerVswitch": {
            "description": "The maximum number of port groups supported per virtual switch.\n\nThis property will not be set if this value is unlimited.\n",
            "type": "integer",
            "format": "int32"
          },
          "vswitchConfigSupported": {
            "description": "The flag to indicate whether virtual switch configuration is\nsupported.\n\nThis means that operations to add, remove, update virtual\nswitches are supported.\n",
            "type": "boolean"
          },
          "vnicConfigSupported": {
            "description": "The flag to indicate whether Virtual NIC configuration is supported.\n\nThis means that operations to add, remove, update virtualNic are\nsupported.\n",
            "type": "boolean"
          },
          "ipRouteConfigSupported": {
            "description": "The flag to indicate whether ip route configuration for the host\nis supported.\n",
            "type": "boolean"
          },
          "dnsConfigSupported": {
            "description": "The flag to indicate whether DNS configuration for the host is\nsupported.\n",
            "type": "boolean"
          },
          "dhcpOnVnicSupported": {
            "description": "This flag indicates whether or not the host is able to support\ndhcp configuration for vnics.\n",
            "type": "boolean"
          },
          "ipV6Supported": {
            "description": "The flag to indicate whether the host is capable of communicating\nusing ipv6 protocol\n",
            "type": "boolean"
          },
          "backupNfcNiocSupported": {
            "description": "The flag to indicate whether the host supports Backup NFC NIOC system\ntraffic, Unset means Backup NFC NIOC system traffic is not supported.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "canSetPhysicalNicLinkSpeed",
          "supportsNicTeaming",
          "supportsVlan",
          "usesServiceConsoleNic",
          "supportsNetworkHints",
          "vswitchConfigSupported",
          "vnicConfigSupported",
          "ipRouteConfigSupported",
          "dnsConfigSupported",
          "dhcpOnVnicSupported",
          "ipV6Supported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetCapabilities": {
        "type": "object",
        "description": "A boxed array of *HostNetCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetOffloadCapabilities": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of VI API 4.0, the system defaults will be used.\n\nOffload capabilities are used to optimize virtual machine network\nperformance.\n\nWhen a virtual machine is transmitting on a network,\nsome operations can be offloaded either to the host or to physical\nhardware. This data object type defines the set of offload capabilities\nthat may be available on a host.\n\nThis data object type is used both to publish the list of offload capabilities\nand to contain offload capability policy settings. The network\npolicy logic is built on a two-level inheritance scheme which\nrequires that all settings be optional. As a result, all properties\non the NetOffloadCapabilities object must be optional.\n\nSee also *HostNetworkPolicy*.\n",
        "properties": {
          "csumOffload": {
            "description": "(Optional) The flag to indicate whether or not checksum\noffloading is supported.\n",
            "type": "boolean"
          },
          "tcpSegmentation": {
            "description": "(Optional) The flag to indicate whether or not TCP segmentation\noffloading (TSO) is supported.\n",
            "type": "boolean"
          },
          "zeroCopyXmit": {
            "description": "(Optional) The flag to indicate whether or not zero copy\ntransmits are supported.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetOffloadCapabilities": {
        "type": "object",
        "description": "A boxed array of *HostNetOffloadCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetOffloadCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetStackInstance": {
        "type": "object",
        "description": "This class describes Network Stack Instance configuration\n",
        "properties": {
          "key": {
            "description": "Key of instance\nFor instance which created by host, its value should be *HostNetStackInstanceSystemStackKey_enum*.\n",
            "type": "string"
          },
          "name": {
            "description": "The display name\n",
            "type": "string"
          },
          "dnsConfig": {
            "description": "DNS configuration\n",
            "$ref": "#/components/schemas/HostDnsConfig"
          },
          "ipRouteConfig": {
            "description": "IP Route configuration\n",
            "$ref": "#/components/schemas/HostIpRouteConfig"
          },
          "requestedMaxNumberOfConnections": {
            "description": "The maximum number of socket connection that are requested on this instance\n",
            "type": "integer",
            "format": "int32"
          },
          "congestionControlAlgorithm": {
            "description": "The TCP congest control algorithm used by this instance,\nSee *HostNetStackInstanceCongestionControlAlgorithmType_enum* for valid values.\n",
            "type": "string"
          },
          "ipV6Enabled": {
            "description": "Enable or disable IPv6 protocol on this stack instance.\n\nThis property is not supported currently.\n",
            "type": "boolean"
          },
          "routeTableConfig": {
            "$ref": "#/components/schemas/HostIpRouteTableConfig"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetStackInstance": {
        "type": "object",
        "description": "A boxed array of *HostNetStackInstance*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetStackInstance"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetworkConfig": {
        "type": "object",
        "description": "This data object type describes networking host configuration data objects.\n\nThese objects contain only the configuration information for networking.\nThe runtime information is available from the\n*NetworkInfo* data object type.\n\nSee also *HostNetworkInfo*.\n",
        "properties": {
          "vswitch": {
            "description": "Virtual switches configured on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitchConfig"
            }
          },
          "proxySwitch": {
            "description": "Host proxy switches configured on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProxySwitchConfig"
            }
          },
          "portgroup": {
            "description": "Port groups configured on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroupConfig"
            }
          },
          "pnic": {
            "description": "Physical network adapters as seen by the primary operating system.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicConfig"
            }
          },
          "vnic": {
            "description": "Virtual network adapters configured for use by the host\noperating system network adapter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicConfig"
            }
          },
          "consoleVnic": {
            "description": "Virtual network adapters configured for use by the Service\nConsole.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicConfig"
            }
          },
          "dnsConfig": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5, which is moved to\nthe default NetStackInstance.\n\nClient-side DNS configuration for the host.\n\nThe DNS configuration is\nglobal to the entire host.\n",
            "$ref": "#/components/schemas/HostDnsConfig"
          },
          "ipRouteConfig": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5, which is moved to\nthe default NetStackInstance.\n\nIP route configuration of the host.\n",
            "$ref": "#/components/schemas/HostIpRouteConfig"
          },
          "consoleIpRouteConfig": {
            "description": "IP route configuration of the service console.\n",
            "$ref": "#/components/schemas/HostIpRouteConfig"
          },
          "routeTableConfig": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5, which is moved to\nthe default NetStackInstance.\n\nIP routing table configuration of the host.\n",
            "$ref": "#/components/schemas/HostIpRouteTableConfig"
          },
          "dhcp": {
            "description": "Dynamic Host Control Protocol (DHCP) Service instances configured\non the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDhcpServiceConfig"
            }
          },
          "nat": {
            "description": "Network address translation (NAT) Service instances configured\non the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNatServiceConfig"
            }
          },
          "ipV6Enabled": {
            "description": "Enable or disable IPv6 protocol on this system.\n\nThis property must be set by itself, no other property can accompany\nthis change. Following the successful change, the system should be rebooted to\nhave the change take effect.\n",
            "type": "boolean"
          },
          "netStackSpec": {
            "description": "The list of network stack instance spec\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetworkConfigNetStackSpec"
            }
          },
          "migrationStatus": {
            "description": "Current status of NVDS to VDS migration.\n\nSee *HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum*\nfor supported values.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetworkConfig": {
        "type": "object",
        "description": "A boxed array of *HostNetworkConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetworkConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetworkConfigNetStackSpec": {
        "type": "object",
        "description": "This data type describes Network Stack Spec\n",
        "properties": {
          "netStackInstance": {
            "description": "Network stack instance\n",
            "$ref": "#/components/schemas/HostNetStackInstance"
          },
          "operation": {
            "description": "Operation type, see\n*ConfigSpecOperation_enum* for valid values.\n\nOnly edit operation is supported currently.\n",
            "type": "string"
          }
        },
        "required": [
          "netStackInstance"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetworkConfigNetStackSpec": {
        "type": "object",
        "description": "A boxed array of *HostNetworkConfigNetStackSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetworkConfigNetStackSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetworkConfigResult": {
        "type": "object",
        "description": "The result returned by updateNetworkConfig call.\n\nSee also *HostNetworkSystem.UpdateNetworkConfig*.\n",
        "properties": {
          "vnicDevice": {
            "description": "Virtual network adapter keys.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "consoleVnicDevice": {
            "description": "Service console virtual network adapter keys.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetworkConfigResult": {
        "type": "object",
        "description": "A boxed array of *HostNetworkConfigResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetworkConfigResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetworkInfo": {
        "type": "object",
        "description": "This data object type describes networking host\nconfiguration data objects.\n",
        "properties": {
          "vswitch": {
            "description": "Virtual switches configured on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitch"
            }
          },
          "proxySwitch": {
            "description": "Proxy switches configured on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProxySwitch"
            }
          },
          "portgroup": {
            "description": "Port groups configured on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroup"
            }
          },
          "pnic": {
            "description": "Physical network adapters as seen by the primary operating system.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNic"
            }
          },
          "rdmaDevice": {
            "description": "Remote direct memory access devices, if any are present on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRdmaDevice"
            }
          },
          "vnic": {
            "description": "Virtual network adapters configured on the host (hosted products)\nor the vmkernel.\n\nIn the hosted architecture, these network adapters are used by the\nhost to\ncommunicate with the virtual machines running on that host. In the\nVMkernel architecture, these virtual network adapters provide the\nESX Server with\nexternal network access through a virtual switch that is bridged to a\nphysical network adapter. The VMkernel uses these network adapters\nfor features such as VMotion, NAS, iSCSI, and remote MKS connections.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNic"
            }
          },
          "consoleVnic": {
            "description": "Virtual network adapters configured for use by the service console.\n\nThe service\nconsole uses this network access for system management and bootstrapping\nservices like network boot.\nThe two sets of virtual network adapters are mutually exclusive.\nA virtual network adapter\nin this list cannot be used for things like VMotion. Likewise, a\nvirtual network adapter in the other list cannot be used by the\nservice console.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNic"
            }
          },
          "dnsConfig": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5, which is moved to\neach NetStackInstance. For this property in NetworkInfo,\nGet operation will only return its value of default NetStackInstance.\n\nClient-side DNS configuration.\n",
            "$ref": "#/components/schemas/HostDnsConfig"
          },
          "ipRouteConfig": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5, which is moved to\neach NetStackInstance. For this property in NetworkInfo,\nGet operation will only return its value of default NetStackInstance.\n\nIP route configuration.\n",
            "$ref": "#/components/schemas/HostIpRouteConfig"
          },
          "consoleIpRouteConfig": {
            "description": "IP route configuration of the service console.\n",
            "$ref": "#/components/schemas/HostIpRouteConfig"
          },
          "routeTableInfo": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5, which is moved to\neach NetStackInstance. For this property in NetworkInfo,\nGet operation will only return its value of default NetStackInstance.\n\nIP routing table\n",
            "$ref": "#/components/schemas/HostIpRouteTableInfo"
          },
          "dhcp": {
            "description": "DHCP Service instances configured on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDhcpService"
            }
          },
          "nat": {
            "description": "NAT service instances configured on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNatService"
            }
          },
          "ipV6Enabled": {
            "description": "Enable or disable IPv6 protocol on this system.\n",
            "type": "boolean"
          },
          "atBootIpV6Enabled": {
            "description": "If true then dual IPv4/IPv6 stack enabled else IPv4 only.\n",
            "type": "boolean"
          },
          "netStackInstance": {
            "description": "List of NetStackInstances\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetStackInstance"
            }
          },
          "opaqueSwitch": {
            "description": "List of opaque switches configured on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostOpaqueSwitch"
            }
          },
          "opaqueNetwork": {
            "description": "List of opaque networks\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostOpaqueNetworkInfo"
            }
          },
          "nsxTransportNodeId": {
            "description": "The nsx transport node Id\n",
            "type": "string"
          },
          "nvdsToVdsMigrationRequired": {
            "description": "Whether NSX N-VDS to VDS migration is required\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "migrationStatus": {
            "description": "Current status of NVDS to VDS migration.\n\nSee *HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum*\nfor supported values.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetworkInfo": {
        "type": "object",
        "description": "A boxed array of *HostNetworkInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetworkInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetworkPolicy": {
        "type": "object",
        "description": "This data object type describes network policies that can be configured for\nboth virtual switches and port groups.\n\nThe policy settings on the\nport group can inherit policy settings from their containing virtual\nswitch. These policy settings are inherited if\nthe settings on the port group are not set. Since every policy\nsetting on a port group is optional, every individual policy setting\ncan be inherited.\n\nBy contrast, if a host is capable of implementing a policy setting, every\nvirtual switch has some value assigned to the policy setting. In this\ncase, although all of the policy settings are optional,\nthey always have some value either by inheritance or by direct\nsetting.\n\nPolicy settings are organized into policy groups such as SecurityPolicy.\nPolicy groups are optional since it is possible that a host may not implement\nsuch policies. If a host does not support a policy group, the policy group\nis not set on both the virtual switches and the port groups.\n\nSee also *HostNetCapabilities*.\n",
        "properties": {
          "security": {
            "description": "The security policy governing ports on this virtual switch.\n",
            "$ref": "#/components/schemas/HostNetworkSecurityPolicy"
          },
          "nicTeaming": {
            "description": "The network adapter teaming policy.\n\nThe bridge must be BondBridge\nfor this property to be valid.\n",
            "$ref": "#/components/schemas/HostNicTeamingPolicy"
          },
          "offloadPolicy": {
            "deprecated": true,
            "description": "Deprecated as of VI API 4.0, the system defaults will be used.\n\nOffload capabilities are used to optimize virtual machine network\nperformance.\n\nWhen a virtual machine is transmitting on a network,\nsome operations can be offloaded to either the host or the physical\nhardware. This policy indicates what networking related operations\nshould be offloaded.\n\nAll virtual machines using this PortGroup are subject to this\npolicy. There is no setting for an individual virtual machine\nto determine if an operation should be offloaded.\n",
            "$ref": "#/components/schemas/HostNetOffloadCapabilities"
          },
          "shapingPolicy": {
            "description": "The traffic shaping policy.\n",
            "$ref": "#/components/schemas/HostNetworkTrafficShapingPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetworkPolicy": {
        "type": "object",
        "description": "A boxed array of *HostNetworkPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetworkPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNicFailureCriteria": {
        "type": "object",
        "description": "This data object type describes the network adapter failover\ndetection algorithm for a network adapter team.\n",
        "properties": {
          "checkSpeed": {
            "deprecated": true,
            "description": "Deprecated as of VI API 5.1, this property is not supported.\n\nTo use link speed as the criteria, _checkSpeed_ must be one of\nthe following values:\n- **exact**: Use exact speed to detect link failure.\n  **speed** is the configured exact speed in megabits per second.\n- **minimum**: Use minimum speed to detect failure.\n  **speed** is the configured minimum speed in megabits per second.\n- **empty string**: Do not use link speed to detect failure.\n  **speed** is unused in this case.\n",
            "type": "string"
          },
          "speed": {
            "deprecated": true,
            "description": "Deprecated as of VI API 5.1, this property is not supported.\n\nSpeed.\n\nSee also *HostNicFailureCriteria.checkSpeed*.\n",
            "type": "integer",
            "format": "int32"
          },
          "checkDuplex": {
            "deprecated": true,
            "description": "Deprecated as of VI API 5.1, this property is not supported.\n\nThe flag to indicate whether or not to use the link duplex reported\nby the driver as link selection criteria.\n\nIf **checkDuplex** is true, then fullDuplex is the configured\nduplex mode. The link is considered bad if the link duplex reported\nby driver is not the same as fullDuplex.\n\nIf **checkDuplex** is false, then fullDuplex is unused, and\nlink duplexity is not used as a detection method.\n",
            "type": "boolean"
          },
          "fullDuplex": {
            "deprecated": true,
            "description": "Deprecated as of VI API 5.1, this property is not supported.\n\nFull duplex.\n\nSee also *HostNicFailureCriteria.checkDuplex*.\n",
            "type": "boolean"
          },
          "checkErrorPercent": {
            "deprecated": true,
            "description": "Deprecated as of VI API 5.1, this property is not supported.\n\nThe flag to indicate whether or not to use link error percentage\nto detect failure.\n\nIf **checkErrorPercent** is true, then percentage is the configured\nerror percentage that is tolerated. The link is considered bad\nif error rate exceeds percentage.\n\nIf **checkErrorPercent** is false, percentage is unused, and\nerror percentage is not used as a detection method.\n",
            "type": "boolean"
          },
          "percentage": {
            "deprecated": true,
            "description": "Deprecated as of VI API 5.1, this property is not supported.\n\nPercentage.\n\nSee also *HostNicFailureCriteria.checkErrorPercent*.\n",
            "type": "integer",
            "format": "int32"
          },
          "checkBeacon": {
            "description": "The flag to indicate whether or not to enable this property to\nenable beacon probing as a method to validate\nthe link status of a physical network adapter.\n\n**checkBeacon** can be enabled only if the VirtualSwitch has been\nconfigured to use the beacon. Attempting to set **checkBeacon**\non a PortGroup or VirtualSwitch that does not have beacon probing\nconfigured for the applicable VirtualSwitch results in an error.\n\nSee also *HostVirtualSwitchBondBridge.beacon*, *HostVirtualSwitchBeaconConfig*.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNicFailureCriteria": {
        "type": "object",
        "description": "A boxed array of *HostNicFailureCriteria*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNicFailureCriteria"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNicOrderPolicy": {
        "type": "object",
        "description": "This data object type describes network adapter ordering policy for a\nnetwork adapter team.\n\nA physical network adapter can be in the active\nlist, the standby list, or neither. It cannot be in both lists.\nFor a virtual switch, the NicOrderPolicy property is never null when\nretrieved from the server. When creating a new virtual switch or\nupdating an existing virtual switch, the NicOrderPolicy can be null,\nin which case the default NicOrderPolicy from the server will be\nused.\nFor a portgroup, a null NicOrderPolicy property means the portgroup\ninherits the policy from its parent. Otherwise, the NicOrderPolicy\nproperty defined in the portgroup takes precedence.\nIn all cases where the NicOrderPolicy property is set, an empty\nactiveNic array means there are no active Ethernet adapters in the team. An\nempty standbyNic array means there are no standby Ethernet adapters.\n",
        "properties": {
          "activeNic": {
            "description": "List of active network adapters used for load balancing.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "standbyNic": {
            "description": "Standby network adapters used for failover.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNicOrderPolicy": {
        "type": "object",
        "description": "A boxed array of *HostNicOrderPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNicOrderPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNicTeamingPolicy": {
        "type": "object",
        "description": "Policy for a network adapter team.\n",
        "properties": {
          "policy": {
            "description": "Network adapter teaming policy includes failover and load balancing,\nIt can be one of the following:\n- **loadbalance\\_ip**: route based on ip hash.\n- **loadbalance\\_srcmac**: route based on source MAC hash.\n- **loadbalance\\_srcid**: route based on the source of the port ID.\n- **failover\\_explicit**: use explicit failover order.\n  \nSee also *HostNetCapabilities.nicTeamingPolicy*.\n",
            "type": "string"
          },
          "reversePolicy": {
            "deprecated": true,
            "description": "Deprecated as of VI API 5.1, the system default (true) will be used.\n\nThe flag to indicate whether or not the teaming policy is applied\nto inbound frames as well.\n\nFor example, if the policy is explicit failover, a broadcast request goes\nthrough uplink1 and comes back through uplink2. Then if the\nreverse policy is set, the frame is dropped when it is\nreceived from\nuplink2. This reverse policy is useful to prevent the virtual machine\nfrom getting reflections.\n",
            "type": "boolean"
          },
          "notifySwitches": {
            "description": "Flag to specify whether or not to notify the physical switch\nif a link fails.\n\nIf this property is true, ESX Server will\nrespond to the failure by sending a RARP packet from a different\nphysical adapter, causing the switch to update its cache.\n",
            "type": "boolean"
          },
          "rollingOrder": {
            "description": "The flag to indicate whether or not to use a rolling policy when\nrestoring links.\n\nFor example, assume the explicit link order is\n(vmnic9, vmnic0), therefore vmnic9 goes down, vmnic0 comes\nup. However, when vmnic9 comes backup, if rollingOrder is set\nto be true, vmnic0 continues to be used, otherwise, vmnic9\nis restored as specified in the explicitly order.\n",
            "type": "boolean"
          },
          "failureCriteria": {
            "description": "Failover detection policy for this network adapter team.\n\nThe bridge must be BondBridge for this property to be valid.\n",
            "$ref": "#/components/schemas/HostNicFailureCriteria"
          },
          "nicOrder": {
            "description": "Failover order policy for network adapters on this switch.\n\nThe bridge must be BondBridge for this property to be valid.\n",
            "$ref": "#/components/schemas/HostNicOrderPolicy"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNicTeamingPolicy": {
        "type": "object",
        "description": "A boxed array of *HostNicTeamingPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNicTeamingPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetworkSecurityPolicy": {
        "type": "object",
        "description": "This data object type describes security policy governing ports.\n",
        "properties": {
          "allowPromiscuous": {
            "description": "The flag to indicate whether or not all traffic is seen\non the port.\n",
            "type": "boolean"
          },
          "macChanges": {
            "description": "The flag to indicate whether or not the Media Access\nControl (MAC) address can be changed.\n",
            "type": "boolean"
          },
          "forgedTransmits": {
            "description": "The flag to indicate whether or not the virtual network adapter\nshould be allowed to send network traffic with a different MAC\naddress than that of the virtual network adapter.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetworkSecurityPolicy": {
        "type": "object",
        "description": "A boxed array of *HostNetworkSecurityPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetworkSecurityPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetworkTrafficShapingPolicy": {
        "type": "object",
        "description": "This data object type describes traffic shaping policy.\n",
        "properties": {
          "enabled": {
            "description": "The flag to indicate whether or not traffic shaper is enabled on\nthe port.\n",
            "type": "boolean"
          },
          "averageBandwidth": {
            "description": "The average bandwidth in bits per second if shaping is enabled on\nthe port.\n",
            "type": "integer",
            "format": "int64"
          },
          "peakBandwidth": {
            "description": "The peak bandwidth during bursts in bits per second if traffic\nshaping is enabled on the port.\n",
            "type": "integer",
            "format": "int64"
          },
          "burstSize": {
            "description": "The maximum burst size allowed in bytes if shaping is enabled on\nthe port.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetworkTrafficShapingPolicy": {
        "type": "object",
        "description": "A boxed array of *HostNetworkTrafficShapingPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetworkTrafficShapingPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNfcConnectionInfo": {
        "type": "object",
        "description": "NfcConnectionInfo contains information about an NFC connection on the host.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "streamingMemoryConsumed": {
            "description": "NFC streaming memory used by the connection in bytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDataTransportConnectionInfo"
          }
        ]
      },
      "ArrayOfHostNfcConnectionInfo": {
        "type": "object",
        "description": "A boxed array of *HostNfcConnectionInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNfcConnectionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNtpConfig": {
        "type": "object",
        "description": "Configuration information for the NTP (Network Time Protocol) service.\n",
        "properties": {
          "server": {
            "description": "List of time servers, specified as either IP addresses or\nfully qualified domain names (FQDNs).\n\nEach entry may optionally\nspecify one or more space separated 'server' ntp.conf command options.\nAny comments appended to an entry after a '#' will not be retained.\nTo reset any previously configured servers, submit an NtpConfig\nwithout the server or configFile property set to method\n*HostDateTimeSystem.UpdateDateTimeConfig*\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "configFile": {
            "description": "Content of ntp.conf host configuration file, split by lines for ntpd version 4.2.8.\n\nComment lines start with comment marker '#' as per ntp.conf are kept.\nWhen submitting a new ntp commands to this property via\n*HostDateTimeSystem.UpdateDateTimeConfig* method, any 'restrict'\nor 'drift' commands will be ignored as the those are set to fixed defaults.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNtpConfig": {
        "type": "object",
        "description": "A boxed array of *HostNtpConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNtpConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNumaInfo": {
        "type": "object",
        "description": "Information about NUMA (non-uniform memory access).\n",
        "properties": {
          "type": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1, this property is always\nset to \"NUMA\".\n\nThe type of NUMA technology.\n",
            "type": "string"
          },
          "numNodes": {
            "description": "The number of NUMA nodes on the host.\n\nThe value is 0 if the\nhost is not NUMA-capable.\n",
            "type": "integer",
            "format": "int32"
          },
          "numaNode": {
            "description": "Information about each of the NUMA nodes on the host.\n\nThe array is empty if the host is not NUMA-capable.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNumaNode"
            }
          }
        },
        "required": [
          "type",
          "numNodes"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNumaInfo": {
        "type": "object",
        "description": "A boxed array of *HostNumaInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNumaInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNumaNode": {
        "type": "object",
        "description": "Information about a single NUMA node.\n",
        "properties": {
          "typeId": {
            "description": "Zero-based NUMA ID for the node.\n",
            "type": "integer",
            "minimum": -128,
            "maximum": 127
          },
          "cpuID": {
            "description": "Information about each of the CPUs associated with the node.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -32768,
              "maximum": 32767
            }
          },
          "memorySize": {
            "description": "The total amount of memory in this NUMA node, in bytes.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
            "type": "integer",
            "format": "int64"
          },
          "memoryRangeBegin": {
            "deprecated": true,
            "description": "Deprecated as of vSphere 8.0, this property is always set to\nzero. The memory of a NUMA node is not necessarily a single\nphysically contiguous range.\n\nBeginning memory range for this NUMA node.\n",
            "type": "integer",
            "format": "int64"
          },
          "memoryRangeLength": {
            "deprecated": true,
            "description": "Deprecated as of vSphere 8.0, this property is replaced by\n*HostNumaNode.memorySize* and is set to the same value. The memory of\na NUMA node is not necessarily a single physically contiguous\nrange.\n\nLength of the memory range for this node in bytes, that is, the amount\nof memory on the node.\n",
            "type": "integer",
            "format": "int64"
          },
          "pciId": {
            "description": "Information about each of the pci devices associated with the node.\n\nThe string is of SBDF format, \"Segment:Bus:Device.Function\".\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "typeId",
          "cpuID",
          "memoryRangeBegin",
          "memoryRangeLength"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNumaNode": {
        "type": "object",
        "description": "A boxed array of *HostNumaNode*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNumaNode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNumericSensorInfo": {
        "type": "object",
        "description": "Base class for numeric sensor information.\n",
        "properties": {
          "name": {
            "description": "The name of the physical element associated with the sensor\nIt consists of a string of the form:\n\"description --- state/identifer\".\n",
            "type": "string"
          },
          "healthState": {
            "description": "The health state of the of the element indicated by the sensor.\n\nThis property is populated only for sensors that support threshold\nsettings and for discrete sensors using control file.\n\nSee also *HostNumericSensorHealthState_enum*.\n",
            "$ref": "#/components/schemas/ElementDescription"
          },
          "currentReading": {
            "description": "The current reading of the element indicated by the sensor.\n\nThe actual\nsensor reading is obtained by multiplying the current reading by the\nscale factor.\n",
            "type": "integer",
            "format": "int64"
          },
          "unitModifier": {
            "description": "The unit multiplier for the values returned by the sensor.\n\nAll values\nreturned by the sensor are current reading \\* 10 raised to the power of\nthe UnitModifier. If no unitModifier applies the value returned is 0.\n",
            "type": "integer",
            "format": "int32"
          },
          "baseUnits": {
            "description": "The base units in which the sensor reading is specified.\n\nIf rateUnits\nis set the units of the current reading is further qualified by the\nrateUnits. Otherwise the value returned is 'unspecified'.\n\nSee also *HostNumericSensorInfo.rateUnits*.\n",
            "type": "string"
          },
          "rateUnits": {
            "description": "The rate units in which the sensor reading is specified.\n\nFor example if\nthe baseUnits is Volts and the rateUnits is per second the value\nreturned by the sensor are in Volts/second. If no rate applies\nthe value returned is 'none'.\n",
            "type": "string"
          },
          "sensorType": {
            "description": "The type of the sensor.\n\nIf the sensor type is set to Other the sensor\nname can be used to further identify the type of sensor. The sensor\nunits can also be used to further implicitly determine the type of the\nsensor.\n\nSee also *HostNumericSensorType_enum*.\n",
            "type": "string"
          },
          "id": {
            "description": "A unique sensor identifier.\n\nA four part value consisting of:\nBMC device.Entity ID.Instance.SensorNumber\nCan be used to match a NumericSensorInfo object to\nesxcli hardware ipmi sdr list\n",
            "type": "string"
          },
          "sensorNumber": {
            "description": "The IPMI Sensor/probe that is reporting this event.\n\nUse this value\nto locate System Event Log (SEL) entries for this Sensor. It is also\nreported in 'id' in string format. This property is intended to\nbe used with vim.host.SystemEventInfo.sensorNumber\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int64"
          },
          "timeStamp": {
            "description": "Reports the ISO 8601 Timestamp when this sensor was last updated by\nmanagement controller if the this sensor is capable of tracking\nwhen it was last updated.\n",
            "type": "string"
          },
          "fru": {
            "description": "The FRU this sensor monitors if any.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/HostFru"
          }
        },
        "required": [
          "name",
          "currentReading",
          "unitModifier",
          "baseUnits",
          "sensorType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNumericSensorInfo": {
        "type": "object",
        "description": "A boxed array of *HostNumericSensorInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNumericSensorInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmDimmInfo": {
        "type": "object",
        "description": "Get detailed information of a nvdimm\n",
        "properties": {
          "dimmHandle": {
            "description": "Unique device identifier\n",
            "type": "integer",
            "format": "int32"
          },
          "healthInfo": {
            "description": "Health status of nvdimm.\n\n*NvdimmHealthInfo*\n",
            "$ref": "#/components/schemas/NvdimmHealthInfo"
          },
          "totalCapacity": {
            "description": "Total capacity of NVDIMM in bytes\n",
            "type": "integer",
            "format": "int64"
          },
          "persistentCapacity": {
            "description": "Total persistent capacity in DIMM (in bytes)\n",
            "type": "integer",
            "format": "int64"
          },
          "availablePersistentCapacity": {
            "description": "Persistent Capacity in DIMM currently not allocated\n",
            "type": "integer",
            "format": "int64"
          },
          "volatileCapacity": {
            "description": "Total volatile capacity in DIMM (in bytes)\n",
            "type": "integer",
            "format": "int64"
          },
          "availableVolatileCapacity": {
            "description": "Volatile capacity in DIMM currently not allocated\n",
            "type": "integer",
            "format": "int64"
          },
          "blockCapacity": {
            "description": "Total block capacity in DIMM (in bytes)\n",
            "type": "integer",
            "format": "int64"
          },
          "regionInfo": {
            "description": "NVDIMM region information.\n\nList of regions in the NVDIMM. These regions may or maynot\nbe a part of an interleave set.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmRegionInfo"
            }
          },
          "representationString": {
            "description": "NVDIMM Representation string which is a sequence of\nnumbers to uniquely identify the DIMM.\n",
            "type": "string"
          }
        },
        "required": [
          "dimmHandle",
          "healthInfo",
          "totalCapacity",
          "persistentCapacity",
          "availablePersistentCapacity",
          "volatileCapacity",
          "availableVolatileCapacity",
          "blockCapacity",
          "representationString"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmDimmInfo": {
        "type": "object",
        "description": "A boxed array of *NvdimmDimmInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmDimmInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmGuid": {
        "type": "object",
        "description": "A unique identifier used for namespaces\n",
        "properties": {
          "uuid": {
            "description": "Universally unique identifier in string format\n",
            "type": "string"
          }
        },
        "required": [
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmGuid": {
        "type": "object",
        "description": "A boxed array of *NvdimmGuid*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmGuid"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmHealthInfo": {
        "type": "object",
        "description": "\\\\brief NVDIMM health information\n",
        "properties": {
          "healthStatus": {
            "description": "Device health status.\n",
            "type": "string"
          },
          "healthInformation": {
            "description": "Health status description.\n",
            "type": "string"
          },
          "stateFlagInfo": {
            "description": "State flag information.\n\nThis information is the cumulation of state flags of all the\nNVDIMM region state flags. It must be one or more of\n*NvdimmNvdimmHealthInfoState_enum*\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dimmTemperature": {
            "description": "Current Nvdimm temperature in degree Celsius.\n",
            "type": "integer",
            "format": "int32"
          },
          "dimmTemperatureThreshold": {
            "description": "Nvdimm temperature threshold.\n\nDefault value is 0, indicating threshold has not reached,\nif set to 1, reached threshold limit.\n",
            "type": "integer",
            "format": "int32"
          },
          "spareBlocksPercentage": {
            "description": "Percentage of spare capavity as a percentage of\nfactory configured space (valid range 0 to 100)\n",
            "type": "integer",
            "format": "int32"
          },
          "spareBlockThreshold": {
            "description": "Spare block threshold.\n\nDefault value is 0, indicating threshold has not reached,\nif set to 1, reached threshold limit.\n",
            "type": "integer",
            "format": "int32"
          },
          "dimmLifespanPercentage": {
            "description": "Lifespan of Nvdimm as percentage.\n\n100% = Warranted life span has reached.\n",
            "type": "integer",
            "format": "int32"
          },
          "esTemperature": {
            "description": "Energy source current temperature in degree Celsius.\n\nDefault value is 0, indicating there is no\nenergy source for these nvdimms.\n",
            "type": "integer",
            "format": "int32"
          },
          "esTemperatureThreshold": {
            "description": "Energy source temperature threshold.\n\nDefault value is 0, indicating threshold has not reached,\nif set to 1, reached threshold limit.\n",
            "type": "integer",
            "format": "int32"
          },
          "esLifespanPercentage": {
            "description": "Lifespan of Energy source as percentage.\n\n100% = Warranted life span has reached.\nDefault value is 0, indicating there is no energy\nsource.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "healthStatus",
          "healthInformation",
          "dimmTemperature",
          "dimmTemperatureThreshold",
          "spareBlocksPercentage",
          "spareBlockThreshold",
          "dimmLifespanPercentage"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmHealthInfo": {
        "type": "object",
        "description": "A boxed array of *NvdimmHealthInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmHealthInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmInterleaveSetInfo": {
        "type": "object",
        "description": "Characteristics of an interleave set of a NVDIMM\n",
        "properties": {
          "setId": {
            "description": "Unique set ID\n",
            "type": "integer",
            "format": "int32"
          },
          "rangeType": {
            "description": "Volatile or persistent interleave set.\n\nMust be one of the values of\n*NvdimmRangeType_enum*\n",
            "type": "string"
          },
          "baseAddress": {
            "description": "Start address of range\n",
            "type": "integer",
            "format": "int64"
          },
          "size": {
            "description": "Length of range in bytes\n",
            "type": "integer",
            "format": "int64"
          },
          "availableSize": {
            "description": "Capacity currently not allocated to namespace in bytes\n",
            "type": "integer",
            "format": "int64"
          },
          "deviceList": {
            "description": "List of nvdimms contributing to this interleave set\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "state": {
            "description": "State of interleave set.\n\nMust be one of the values in\n*NvdimmInterleaveSetState_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "setId",
          "rangeType",
          "baseAddress",
          "size",
          "availableSize",
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmInterleaveSetInfo": {
        "type": "object",
        "description": "A boxed array of *NvdimmInterleaveSetInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmInterleaveSetInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmNamespaceCreateSpec": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.7u1, use PMemNamespaceCreateReq.\n\nArguments for creating a namespace.\n",
        "properties": {
          "friendlyName": {
            "description": "Friendly name of the namespace to be created.\n\nA friendly name can be provided by user to assosiate a name to\nthe created namespace, but such a name is not mandatory and is\nempty string by default.\n",
            "type": "string"
          },
          "blockSize": {
            "description": "Size of block in the namespace.\n\nFor persistent region type, block size is one.\nFor block region, block size represents one of the logical block sizes\nof 512, 4096 etc.\n",
            "type": "integer",
            "format": "int64"
          },
          "blockCount": {
            "description": "Number of blocks in the namespace.\n\nFor persistent region type, blockCount is the size of persistent\nregion in bytes.\nFor block region type, block count represent number of bytes per\nblock size.\n",
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "description": "Type of the namespace to be created - block or persistent.\n\nMust be one of the values in\n*NvdimmNamespaceType_enum*\n",
            "type": "string"
          },
          "locationID": {
            "description": "This identifier is the interleave set ID if the namespace\nis being used in persistent mode.\n\nIf in block mode, this\nis a device handle.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "blockSize",
          "blockCount",
          "type",
          "locationID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmNamespaceCreateSpec": {
        "type": "object",
        "description": "A boxed array of *NvdimmNamespaceCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmNamespaceCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmNamespaceDeleteSpec": {
        "type": "object",
        "description": "Arguments for deleting a namespace\n",
        "properties": {
          "uuid": {
            "description": "Universally unique identifier of the namespace to be deleted\n",
            "type": "string"
          }
        },
        "required": [
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmNamespaceDeleteSpec": {
        "type": "object",
        "description": "A boxed array of *NvdimmNamespaceDeleteSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmNamespaceDeleteSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmNamespaceDetails": {
        "type": "object",
        "description": "Detailed information about a particular namespace.\n",
        "properties": {
          "uuid": {
            "description": "Universally unique identifier assigned to namespace\nin string format\n",
            "type": "string"
          },
          "friendlyName": {
            "description": "Human readable name of namespace\n",
            "type": "string"
          },
          "size": {
            "description": "Size of namespace in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "description": "Type of the namespace to be created - block or persistent.\n\nMust be one of the values in\n*NvdimmNamespaceType_enum*\n",
            "type": "string"
          },
          "namespaceHealthStatus": {
            "description": "Health status of DIMM(s) part of the namespace.\n\nMust be one of the values of\n*NvdimmNamespaceDetailsHealthStatus_enum*\n",
            "type": "string"
          },
          "interleavesetID": {
            "description": "The interleave set ID of the namespace.\n",
            "type": "integer",
            "format": "int32"
          },
          "state": {
            "description": "State of namespace.\n\nMust be one of\n*NvdimmNamespaceDetailsState_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "uuid",
          "friendlyName",
          "size",
          "type",
          "namespaceHealthStatus",
          "interleavesetID",
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmNamespaceDetails": {
        "type": "object",
        "description": "A boxed array of *NvdimmNamespaceDetails*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmNamespaceDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmNamespaceInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere 6.7u1, use NamespaceDetails.\n\nDetailed information about a particular namespace.\n",
        "properties": {
          "uuid": {
            "description": "Universally unique identifier assigned to namespace\nin string format\n",
            "type": "string"
          },
          "friendlyName": {
            "description": "Friendly name of namespace\n",
            "type": "string"
          },
          "blockSize": {
            "description": "Size of logical block size.\n\nFor persistent region type, block size is one.\nFor block region, block size represents one of the logical block sizes\nof 512, 4096 etc.\n",
            "type": "integer",
            "format": "int64"
          },
          "blockCount": {
            "description": "Number of blocks in the namespace.\n\nFor persistent region type, blockCount is the size of persistent\nregion in bytes.\nFor block region type, block count represent number of bytes per\nblock size.\n",
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "description": "Type of the namespace to be created - block or persistent.\n\nMust be one of the values in\n*NvdimmNamespaceType_enum*\n",
            "type": "string"
          },
          "namespaceHealthStatus": {
            "description": "Health status of DIMM(s) part of the namespace.\n\nMust be one of the values of\n*NvdimmNamespaceHealthStatus_enum*\n",
            "type": "string"
          },
          "locationID": {
            "description": "This identifier is the interleave set ID if this namespace\nis being used in persistent mode.\n\nIf in block mode, this\nis a nvdimm device handle.\n",
            "type": "integer",
            "format": "int32"
          },
          "state": {
            "description": "State of namespace.\n\nMust be one of\n*NvdimmNamespaceState_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "uuid",
          "friendlyName",
          "blockSize",
          "blockCount",
          "type",
          "namespaceHealthStatus",
          "locationID",
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmNamespaceInfo": {
        "type": "object",
        "description": "A boxed array of *NvdimmNamespaceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmNamespaceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmSystemInfo": {
        "type": "object",
        "description": "This data object represents Non-Volatile DIMMs host\nconfiguration.\n",
        "properties": {
          "summary": {
            "description": "Host NVDIMM system summary.\n\nSummary is unset if the system does not support PMem feature.\n",
            "$ref": "#/components/schemas/NvdimmSummary"
          },
          "dimms": {
            "description": "List of NVDIMMs on the host.\n\nNVDIMM list unset if the system does not support PMem feature.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "dimmInfo": {
            "description": "List of DIMM information of all NVDIMMs on the host.\n\nDimm information is unset if the system does not support PMem feature.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmDimmInfo"
            }
          },
          "interleaveSet": {
            "description": "List of NVDIMM Interleave sets on the host.\n\nInterleave set is unset if the system does not support PMem feature.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "iSetInfo": {
            "description": "List of information of all NVDIMM interleave sets on the host.\n\nInterleave set information is unset if the system does not\nsupport PMem feature.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmInterleaveSetInfo"
            }
          },
          "namespace": {
            "description": "List of NVDIMM namespaces on the host.\n\nNamespace is unset if the system does not support PMem feature.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmGuid"
            }
          },
          "nsInfo": {
            "deprecated": true,
            "description": "Deprecated as of vSphere 6.7u1, use nsDetails.\n\nList of information of all NVDIMM namespaces on the host.\n\nNamespace information is unset if the system does not support\nPMem feature.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmNamespaceInfo"
            }
          },
          "nsDetails": {
            "description": "List of details of all NVDIMM namespaces on the host.\n\nNamespace details is unset if the system does not support\nPMem feature.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmNamespaceDetails"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmSystemInfo": {
        "type": "object",
        "description": "A boxed array of *NvdimmSystemInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmSystemInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmPMemNamespaceCreateSpec": {
        "type": "object",
        "description": "Arguments for creating a persistent memory mode namespace\n",
        "properties": {
          "friendlyName": {
            "description": "Friendly name of the namespace to be created.\n\nA friendly name can be provided by user to associate a name to\nthe created namespace, but such a name is not mandatory and is\nempty string by default.\n",
            "type": "string"
          },
          "size": {
            "description": "Size of the namespace in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "interleavesetID": {
            "description": "The interleave set ID of the namespace.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "size",
          "interleavesetID"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmPMemNamespaceCreateSpec": {
        "type": "object",
        "description": "A boxed array of *NvdimmPMemNamespaceCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmPMemNamespaceCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmRegionInfo": {
        "type": "object",
        "description": "\\\\brief NVDIMM region information.\n\nThis represents a region which is a part of NVDIMM.\n",
        "properties": {
          "regionId": {
            "description": "NVDIMM region ID\n",
            "type": "integer",
            "format": "int32"
          },
          "setId": {
            "description": "Interleave set ID.\n\nInterleave set to which this region belongs. A value\nof 0 indicates that this region is not a part of any\ninterleave set.\n",
            "type": "integer",
            "format": "int32"
          },
          "rangeType": {
            "description": "Type of region.\n\nMust be one of the values of\n*NvdimmRangeType_enum*\n",
            "type": "string"
          },
          "startAddr": {
            "description": "Region start address.\n\nThis represents the address within the NVDIMM to which this\nNVDIMM region belongs (Dimm physical address).\nIf *NvdimmRegionInfo.setId* is 0, this field is not valid.\n",
            "type": "integer",
            "format": "int64"
          },
          "size": {
            "description": "Size of region in bytes.\n\nIf this region is part of interleave set (represented by non zero\n*NvdimmRegionInfo.setId*) and the region is interleaved across\nmultiple dimms (represented by more that one element in\n*NvdimmInterleaveSetInfo.deviceList* for assosiated set id\n*NvdimmRegionInfo.setId*), this size represents part of the\ninterleave set size - (total interleave set size / number\nof dimms in *NvdimmInterleaveSetInfo.deviceList*).\nExample: If Interleave set with set id 5, has a size of 2TB\nand has 2 NVDIMMs contributing to it (size of\n*NvdimmInterleaveSetInfo.deviceList* is 2), then this size\nparameter is 2TB/2 = 1TB.\nIf *NvdimmRegionInfo.setId* is 0, this field is not valid.\n",
            "type": "integer",
            "format": "int64"
          },
          "offset": {
            "description": "Offset of nvdimm within interleave set.\n\nThis represents offset with respect to base address\nin *NvdimmInterleaveSetInfo.baseAddress*.\nIf *NvdimmRegionInfo.setId* is 0, this field is not valid.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "regionId",
          "setId",
          "rangeType",
          "startAddr",
          "size",
          "offset"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmRegionInfo": {
        "type": "object",
        "description": "A boxed array of *NvdimmRegionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmRegionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NvdimmSummary": {
        "type": "object",
        "description": "\\\\brief Get summary of nvdimm\n",
        "properties": {
          "numDimms": {
            "description": "Number of NVDIMMs in the system\n",
            "type": "integer",
            "format": "int32"
          },
          "healthStatus": {
            "description": "Summary of health status of all NVDIMMs in the system.\n",
            "type": "string"
          },
          "totalCapacity": {
            "description": "Total capacity of all NVDIMMs in bytes\n",
            "type": "integer",
            "format": "int64"
          },
          "persistentCapacity": {
            "description": "Persistent region capacity in bytes\n",
            "type": "integer",
            "format": "int64"
          },
          "blockCapacity": {
            "description": "Block region capacity in bytes\n",
            "type": "integer",
            "format": "int64"
          },
          "availableCapacity": {
            "description": "Capacity not covered by namespace in bytes\n",
            "type": "integer",
            "format": "int64"
          },
          "numInterleavesets": {
            "description": "Total number of interleave sets in the system\n",
            "type": "integer",
            "format": "int32"
          },
          "numNamespaces": {
            "description": "Total number of namespaces in the system\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "numDimms",
          "healthStatus",
          "totalCapacity",
          "persistentCapacity",
          "blockCapacity",
          "availableCapacity",
          "numInterleavesets",
          "numNamespaces"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNvdimmSummary": {
        "type": "object",
        "description": "A boxed array of *NvdimmSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NvdimmSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeConnectSpec": {
        "type": "object",
        "description": "Specifies the parameters necessary to connect to a regular NVME over Fabrics\ncontroller.\n\nHere the transportParameters are used to establish a transport level\nconnection to the specified controller. For reference, see:\n- \"NVM Express over Fabrics 1.0\", Section 3.3,\n  \"Connect command and response\"\n",
        "properties": {
          "subnqn": {
            "description": "NVME Qualified Name of the NVM subsystem to connect to.\n\nCorresponds to the SUBNQN field in the Connect command as\nreferenced above.\n",
            "type": "string"
          },
          "controllerId": {
            "description": "ID of the controller to connect to within the NVM subsystem.\n\nThis field corresponds to CNTLID in the Connect command.\nIts usage depends on whether the NVM Subsystem supports\na static or dynamic controller model.\nIn the static model, a number of controllers\nmay be exposed. A connection to a specific one may be requested\nby specifying its controller ID (which is unique only within the\nNVM subsystem). If a value of 0xFFFE (65534 in decimal) is provided,\nany one of the controllers may be allocated for the connection. In\nthe static model a value of 0xFFFF (65535 in decimal) or above is\ninvalid.\nIn the dynamic model, the NVM Subsystem will dynamically allocate\na controller. Any value other than 0xFFFF (65535 in decimal) specified\nwill be consider invalid.\nIf the controllerId is unset, it defaults to 0xFFFF (the value used in\nthe dynamic model).\nWhether the NVM subsystem supports the dynamic or static model can be\ndetermined by examining the corresponding\n*HostNvmeDiscoveryLogEntry* returned for it.\n",
            "type": "integer",
            "format": "int32"
          },
          "adminQueueSize": {
            "description": "Size of the admin queue which will be created once connection\nis established.\n\nThis field corresponds to SQSIZE in the Connect command (see above).\nIf unset, it defaults to a reasonable value which may vary between\nreleases (currently 16).\n",
            "type": "integer",
            "format": "int32"
          },
          "keepAliveTimeout": {
            "description": "Timeout for the keep alive feature in seconds.\n\nThis field corresponds to KATO in the Connect command (see above).\nIf unset, it defaults to a reasonable value which may vary between\nreleases (currently 30 seconds).\nFor further information, see:\n- \"NVM Express 1.3\", Section 5.21.1.15, \"Keep Alive Timer\"\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "subnqn"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostNvmeSpec"
          }
        ]
      },
      "ArrayOfHostNvmeConnectSpec": {
        "type": "object",
        "description": "A boxed array of *HostNvmeConnectSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeConnectSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeController": {
        "type": "object",
        "description": "This data object represents an NVME controller.\n\nSome terminology is borrowed from the NVM Express over Fabrics\nand the NVM Express 1.3 specifications, which are available\nat the following address:\nhttps://nvmexpress.org/resources/specifications/\n",
        "properties": {
          "key": {
            "description": "The linkable identifier.\n",
            "type": "string"
          },
          "controllerNumber": {
            "description": "The controller number uniquely identifies the NVME Controller\nwithin its HostSystem.\n\nThis should not be confused with Controller ID (see\n\"NVM Express over Fabrics 1.0\", Section 4.2, \"Controller model\"\nfor details), which only serves as an identifier\nwithin a particular NVME subsystem.\n",
            "type": "integer",
            "format": "int32"
          },
          "subnqn": {
            "description": "The NVME subsystem qualified name.\n\nEach NVME controller is associated with an NVME subsystem\nwhich can present a collection of controllers to the adapter.\nFor more details, refer to:\n- \"NVM Express over Fabrics 1.0\", Section 1.5.2,\n  \"NVM Subsystem\".\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the controller.\n\nEach controller has a name. For NVME over Fabrics controllers,\nit is generated when the controller is connected to an NVME\nover Fabrics adapter.\n",
            "type": "string"
          },
          "associatedAdapter": {
            "description": "Associated NVME over Fabrics host bus adapter.\n\nA controller is associated with exactly one host at a time through\nan NVME over Fabrics host bus adapter.\n",
            "$ref": "#/components/schemas/HostHostBusAdapter"
          },
          "transportType": {
            "description": "The transport type supported by the controller.\n\nThe set of possible values is described in *HostNvmeTransportType_enum*.\nFor details, see:\n- \"NVM Express over Fabrics 1.0\", Section 1.5.1,\n  \"Fabrics and Transports\".\n",
            "type": "string"
          },
          "fusedOperationSupported": {
            "description": "Indicates whether fused operations are supported by the controller.\n\nAn NVME controller may support fused operations. This is required\nto support shared storage, otherwise data corruption may occur.\nFor more details, see:\n- \"NVM Express 1.3\", Section 6.2, \"Fused Operations\".\n",
            "type": "boolean"
          },
          "numberOfQueues": {
            "description": "The number of I/O queues allocated for the controller.\n",
            "type": "integer",
            "format": "int32"
          },
          "queueSize": {
            "description": "The size of each of the I/O queues.\n\nThis will not be greater than the Maximum Queue Entries Supported\n(mqes) value for the controller. For more information, see:\n- \"NVM Express 1.3\", section 3.1, \"Register definition\".\n",
            "type": "integer",
            "format": "int32"
          },
          "attachedNamespace": {
            "description": "List of NVME namespaces attached to the controller.\n\nNamespaces provide access to a non-volatile storage medium\nwhich is part of the NVM subsystem. For an overview, see:\n- \"NVM Express over Fabrics 1.0\", Section 1.5.2,\n  \"NVM Subsystem\".\n- \"NVM Express 1.3\", section 6.1, \"Namespaces\".\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeNamespace"
            }
          },
          "vendorId": {
            "description": "The vendor ID of the controller, if available.\n",
            "type": "string"
          },
          "model": {
            "description": "The model name of the controller, if available.\n",
            "type": "string"
          },
          "serialNumber": {
            "description": "The serial number of the controller, if available.\n",
            "type": "string"
          },
          "firmwareVersion": {
            "description": "The firmware version of the controller, if available.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "controllerNumber",
          "subnqn",
          "name",
          "associatedAdapter",
          "transportType",
          "fusedOperationSupported",
          "numberOfQueues",
          "queueSize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNvmeController": {
        "type": "object",
        "description": "A boxed array of *HostNvmeController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeDisconnectSpec": {
        "type": "object",
        "description": "Specifies the parameters necessary to disconnect an NVME controller\nfrom a given NVME over Fabrics adapter.\n",
        "properties": {
          "hbaName": {
            "description": "The device name of the NVME over Fabrics host bus adapter.\n",
            "type": "string"
          },
          "subnqn": {
            "description": "NVME Qualified Name of the NVM subsystem to disconnect from.\n\nIf controllerNumber is not specified, the subsystem qualified\nname has to be specified and any controllers exposed by that\nsubsystem will be disconnected from the specified adapter. This\nis particularly convenient for the dynamic controller model, where\nthe mapping subsystemNQN &lt;-&gt; ctrlNumber is expected to be 1:1.\nIf controllerNumber is also specified, this value is ignored.\n",
            "type": "string"
          },
          "controllerNumber": {
            "description": "Controller number of the controller to be disconnected.\n\nIf this value is set, the subsystemQualifiedName can be left unset\nand the controller whose controllerNumber field matches this value\nwill be disconnected from the specified adapter.\nIf this value is not set, subsystemQualifiedName must be set.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "hbaName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNvmeDisconnectSpec": {
        "type": "object",
        "description": "A boxed array of *HostNvmeDisconnectSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeDisconnectSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeDiscoverSpec": {
        "type": "object",
        "description": "Specifies the parameters necessary to connect to a Discovery Service and\nretrieve a Discovery Log Page.\n\nHere the transportParameters are used to establish a transport level\nconnection to a Discovery Controller. Further details can be found here:\n- \"NVM Express over Fabrics 1.0\", Section 5, \"Discovery service\"\n",
        "properties": {
          "autoConnect": {
            "description": "Indicates whether the specified adapter should automatically be\nconnected to all the discovered controllers.\n\nIt is possible to automatically connect to all discovered controllers.\nThis will only be attempted if this flag is set to true. Whether the\nconnection attempt for an entry succeeded can then be determined\nvia the corresponding *HostNvmeDiscoveryLogEntry.connected* field.\n",
            "type": "boolean"
          },
          "rootDiscoveryController": {
            "description": "If set to true, this flag indicates we are connecting to a root/central\ndiscovery controller (RDC/CDC).\n\nThis will create a persistent connection between the host and the\nroot discovery controller, thus enabling some advanced features.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostNvmeSpec"
          }
        ]
      },
      "ArrayOfHostNvmeDiscoverSpec": {
        "type": "object",
        "description": "A boxed array of *HostNvmeDiscoverSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeDiscoverSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeDiscoveryLog": {
        "type": "object",
        "description": "This data object represents the Discovery Log returned by\nan NVME over Fabrics Discovery controller.\n\nThe Discovery Log consists of pages which contain a number\nof entries. It provides an inventory of NVM subsystems with\nwhich the host may attempt to form an association through\nan NVME over Fabrics adapter. For details, see:\n- \"NVM Express over Fabrics 1.0\", Section 5.3,\n  Discovery Log Page\n",
        "properties": {
          "entry": {
            "description": "The list of entries that make up the Discovery Log.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeDiscoveryLogEntry"
            }
          },
          "complete": {
            "description": "Indicates whether the NvmeDiscoveryLog object completely\nrepresents the underlying Discovery Log returned by the\ncontroller.\n\nIt is possible some of the entries returned by the Discovery\nController contain unsupported transport types or data that\ncannot be interpreted - in that case, those entries will be\nskipped and the log will be marked as incomplete.\n",
            "type": "boolean"
          }
        },
        "required": [
          "complete"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNvmeDiscoveryLog": {
        "type": "object",
        "description": "A boxed array of *HostNvmeDiscoveryLog*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeDiscoveryLog"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeDiscoveryLogEntry": {
        "type": "object",
        "description": "This data object represents a single entry in the Discovery\nLog returned by a Discovery controller.\n",
        "properties": {
          "subnqn": {
            "description": "NVME Qualified name of the discovered subsystem.\n\nCorresponds to the SUBNQN field in the Discovery Log\nPage Entry as specified by the NVME over Fabrics spec.\n",
            "type": "string"
          },
          "subsystemType": {
            "description": "NVM Subsystem type.\n\nCorresponds to the SUBTYPE field in the Discovery Log\nPage Entry as specified by the NVME over Fabrics spec.\nThe set of supported values is described in\n*HostNvmeDiscoveryLogSubsystemType_enum*.\n",
            "type": "string"
          },
          "subsystemPortId": {
            "description": "NVM subsystem port ID.\n\nCorresponds to the PORTID field in the Discovery Log\nPage Entry as specified by the NVME over Fabrics spec.\nFor an overview, see:\n- \"NVM Express over Fabrics 1.0\", Section 1.5.2,\n  NVM Subsystem\n",
            "type": "integer",
            "format": "int32"
          },
          "controllerId": {
            "description": "NVME Controller ID within the NVM subsystem.\n\nCorresponds to the CNTLID field in the Discovery Log\nPage Entry as specified by the NVME over Fabrics spec.\nIn the static controller model, this field may be set\nto a specific controller ID which can be used to connect\nto that particular controller. It could also be set\nto 0xFFFE (65534 in decimal), in which case the controller\nID will be allocated when a connection is established.\nIn the dynamic controller model, this field shall be set\nto 0xFFFF (65535 in decimal).\nNote that this is different from the controllerNumber\n*HostNvmeController.controllerNumber*,\nwhich is the unique identifier of the NVMe controller\nwithin the entire host and is allocated only after a\nconnection is established.\n",
            "type": "integer",
            "format": "int32"
          },
          "adminQueueMaxSize": {
            "description": "The maximum size of the Admin Submission Queue.\n\nCorresponds to the ASQSZ field in the Discovery Log\nPage Entry as specified by the NVME over Fabrics spec.\nThis applies to all controllers within the NVM Subsystem.\nWhen establishing a connection, the value of\n*HostNvmeConnectSpec.adminQueueSize* may not exceed\nthis value.\n",
            "type": "integer",
            "format": "int32"
          },
          "transportParameters": {
            "description": "Transport specific parameters necessary to establish\na connection.\n\nDifferent types of fabrics transports and different\nmeans to specify a connection target may be supported.\nThe transport specific parameters object is constructed\nbased on the data in the Transport Type (TRTYPE),\nAddress Family (ADRFAM), Transport Service Identifier\n(TRSVCID), Transport Address (TRADDR) and Transport\nSpecific Address Subtype (TSAS) fields in the Discovery\nLog Page Entry as specified by the NVME over Fabrics spec.\nWhen connecting to the controller represented by this\nDiscovery Log Page Entry, the transport specific\nparameters can be passed directly as\n*HostNvmeSpec.transportParameters*.\n",
            "$ref": "#/components/schemas/HostNvmeTransportParameters"
          },
          "transportRequirements": {
            "description": "The requirements for NVME Transport.\n\nCorresponds to the TREQ field in the Discovery Log\nPage Entry as specified by the NVME over Fabrics spec\nThe set of possible values is described in\n*HostNvmeDiscoveryLogTransportRequirements_enum*\n",
            "type": "string"
          },
          "connected": {
            "description": "Indicates whether the controller represented\nby this Discovery Log Page Entry is already connected\nto the adapter through which the discovery is initiated.\n",
            "type": "boolean"
          }
        },
        "required": [
          "subnqn",
          "subsystemType",
          "subsystemPortId",
          "controllerId",
          "adminQueueMaxSize",
          "transportParameters",
          "transportRequirements",
          "connected"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNvmeDiscoveryLogEntry": {
        "type": "object",
        "description": "A boxed array of *HostNvmeDiscoveryLogEntry*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeDiscoveryLogEntry"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeNamespace": {
        "type": "object",
        "description": "This data object represents an NVM Express Namespace.\n\nIn the NVME model, the underlying non-volatile storage medium\nis exposed via namespaces. For further information, see:\n- \"NVM Express over Fabrics 1.0\", Section 1.5.2,\n  \"NVM Subsystem\".\n- \"NVM Express 1.3\", section 6.1, \"Namespaces\".\n",
        "properties": {
          "key": {
            "description": "The linkable identifier.\n\nThis is a unique identifier of the NVME namespace within\nthe host system.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the namespace.\n\nThe name identifies the underlying storage exposed\nby the NvmeNamespace. In multipath scenarios, two\nnamespaces can have the same name if they expose the\nsame underlying storage through different NVME controllers.\n",
            "type": "string"
          },
          "id": {
            "description": "The namespace ID is an identifier used by an NVME controller\nto provide access to a namespace.\n\nThe namespace ID is only unique among the namespaces\nattached to the same controller. For details, see:\n- \"NVM Express 1.3\", section 6.1, \"Namespaces\".\n",
            "type": "integer",
            "format": "int32"
          },
          "blockSize": {
            "description": "Block size of the namespace in bytes.\n\nNamespaces are comprised of a number of logical blocks with\na fixed size - the smallest units of data that may be\nread or written by the NVME controller.\n",
            "type": "integer",
            "format": "int32"
          },
          "capacityInBlocks": {
            "description": "The maximum number of logical blocks that may be allocated\nin the namespace at any point in time.\n\nCorresponds to the NCAP field in the Identify Namespace data\nstructure:\n- \"NVM Express 1.3\", Section 5.15, Figure 114,\n  \"Identify Namespace Data Structure\"\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "key",
          "name",
          "id",
          "blockSize",
          "capacityInBlocks"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNvmeNamespace": {
        "type": "object",
        "description": "A boxed array of *HostNvmeNamespace*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeNamespace"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeOpaqueTransportParameters": {
        "type": "object",
        "description": "This data object represents the raw transport specific parameters\nreturned in a Discovery Log Page Entry, when they cannot be\ninterpreted as one of the known common types of parameters.\n\nFor details, see:\n- \"NVM Express over Fabrics 1.0\", Section 5.3,\n  Discovery Log Page\n",
        "properties": {
          "trtype": {
            "description": "The transport type.\n\nCorresponds to the TRTYPE field in the Discovery Log Page Entry\nas specified by the NVME over Fabrics spec.\nThe set of possible values is desribed in *HostNvmeTransportType_enum*.\n",
            "type": "string"
          },
          "traddr": {
            "description": "The transport address.\n\nCorresponds to the TRADDR field in the Discovery Log Page Entry\nas specified by the NVME over Fabrics spec.\n",
            "type": "string"
          },
          "adrfam": {
            "description": "Indicates the address family of the address specified above.\n\nCorresponds to the ADRFAM field in the Discovery Log Page Entry\nas specified by the NVME over Fabrics spec.\nThe set of supported values is described in\n*HostNvmeTransportParametersNvmeAddressFamily_enum*.\n",
            "type": "string"
          },
          "trsvcid": {
            "description": "Transport service identifier.\n\nCorresponds to the TRSVCID field in the Discovery Log Page Entry\nas specified by the NVME over Fabrics spec.\nIts interpretation varies depending on the transport type.\n",
            "type": "string"
          },
          "tsas": {
            "description": "Transport specific address subtype.\n\nCorresponds to the TSAS field in the Discovery Log Page Entry\nas specified by the NVME over Fabrics spec.\nIts interpretation varies depending on the transport type.\n",
            "type": "string",
            "format": "byte"
          }
        },
        "required": [
          "trtype",
          "traddr",
          "adrfam",
          "trsvcid",
          "tsas"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostNvmeTransportParameters"
          }
        ]
      },
      "ArrayOfHostNvmeOpaqueTransportParameters": {
        "type": "object",
        "description": "A boxed array of *HostNvmeOpaqueTransportParameters*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeOpaqueTransportParameters"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeOverFibreChannelParameters": {
        "type": "object",
        "description": "This data object represents the transport specific parameters\nnecessary to establish an NVME over Fibre Channel connection.\n",
        "properties": {
          "nodeWorldWideName": {
            "description": "The world wide node name for the connection target.\n",
            "type": "integer",
            "format": "int64"
          },
          "portWorldWideName": {
            "description": "The world wide port name for the connection target.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "nodeWorldWideName",
          "portWorldWideName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostNvmeTransportParameters"
          }
        ]
      },
      "ArrayOfHostNvmeOverFibreChannelParameters": {
        "type": "object",
        "description": "A boxed array of *HostNvmeOverFibreChannelParameters*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeOverFibreChannelParameters"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeOverRdmaParameters": {
        "type": "object",
        "description": "This data object represents the transport specific parameters\nnecessary to establish an NVME over RDMA connection.\n",
        "properties": {
          "address": {
            "description": "The address of the connection target.\n",
            "type": "string"
          },
          "addressFamily": {
            "description": "Indicates the type of the address specified above.\n\nIf unset, it is assumed to be an IPv4 address. The set of possible\nvalues is described in\n*HostNvmeTransportParametersNvmeAddressFamily_enum*.\nNote that not all of the address families may be supported for\nestablishing a connection over RDMA.\n",
            "type": "string"
          },
          "portNumber": {
            "description": "The port number of the RDMA target port.\n\nWhen IPv4/IPv6 is used as address family above, the port number\nneeds to be specified. If this field is unset, a default\nvalue of 4420 is assumed as per the IANA assignment:\nhttps://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "address"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostNvmeTransportParameters"
          }
        ]
      },
      "ArrayOfHostNvmeOverRdmaParameters": {
        "type": "object",
        "description": "A boxed array of *HostNvmeOverRdmaParameters*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeOverRdmaParameters"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeOverTcpParameters": {
        "type": "object",
        "description": "This data object represents the transport specific parameters\nnecessary to establish an NVME over TCP connection.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "address": {
            "description": "The address of the connection target.\n\nIt is expected to be an IPv4 or IPv6 address.\n",
            "type": "string"
          },
          "portNumber": {
            "description": "The port number of the TCP target port.\n\nIf this field is unset, the default value of 8009\nis assumed as per the IANA assignment:\nhttps://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml\n",
            "type": "integer",
            "format": "int32"
          },
          "digestVerification": {
            "description": "Digest verification parameter.\n\nWhen used in a discovery or connect spec, this parameter specifies\nthe requested digest verification setting. The list of supported values is\ndescribed in *HostDigestVerificationSetting_enum*. If unset,\na default value of disabled is assumed.\nFor details, see:\n- NVM Express Technical Proposal 8000 - NVMe/TCP Transport,\n  Section 7.4.10.2, \"Initialize Connection Request PDU (ICReq)\" - DGST field.\n  \nWhen part of *HostNvmeDiscoveryLogEntry*, this value is unset.\n",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostNvmeTransportParameters"
          }
        ]
      },
      "ArrayOfHostNvmeOverTcpParameters": {
        "type": "object",
        "description": "A boxed array of *HostNvmeOverTcpParameters*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeOverTcpParameters"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeSpec": {
        "type": "object",
        "description": "Specifies the main parameters needed when connecting to\nan NVMe over Fabrics controller or Discovery Service.\n",
        "properties": {
          "hbaName": {
            "description": "The device name of the NVME over Fabrics host bus adapter.\n",
            "type": "string"
          },
          "transportParameters": {
            "description": "Transport specific information necessary to connect to the controller.\n",
            "$ref": "#/components/schemas/HostNvmeTransportParameters"
          }
        },
        "required": [
          "hbaName",
          "transportParameters"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNvmeSpec": {
        "type": "object",
        "description": "A boxed array of *HostNvmeSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeTopology": {
        "type": "object",
        "description": "This data object type describes the NVME topology information.\n\nThe data objects in this data object type model the NVME storage objects\nfrom a topological point of view. The NVME topological view organizes\nobjects by NVME interface, which contains connected controllers,\nwhich in turn contain attached namespaces.\n\nOnly storage adapters which support the NVME protocol will be represented\nas NVME interfaces in this data object. In particular, an NVME interface\nwill be created for each NVME over Fabrics adapter in the system.\n\nNote that it is possible for an adapter to be represented by both\nan NVME interface in the NVME topology and a SCSI interface in the SCSI\ntopology. This can happen when an adapter supporting the NVME protocol is\nalso presented as a SCSI adapter and SCSI to NVME translation is performed.\n",
        "properties": {
          "adapter": {
            "description": "The list of NVME interfaces (could be empty).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeTopologyInterface"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNvmeTopology": {
        "type": "object",
        "description": "A boxed array of *HostNvmeTopology*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeTopology"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeTopologyInterface": {
        "type": "object",
        "description": "This data object describes the NVME interface that is\nassociated with a list of connected NVME controllers.\n",
        "properties": {
          "key": {
            "description": "The identifier for the NVME interface.\n",
            "type": "string"
          },
          "adapter": {
            "description": "The link to data for the NVME interface.\n",
            "$ref": "#/components/schemas/HostHostBusAdapter"
          },
          "connectedController": {
            "description": "The list of connected NVME controllers.\n\nThis list can be empty if am NVME interface is not connected\nto any controllers. Each NvmeController object contains\na list of its attached NVME namespaces in\n*HostNvmeController.attachedNamespace*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeController"
            }
          }
        },
        "required": [
          "key",
          "adapter"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNvmeTopologyInterface": {
        "type": "object",
        "description": "A boxed array of *HostNvmeTopologyInterface*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeTopologyInterface"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNvmeTransportParameters": {
        "type": "object",
        "description": "This data object represents the transport specific parameters\nnecessary to establish an NVM Express over Fabrics connection.\n\nFor some further information, see:\n- \"NVM Express over Fabrics 1.0\", Section 1.5.7, \"Connection\"\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNvmeTransportParameters": {
        "type": "object",
        "description": "A boxed array of *HostNvmeTransportParameters*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNvmeTransportParameters"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostOpaqueNetworkInfo": {
        "type": "object",
        "description": "Information on opaque networks that are available on the host.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "opaqueNetworkId": {
            "description": "The ID of the opaque network.\n",
            "type": "string"
          },
          "opaqueNetworkName": {
            "description": "The name of the opaque network.\n",
            "type": "string"
          },
          "opaqueNetworkType": {
            "description": "The type of the opaque network.\n",
            "type": "string"
          },
          "pnicZone": {
            "description": "IDs of networking zones that back the opaque network.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "capability": {
            "description": "The capability of the opaque network.\n\nRefer *OpaqueNetworkCapability*\n",
            "$ref": "#/components/schemas/OpaqueNetworkCapability"
          },
          "extraConfig": {
            "description": "Extra NSX specific properties for opaque networks.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "required": [
          "opaqueNetworkId",
          "opaqueNetworkName",
          "opaqueNetworkType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostOpaqueNetworkInfo": {
        "type": "object",
        "description": "A boxed array of *HostOpaqueNetworkInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostOpaqueNetworkInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostOpaqueSwitch": {
        "type": "object",
        "description": "The OpaqueSwitch contains basic information about virtual switches that are\nmanaged by a management plane outside of vSphere.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "key": {
            "description": "The opaque switch ID.\n",
            "type": "string"
          },
          "name": {
            "description": "The opaque switch name.\n",
            "type": "string"
          },
          "pnic": {
            "description": "The set of physical network adapters associated with this switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNic"
            }
          },
          "pnicZone": {
            "description": "The IDs of networking zones associated with this switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostOpaqueSwitchPhysicalNicZone"
            }
          },
          "status": {
            "description": "Opaque switch status.\n\nSee\n*OpaqueSwitchState* for valid values.\n",
            "type": "string"
          },
          "vtep": {
            "description": "List of VTEPs associated with this switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNic"
            }
          },
          "extraConfig": {
            "description": "Extra NSX specific properties for opaque switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          },
          "featureCapability": {
            "description": "Array of host specific feature capabilities that the switch has.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureCapability"
            }
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostOpaqueSwitch": {
        "type": "object",
        "description": "A boxed array of *HostOpaqueSwitch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostOpaqueSwitch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostOpaqueSwitchPhysicalNicZone": {
        "type": "object",
        "properties": {
          "key": {
            "description": "The zone ID\n",
            "type": "string"
          },
          "pnicDevice": {
            "description": "Whenever an OpaqueSwitch is associated with a PhysicalNicZone, then by default,\nthe zone will consist of all physical nics that are linked to the switch.\n\nHowever, if this property is set, then the zone will be considered to be\nconsisting of only those physical nics that are listed here.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostOpaqueSwitchPhysicalNicZone": {
        "type": "object",
        "description": "A boxed array of *HostOpaqueSwitchPhysicalNicZone*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostOpaqueSwitchPhysicalNicZone"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PMemDatastoreInfo": {
        "type": "object",
        "properties": {
          "pmem": {
            "$ref": "#/components/schemas/HostPMemVolume"
          }
        },
        "required": [
          "pmem"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreInfo"
          }
        ]
      },
      "ArrayOfPMemDatastoreInfo": {
        "type": "object",
        "description": "A boxed array of *PMemDatastoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PMemDatastoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPMemVolume": {
        "type": "object",
        "description": "The VMFS file system.\n",
        "properties": {
          "uuid": {
            "description": "The universally unique identifier assigned to PMem volume.\n",
            "type": "string"
          },
          "version": {
            "description": "Version of the PMem FS\n",
            "type": "string"
          }
        },
        "required": [
          "uuid",
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostFileSystemVolume"
          }
        ]
      },
      "ArrayOfHostPMemVolume": {
        "type": "object",
        "description": "A boxed array of *HostPMemVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPMemVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostParallelScsiHba": {
        "type": "object",
        "description": "The ParallelScsiHba data object type describes a\nparallel SCSI host bus adapter.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHostBusAdapter"
          }
        ]
      },
      "ArrayOfHostParallelScsiHba": {
        "type": "object",
        "description": "A boxed array of *HostParallelScsiHba*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostParallelScsiHba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostParallelScsiTargetTransport": {
        "type": "object",
        "description": "Parallel SCSI transport information about a SCSI target.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        ]
      },
      "ArrayOfHostParallelScsiTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostParallelScsiTargetTransport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostParallelScsiTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPartialMaintenanceModeRuntimeInfo": {
        "type": "object",
        "description": "This data object contains information about the runtime status of\na partial maintenance mode.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "key": {
            "description": "The unique identifier of the partial maintenance mode.\n\nThe values of the identifiers for the most common kinds of partial\nmaintenance modes are enumerated in *HostPartialMaintenanceModeId_enum*.\n",
            "type": "string"
          },
          "hostStatus": {
            "description": "The current runtime status for the particular partial maintenance mode.\n\nThe list of supported values is specified in\n*HostPartialMaintenanceModeStatus_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "hostStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPartialMaintenanceModeRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *HostPartialMaintenanceModeRuntimeInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPartialMaintenanceModeRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPatchManagerLocator": {
        "type": "object",
        "properties": {
          "url": {
            "description": "The URL that will be used to access the patch repository.\n",
            "type": "string"
          },
          "proxy": {
            "description": "The proxy setting required to access the URL from the host.\n\nIf unset, a direct URL connection will be attempted.\n",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPatchManagerLocator": {
        "type": "object",
        "description": "A boxed array of *HostPatchManagerLocator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPatchManagerLocator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPatchManagerPatchManagerOperationSpec": {
        "type": "object",
        "description": "Optional parameters for hostd to pass to exupdate.\n",
        "properties": {
          "proxy": {
            "description": "The name of the possible proxy for esxupdate to use to connect to a server.\n\nThe patch and metadata may be cached within the proxy server.\n",
            "type": "string"
          },
          "port": {
            "description": "The port of the possible proxy for esxupdate to use to connect to a server.\n\nThe patch and metadata may be cached within the proxy server.\n",
            "type": "integer",
            "format": "int32"
          },
          "userName": {
            "description": "The user name used for the proxy server.\n",
            "type": "string"
          },
          "password": {
            "description": "The password used for the proxy server.\n\nThis is passed with ssl through a\ntrusted channel.\n",
            "type": "string",
            "format": "password"
          },
          "cmdOption": {
            "description": "Possible command line options when calling esxupdate.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPatchManagerPatchManagerOperationSpec": {
        "type": "object",
        "description": "A boxed array of *HostPatchManagerPatchManagerOperationSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPatchManagerPatchManagerOperationSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPatchManagerResult": {
        "type": "object",
        "description": "The result of the operation.\n\nSome of the fields are only valid for\nspecific operations.\n",
        "properties": {
          "version": {
            "description": "The version of the scan result schema.\n",
            "type": "string"
          },
          "status": {
            "description": "The scan results for each patch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPatchManagerStatus"
            }
          },
          "xmlResult": {
            "description": "The scan results in XML format.\n",
            "type": "string"
          }
        },
        "required": [
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPatchManagerResult": {
        "type": "object",
        "description": "A boxed array of *HostPatchManagerResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPatchManagerResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPatchManagerStatus": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier for this update.\n",
            "type": "string"
          },
          "applicable": {
            "description": "Whether or not this update is applicable to this host.\n\nAn update\nmay not be applicable to the ESX host for many reasons - for\nexample, it is obsolete, it conflicts with other installed\npatches or libraries, and so on. The *HostPatchManagerStatus.reason* shows some of the reasons\nwhy the update is not applicable.\nAn update could be inapplicable with no reason listed. This is\nbecause the prerequisite install state is not correct. For example,\nupdate A is one of the prerequisites of update B. B not only\nrequires A to be installed, but also requires the host is\nrebooted after A is installed. When A is installed and the host\nhas not been restarted after the installation, B will not be\napplicable. In such a case, the scan on both updates A and B\nwould yield a whole picture of the update applicable status.\n",
            "type": "boolean"
          },
          "reason": {
            "description": "Possible reasons why an update is not applicable to the ESX host.\n\nSee also *HostPatchManagerReason_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "integrity": {
            "description": "The integrity status of the update's metadata.\n\nThe value would\nbe unset if the integrity status is unknown to the server.\n\nSee also *HostPatchManagerIntegrityStatus_enum*.\n",
            "type": "string"
          },
          "installed": {
            "description": "Whether the update is installed on the server.\n",
            "type": "boolean"
          },
          "installState": {
            "description": "The installation state of the update.\n\nUnset if the update is not\ninstalled on the server.\n\nSee also *HostPatchManagerInstallState_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "prerequisitePatch": {
            "description": "Prerequisite update.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPatchManagerStatusPrerequisitePatch"
            }
          },
          "restartRequired": {
            "description": "Whether or not this update requires a host restart to take effect.\n",
            "type": "boolean"
          },
          "reconnectRequired": {
            "description": "Whether or not this update requires caller to reconnect to the\nhost.\n\nThis is usually because the update is on the agent that\nrunning on the host, the agent would thus be restarted when the\nupdate is applied. Caller can reconnect (and possibly relogin) to\nthe host after the agent has been restarted.\n",
            "type": "boolean"
          },
          "vmOffRequired": {
            "description": "Whether or not this update requires the host in maintenance mode.\n",
            "type": "boolean"
          },
          "supersededPatchIds": {
            "description": "Patches that are superseded by this update.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "applicable",
          "installed",
          "restartRequired",
          "reconnectRequired",
          "vmOffRequired"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPatchManagerStatus": {
        "type": "object",
        "description": "A boxed array of *HostPatchManagerStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPatchManagerStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPatchManagerStatusPrerequisitePatch": {
        "type": "object",
        "description": "Updates that are required to be installed before this update can\nbe installed on the server.\n\nIn addition to being installed on the server, an update can have\nadditional requirement on the server or services running on the\nserver pertaining to the prerequisite update.\n",
        "properties": {
          "id": {
            "description": "Unique identifier of the prerequisite update.\n",
            "type": "string"
          },
          "installState": {
            "description": "The requirement on the server or services running on the\nserver pertaining to the prerequisite update.\n\nFor example,\nthis update could require the server to be rebooted after the\nprerequisite update is installed. Unset if there is no\nadditional requirement on the prerequisite update.\n\nSee also *HostPatchManagerInstallState_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPatchManagerStatusPrerequisitePatch": {
        "type": "object",
        "description": "A boxed array of *HostPatchManagerStatusPrerequisitePatch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPatchManagerStatusPrerequisitePatch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPathSelectionPolicyOption": {
        "type": "object",
        "description": "Description of options associated with a native multipathing\npath selection policy plugin.\n",
        "properties": {
          "policy": {
            "description": "Description of the paths selection policy.\n\nUse the key as the\nidentifier.\n",
            "$ref": "#/components/schemas/ElementDescription"
          }
        },
        "required": [
          "policy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPathSelectionPolicyOption": {
        "type": "object",
        "description": "A boxed array of *HostPathSelectionPolicyOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPathSelectionPolicyOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPciDevice": {
        "type": "object",
        "description": "This data object type describes information about\na single Peripheral Component Interconnect (PCI) device.\n",
        "properties": {
          "id": {
            "description": "The name ID of this PCI, composed of \"bus:slot.function\".\n",
            "type": "string"
          },
          "classId": {
            "description": "The class of this PCI.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "bus": {
            "description": "The bus ID of this PCI.\n",
            "type": "integer",
            "minimum": -128,
            "maximum": 127
          },
          "slot": {
            "description": "The slot ID of this PCI.\n",
            "type": "integer",
            "minimum": -128,
            "maximum": 127
          },
          "function": {
            "description": "The function ID of this PCI.\n",
            "type": "integer",
            "minimum": -128,
            "maximum": 127
          },
          "vendorId": {
            "description": "The vendor ID of this PCI.\n\nThe vendor ID might be a negative value. A vSphere Server uses an unsigned\nshort integer to represent a PCI vendor ID. The WSDL representation of the ID\nis a signed short integer. If the vendor ID is greater than 32767, the Server\nwill convert the ID to its two's complement for the WSDL representation.\nWhen you specify a PCI device vendor ID for a virtual machine\n(*VirtualPCIPassthroughDeviceBackingInfo*.vendorId),\nyou must use the retrieved *HostPciDevice*.deviceId value.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "subVendorId": {
            "description": "The subvendor ID of this PCI.\n\nThe subvendor ID might be a negative value. A vSphere Server uses an unsigned\nshort integer to represent a PCI subvendor ID. The WSDL representation of the ID\nis a signed short integer. If the subvendor ID is greater than 32767, the Server\nwill convert the ID to its two's complement for the WSDL representation.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "vendorName": {
            "description": "The vendor name of this PCI.\n",
            "type": "string"
          },
          "deviceId": {
            "description": "The device ID of this PCI.\n\nThe device ID might be a negative value. A vSphere Server uses an unsigned\nshort integer to represent a PCI device ID. The WSDL representation of the ID\nis a signed short integer. If the PCI ID is greater than 32767, the Server\nwill convert the ID to its two's complement for the WSDL representation.\nWhen you specify a PCI device ID for a virtual machine\n(*VirtualPCIPassthroughDeviceBackingInfo*.deviceId),\nyou must use the *HostPciDevice*.deviceId value as retrieved\nand convert it to a string.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "subDeviceId": {
            "description": "The subdevice ID of this PCI.\n\nThe subdevice ID might be a negative value. A vSphere Server uses an unsigned\nshort integer to represent a PCI subdevice ID. The WSDL representation of the ID\nis a signed short integer. If the subdevice ID is greater than 32767, the Server\nwill convert the ID to its two's complement for the WSDL representation.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "parentBridge": {
            "description": "The parent bridge of this PCI.\n",
            "type": "string"
          },
          "deviceName": {
            "description": "The device name of this PCI.\n",
            "type": "string"
          },
          "deviceClassName": {
            "description": "The name for the PCI device class representing this PCI.\n\nFor example: \"Host bridge\", \"iSCSI device\", \"Fibre channel HBA\".\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "classId",
          "bus",
          "slot",
          "function",
          "vendorId",
          "subVendorId",
          "vendorName",
          "deviceId",
          "subDeviceId",
          "deviceName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPciDevice": {
        "type": "object",
        "description": "A boxed array of *HostPciDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPciDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPciPassthruConfig": {
        "type": "object",
        "description": "This data object provides information about the state of PciPassthru\nfor all pci devices.\n",
        "properties": {
          "id": {
            "description": "The name ID of this PCI, composed of \"bus:slot.function\".\n",
            "type": "string"
          },
          "passthruEnabled": {
            "description": "Whether passThru has been configured for this device\n",
            "type": "boolean"
          },
          "applyNow": {
            "description": "Whether the passThru config should take effect without rebooting ESX.\n\nWhen unset, the behavior will be determined automatically\nbased on *HostCapability.deviceRebindWithoutRebootSupported*.\nIf the configuration can be applied immediately, it\nwill be, otherwise the changes will take effect after reboot.\n",
            "type": "boolean"
          },
          "hardwareLabel": {
            "description": "The hardware label of the this PCI device.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "passthruEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPciPassthruConfig": {
        "type": "object",
        "description": "A boxed array of *HostPciPassthruConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPciPassthruConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPciPassthruInfo": {
        "type": "object",
        "description": "This data object provides information about the state of PciPassthru\nfor all pci devices.\n",
        "properties": {
          "id": {
            "description": "The name ID of this PCI, composed of \"bus:slot.function\".\n",
            "type": "string"
          },
          "dependentDevice": {
            "description": "Device which needs to be unclaimed by vmkernel (may be bridge)\n",
            "type": "string"
          },
          "passthruEnabled": {
            "description": "Whether passThru has been configured by the user\n",
            "type": "boolean"
          },
          "passthruCapable": {
            "description": "Whether passThru is even possible for this device (decided by vmkctl)\n",
            "type": "boolean"
          },
          "passthruActive": {
            "description": "Whether passThru is active for this device (meaning enabled + rebooted)\n",
            "type": "boolean"
          },
          "hardwareLabel": {
            "description": "The hardware label of this PCI device.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "dependentDevice",
          "passthruEnabled",
          "passthruCapable",
          "passthruActive"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPciPassthruInfo": {
        "type": "object",
        "description": "A boxed array of *HostPciPassthruInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPciPassthruInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPcieHba": {
        "type": "object",
        "description": "This data object describes the Peripheral Component Interconnect Express\n(PCIe) host bus adapter interface.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHostBusAdapter"
          }
        ]
      },
      "ArrayOfHostPcieHba": {
        "type": "object",
        "description": "A boxed array of *HostPcieHba*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPcieHba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPcieTargetTransport": {
        "type": "object",
        "description": "Peripheral Component Interconnect Express (PCIe)\ntransport information about a target.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        ]
      },
      "ArrayOfHostPcieTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostPcieTargetTransport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPcieTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPersistentMemoryInfo": {
        "type": "object",
        "description": "Host Hardware information about configured and available\npersistent memory on a host.\n",
        "properties": {
          "capacityInMB": {
            "description": "Amount of configured persistent memory available on a host in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "volumeUUID": {
            "description": "Unique persistent memory host indentifier.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPersistentMemoryInfo": {
        "type": "object",
        "description": "A boxed array of *HostPersistentMemoryInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPersistentMemoryInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNic": {
        "type": "object",
        "description": "This data object type describes the physical network adapter\nas seen by the primary operating system.\n",
        "properties": {
          "key": {
            "description": "The linkable identifier.\n",
            "type": "string"
          },
          "device": {
            "description": "The device name of the physical network adapter.\n",
            "type": "string"
          },
          "pci": {
            "description": "Device hash of the PCI device corresponding to this\nphysical network adapter.\n",
            "type": "string"
          },
          "driver": {
            "description": "The name of the driver.\n\nFrom command line: esxcli network nic get\n",
            "type": "string"
          },
          "driverVersion": {
            "description": "The version of the physical network adapter operating system driver.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          },
          "firmwareVersion": {
            "description": "The version of the firmware running in the network adapter.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          },
          "linkSpeed": {
            "description": "The current link state of the physical network adapter.\n\nIf this object is not set, then the link is down.\n",
            "$ref": "#/components/schemas/PhysicalNicLinkInfo"
          },
          "validLinkSpecification": {
            "description": "The valid combinations of speed and duplexity for this\nphysical network adapter.\n\nThe speed and the duplex settings usually must be configured\nas a pair. This array lists all the valid combinations available\nfor a physical network adapter.\n\nAutonegotiate is not listed as one of the combinations supported.\nIf is implicitly supported by the physical network adapter\nunless *PhysicalNic.autoNegotiateSupported* is set to false.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicLinkInfo"
            }
          },
          "spec": {
            "description": "The specification of the physical network adapter.\n",
            "$ref": "#/components/schemas/PhysicalNicSpec"
          },
          "wakeOnLanSupported": {
            "description": "Flag indicating whether the NIC is wake-on-LAN capable\n",
            "type": "boolean"
          },
          "mac": {
            "description": "The media access control (MAC) address of the physical\nnetwork adapter.\n",
            "type": "string"
          },
          "fcoeConfiguration": {
            "description": "The FCoE configuration of the physical network adapter.\n",
            "$ref": "#/components/schemas/FcoeConfig"
          },
          "vmDirectPathGen2Supported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nFlag indicating whether the NIC supports VMDirectPath Gen 2.\n\nNote that\nthis is only an indicator of the capabilities of this NIC, not of the\nwhole host.\n\nIf the host software is not capable of VMDirectPath Gen 2,\nthis property will be unset, as the host cannot provide information on\nthe NIC capability.\n\nSee also *HostCapability.vmDirectPathGen2Supported*.\n",
            "type": "boolean"
          },
          "vmDirectPathGen2SupportedMode": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nIf *PhysicalNic.vmDirectPathGen2Supported* is true, this property advertises\nthe VMDirectPath Gen 2 mode supported by this NIC (chosen from\n*PhysicalNicVmDirectPathGen2SupportedMode_enum*).\n\nA mode may require that the associated vSphere Distributed Switch have\na particular ProductSpec in order for network passthrough to be possible.\n",
            "type": "string"
          },
          "resourcePoolSchedulerAllowed": {
            "description": "Flag indicating whether the NIC allows resource pool based scheduling\nfor network I/O control.\n",
            "type": "boolean"
          },
          "resourcePoolSchedulerDisallowedReason": {
            "description": "If *PhysicalNic.resourcePoolSchedulerAllowed* is false, this property\nadvertises the reason for disallowing resource scheduling on\nthis NIC.\n\nThe reasons may be one of\n*PhysicalNicResourcePoolSchedulerDisallowedReason_enum*\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "autoNegotiateSupported": {
            "description": "If set the flag indicates if the physical network adapter supports\nautonegotiate.\n",
            "type": "boolean"
          },
          "enhancedNetworkingStackSupported": {
            "description": "If set the flag indicates whether a physical nic supports Enhanced\nNetworking Stack driver\n",
            "type": "boolean"
          },
          "ensInterruptSupported": {
            "description": "If set the flag indicates whether a physical nic supports Enhanced\nNetworking Stack interrupt mode\n",
            "type": "boolean"
          },
          "rdmaDevice": {
            "description": "Associated RDMA device, if any.\n",
            "$ref": "#/components/schemas/HostRdmaDevice"
          },
          "dpuId": {
            "description": "The identifier of the DPU by which the physical NIC is backed.\n\nWhen physical NIC is not backed by DPU, dpuId will be unset.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          }
        },
        "required": [
          "device",
          "pci",
          "spec",
          "wakeOnLanSupported",
          "mac"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPhysicalNic": {
        "type": "object",
        "description": "A boxed array of *PhysicalNic*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNic"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicCdpDeviceCapability": {
        "type": "object",
        "description": "The capability of the CDP-awared device that connects to a Physical NIC.\n\n*PhysicalNicCdpInfo*\n",
        "properties": {
          "router": {
            "description": "The CDP-awared device has the capability of a routing for\nat least one network layer protocol\n",
            "type": "boolean"
          },
          "transparentBridge": {
            "description": "The CDP-awared device has the capability of transparent\nbridging\n",
            "type": "boolean"
          },
          "sourceRouteBridge": {
            "description": "The CDP-awared device has the capability of source-route\nbridging\n",
            "type": "boolean"
          },
          "networkSwitch": {
            "description": "The CDP-awared device has the capability of switching.\n\nThe\ndifference between this capability and transparentBridge is\nthat a switch does not run the Spanning-Tree Protocol. This\ndevice is assumed to be deployed in a physical loop-free topology.\n",
            "type": "boolean"
          },
          "host": {
            "description": "The CDP-awared device has the capability of a host, which\nSends and receives packets for at least one network layer protocol.\n",
            "type": "boolean"
          },
          "igmpEnabled": {
            "description": "The CDP-awared device is IGMP-enabled, which does not forward IGMP\nReport packets on nonrouter ports.\n",
            "type": "boolean"
          },
          "repeater": {
            "description": "The CDP-awared device has the capability of a repeater\n",
            "type": "boolean"
          }
        },
        "required": [
          "router",
          "transparentBridge",
          "sourceRouteBridge",
          "networkSwitch",
          "host",
          "igmpEnabled",
          "repeater"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPhysicalNicCdpDeviceCapability": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicCdpDeviceCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicCdpDeviceCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicCdpInfo": {
        "type": "object",
        "description": "CDP (Cisco Discovery Protocol) is a link level protocol that allows\nfor discovering the CDP-awared network hardware at either end of a\nDIRECT connection.\n\nIt's only good for direct connection because CDP\ndoesn't get forwarded through switches.\nIt's a simple advertisement protocol which beacons information about\nthe switch or host along with some port information. The CDP information\nallows ESX Server admins to know which Cisco switch port is connected to\nany given virtual switch uplink (PNIC).\n",
        "properties": {
          "cdpVersion": {
            "description": "CDP version.\n\nThe value is always 1.\n",
            "type": "integer",
            "format": "int32"
          },
          "timeout": {
            "description": "This is the periodicity of advertisement, the time between two\nsuccessive CDP message transmissions\n",
            "type": "integer",
            "format": "int32"
          },
          "ttl": {
            "description": "Time-To-Live.\n\nthe amount of time, in seconds, that a receiver should\nretain the information contained in the CDP packet.\n",
            "type": "integer",
            "format": "int32"
          },
          "samples": {
            "description": "The number of CDP messages we have received from the device.\n",
            "type": "integer",
            "format": "int32"
          },
          "devId": {
            "description": "Device ID which identifies the device.\n\nBy default, the device ID is\neither the device's fully-qualified host name (including the domain\nname) or the device's hardware serial number in ASCII.\n",
            "type": "string"
          },
          "address": {
            "description": "The advertised IP address that is assigned to the interface of the device\non which the CDP message is sent.\n\nThe device can advertise all addresses for\na given protocol suite and, optionally, can advertise one or more loopback\nIP addresses. But this property only show the first address.\n",
            "type": "string"
          },
          "portId": {
            "description": "Port ID.\n\nAn ASCII character string that identifies the port on which\nthe CDP message is sent, e.g. \"FastEthernet0/8\"\n",
            "type": "string"
          },
          "deviceCapability": {
            "description": "Device Capability\n*PhysicalNicCdpDeviceCapability*\n",
            "$ref": "#/components/schemas/PhysicalNicCdpDeviceCapability"
          },
          "softwareVersion": {
            "description": "Software version on the device.\n\nA character string that provides\ninformation about the software release version that the device is\nrunning. e.g. \"Cisco Internetwork Operating Syscisco WS-C2940-8TT-S\"\n",
            "type": "string"
          },
          "hardwarePlatform": {
            "description": "Hardware platform.\n\nAn ASCII character string that describes the\nhardware platform of the device , e.g. \"cisco WS-C2940-8TT-S\"\n",
            "type": "string"
          },
          "ipPrefix": {
            "description": "IP prefix.\n\nEach IP prefix represents one of the directly connected\nIP network segments of the local route.\n",
            "type": "string"
          },
          "ipPrefixLen": {
            "description": "ipPrefix length.\n",
            "type": "integer",
            "format": "int32"
          },
          "vlan": {
            "description": "The native VLAN of advertising port.\n\nThe native VLAN is the VLAN to\nwhich a port returns when it is not trunking. Also, the native VLAN\nis the untagged VLAN on an 802.1Q trunk.\n",
            "type": "integer",
            "format": "int32"
          },
          "fullDuplex": {
            "description": "Half/full duplex setting of the advertising port.\n",
            "type": "boolean"
          },
          "mtu": {
            "description": "MTU, the maximum transmission unit for the advertising port.\n\nPossible\nvalues are 1500 through 18190.\n",
            "type": "integer",
            "format": "int32"
          },
          "systemName": {
            "description": "The configured SNMP system name of the device.\n",
            "type": "string"
          },
          "systemOID": {
            "description": "The configured SNMP system OID of the device.\n",
            "type": "string"
          },
          "mgmtAddr": {
            "description": "The configured IP address of the SNMP management interface for the\ndevice.\n",
            "type": "string"
          },
          "location": {
            "description": "The configured location of the device.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPhysicalNicCdpInfo": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicCdpInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicCdpInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicConfig": {
        "type": "object",
        "description": "The configuration of the physical network adapter containing\nboth the configurable properties and identification information.\n",
        "properties": {
          "device": {
            "description": "PhysicalNic device to which configuration applies.\n",
            "type": "string"
          },
          "spec": {
            "description": "The specification of the physical network adapter.\n",
            "$ref": "#/components/schemas/PhysicalNicSpec"
          }
        },
        "required": [
          "device",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPhysicalNicConfig": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicLinkInfo": {
        "type": "object",
        "description": "The *PhysicalNicLinkInfo* data object describes\nthe link speed and the type of duplex communication.\n\nThe link speed indicates\nthe bit rate in megabits per second. The duplex boolean indicates if the link\nis capable of full-duplex or half-duplex communication.\n",
        "properties": {
          "speedMb": {
            "description": "Bit rate on the link.\n",
            "type": "integer",
            "format": "int32"
          },
          "duplex": {
            "description": "Flag to indicate whether or not the link is capable of\nfull-duplex (\"true\") or only half-duplex (\"false\").\n",
            "type": "boolean"
          }
        },
        "required": [
          "speedMb",
          "duplex"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPhysicalNicLinkInfo": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicLinkInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicLinkInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LinkLayerDiscoveryProtocolInfo": {
        "type": "object",
        "description": "The Link Layer Discovery Protocol information.\n",
        "properties": {
          "chassisId": {
            "description": "ChassisId represents the chassis identification for the device that\ntransmitted the LLDP frame.\n\nThe receiving LLDP agent combines the\nChassis ID and portId to represent the entity connected to the port\nwhere the frame was received.\n",
            "type": "string"
          },
          "portId": {
            "description": "This property identifies the specific port that transmitted the LLDP\nframe.\n\nThe receiving LLDP agent combines the Chassis ID and Port to\nrepresent the entity connected to the port where the frame was received.\n",
            "type": "string"
          },
          "timeToLive": {
            "description": "It is the duration of time in seconds for which information contained\nin the received LLDP frame shall be valid.\n\nIf a value of zero is sent\nit can also identify a device that has shut down or is no longer\ntransmitting, prompting deletion of the record from the local database.\n",
            "type": "integer",
            "format": "int32"
          },
          "parameter": {
            "description": "LLDP parameters\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "chassisId",
          "portId",
          "timeToLive"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLinkLayerDiscoveryProtocolInfo": {
        "type": "object",
        "description": "A boxed array of *LinkLayerDiscoveryProtocolInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkLayerDiscoveryProtocolInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicHintInfo": {
        "type": "object",
        "description": "The NetworkHint data object type is some information about\nthe network to which the\nphysical network adapter is attached.\n",
        "properties": {
          "device": {
            "description": "The physical network adapter device to which\nthis hint applies.\n",
            "type": "string"
          },
          "subnet": {
            "description": "The list of subnets that were detected on this\nphysical network adapter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicIpHint"
            }
          },
          "network": {
            "description": "The list of network names that were detected on this\nphysical network adapter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicNameHint"
            }
          },
          "connectedSwitchPort": {
            "description": "If the uplink directly connects to a CDP-awared network device\nand the device's CDP broadcast is enabled, this property will be\nset to return the CDP information that vmkernel received on this\nPhysical NIC.\n\nCDP data contains the device information and port ID that\nthe Physical NIC connects to. If the uplink is not connecting to a\nCDP-awared device or CDP is not enabled on the device, this\nproperty will be unset.\n*PhysicalNicCdpInfo*\n",
            "$ref": "#/components/schemas/PhysicalNicCdpInfo"
          },
          "lldpInfo": {
            "description": "If the uplink directly connects to an LLDP-aware network device and\nthe device's LLDP broadcast is enabled, this property will be set to\nreturn the LLDP information that is received on this physical network\nadapter.\n\nIf the uplink is not connecting to a LLDP-aware device or\nLLDP is not enabled on the device, this property will be unset.\n",
            "$ref": "#/components/schemas/LinkLayerDiscoveryProtocolInfo"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPhysicalNicHintInfo": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicHintInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicHintInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicHint": {
        "type": "object",
        "description": "This data object type describes each network of a physical\nnetwork adapter's network hint.\n",
        "properties": {
          "vlanId": {
            "description": "The optional VLAN Id of the network.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPhysicalNicHint": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicHint*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicHint"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicIpHint": {
        "type": "object",
        "description": "This data object type describes a network in network hint where\nthe network is specified using IP addresses, for example,\n10.27.49.1-10.27.49.254\n",
        "properties": {
          "ipSubnet": {
            "description": "The network IP addresses.\n",
            "type": "string"
          }
        },
        "required": [
          "ipSubnet"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PhysicalNicHint"
          }
        ]
      },
      "ArrayOfPhysicalNicIpHint": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicIpHint*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicIpHint"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicNameHint": {
        "type": "object",
        "description": "This data object type describes a network in network hint where\nthe network describes the color, label, or the name of the\nnetwork.\n",
        "properties": {
          "network": {
            "description": "The network name.\n",
            "type": "string"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PhysicalNicHint"
          }
        ]
      },
      "ArrayOfPhysicalNicNameHint": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicNameHint*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicNameHint"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicSpec": {
        "type": "object",
        "description": "This data object type describes the physical network adapter specification\nrepresenting the properties on a physical network adapter that\ncan be configured once the object exists.\n",
        "properties": {
          "ip": {
            "description": "The IP configuration on the physical network adapter (applies\nonly to a hosted network adapter).\n\nThe data object will be NULL on an ESX Server system.\n",
            "$ref": "#/components/schemas/HostIpConfig"
          },
          "linkSpeed": {
            "description": "The link speed and duplexity that this physical network\nadapter is currently\nconfigured to use.\n\nIf this property is not set, the physical\nnetwork adapter autonegotiates its proper settings.\n",
            "$ref": "#/components/schemas/PhysicalNicLinkInfo"
          },
          "enableEnhancedNetworkingStack": {
            "description": "If set the flag indicates if the physical network adapter is\nconfigured for Enhanced Networking Stack\n",
            "type": "boolean"
          },
          "ensInterruptEnabled": {
            "description": "If set the flag indicates if the physical network adapter is\nconfigured for Enhanced Networking Stack interrupt mode\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPhysicalNicSpec": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPlugStoreTopology": {
        "type": "object",
        "description": "This data object represents the plug-store topology on a host\nsystem.\n\nThrough this data object, the storage structure of a system\nthat utilizes the plug-store architecture can be presented.\n\nThe object entity-relationship diagram is modeled below:\n\n      ------------------------------------------------------------\n      |             0..N             0..N      0..N              |\n      |   Plugin ----->  Device  ------>  Path  <------  Adapter |\n      |                          <------   |    ------>          |\n      |                          0,1       |          1          |\n      |                                    |                     |\n      |                                    | 0,1                 |\n      |                                   \\|/                    |\n      |                                  Target                  |\n      ------------------------------------------------------------\nDescription and reasoning behind the relationships:\n\nWhen a storage device driver is loaded, it claims a PCI device as a\nhost bus adapter. This host bus adapter is represented as an Adapter.\nThe PCI device identifier is a property on the HostBusAdapter in the\nAdapter.\n\nOnce the host bus adapter is on the system, the hardware bus is scanned.\nIf a storage Device is found on the bus, the communication path to the\nDevice from the the host bus adapter is represented by a Path. A Device\nmay have more than one Path. How those Paths are composed to create a\nDevice is determined by a storage Plugin.\n\nWhen a storage Plugin is loaded, it claims a set of Paths. It groups these\nPaths into a set of Devices. Devices are hence associated with a set of\nPaths that might be used to provide a single logical device such as in the\ncase of multipathing. Devices may be also composed of zero Paths meaning\nthat they do not directly use a host bus adapter for communication with\nunderlying storage.\n\nThe purpose of this data object is to represent the topology of storage\nas seen by the base plug-store system. There is some overlap\nwith information in other objects such as ScsiTopology which is only\napplicable when a particular \"native multipathing\" plugin is used. This\ndata object provides the complete inventory of Devices and Paths. Hence\nit provides a superset of Device mappings over data object such as\nScsiTopology and Multipa\n\nThe use cases that this data object accommodates includes the following\nnon-exhaustive list:\n- Enumerate paths on a host bus adapter.\n- Enumerate paths on a storage device.\n- Conveniently access the devices a host bus adapter is\n  associated with by traversing the path.\n- Determine which plugin a device belongs.\n- Determine which paths are claimed by a plugin by\n  accumulating the paths of all device of the plugin.\n- Determine which plugin a path belongs to by accessing its\n  device and finding that device in the Plugin list.\n",
        "properties": {
          "adapter": {
            "description": "List of host bus adapters in the plug store inventory.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyAdapter"
            }
          },
          "path": {
            "description": "List of paths in the plug store inventory.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyPath"
            }
          },
          "target": {
            "description": "Partial list of targets as seen by the host.\n\nThe list of targets\nmay not be exhaustive on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyTarget"
            }
          },
          "device": {
            "description": "List of devices in the plug store inventory.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyDevice"
            }
          },
          "plugin": {
            "description": "List of plugins in the plug store inventory.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyPlugin"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPlugStoreTopology": {
        "type": "object",
        "description": "A boxed array of *HostPlugStoreTopology*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopology"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPlugStoreTopologyAdapter": {
        "type": "object",
        "description": "This data object type is an association class that describes a host bus\nadapter and its associated storage Paths.\n\nThe set of Paths on all the\nhost bus adapters is the complete set of Paths in the system.\n",
        "properties": {
          "key": {
            "description": "The identifier for the host bus adapter.\n",
            "type": "string"
          },
          "adapter": {
            "description": "The link to the host bus adapter for this inebtrface.\n",
            "$ref": "#/components/schemas/HostHostBusAdapter"
          },
          "path": {
            "description": "The list of paths to which the host bus adapter is associated.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyPath"
            }
          }
        },
        "required": [
          "key",
          "adapter"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPlugStoreTopologyAdapter": {
        "type": "object",
        "description": "A boxed array of *HostPlugStoreTopologyAdapter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyAdapter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPlugStoreTopologyDevice": {
        "type": "object",
        "description": "This data object type is an association class that describes a ScsiLun\nand its associated Path objects.\n\nThe ScsiLun is a Device that is formed\nfrom a set of Paths.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          },
          "lun": {
            "description": "The SCSI device corresponding to logical unit.\n",
            "$ref": "#/components/schemas/ScsiLun"
          },
          "path": {
            "description": "The array of paths available to access this LogicalUnit.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyPath"
            }
          }
        },
        "required": [
          "key",
          "lun"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPlugStoreTopologyDevice": {
        "type": "object",
        "description": "A boxed array of *HostPlugStoreTopologyDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPlugStoreTopologyPath": {
        "type": "object",
        "description": "This data object type is an association class that describes a Path and\nits associated Device.\n\nA Path may be claimed by at most one Device.\n",
        "properties": {
          "key": {
            "description": "The identifier for the Path.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of path.\n\nUse this property to correlate this path object to other\npath objects.\n\nThe state of the Path can be retrieved from the data object (@link\nvim.host.MultipathStateInfo.Path} on the *HostMultipathStateInfo* data object.\n\nUse this name to configure LogicalUnit multipathing policy using *HostStorageSystem.EnableMultipathPath* and *HostStorageSystem.DisableMultipathPath*.\n",
            "type": "string"
          },
          "channelNumber": {
            "description": "The channel number for a path if applicable.\n",
            "type": "integer",
            "format": "int32"
          },
          "targetNumber": {
            "description": "The target number for a path if applicable.\n\nThe target number is not\nguaranteed to be consistent across reboots or rescans of the adapter.\n",
            "type": "integer",
            "format": "int32"
          },
          "lunNumber": {
            "description": "The LUN number for a path if applicable.\n",
            "type": "integer",
            "format": "int32"
          },
          "adapter": {
            "description": "The adapter that provided the Path.\n",
            "$ref": "#/components/schemas/HostPlugStoreTopologyAdapter"
          },
          "target": {
            "description": "The target of the Path if any.\n",
            "$ref": "#/components/schemas/HostPlugStoreTopologyTarget"
          },
          "device": {
            "description": "The device that claimed the Path if any.\n",
            "$ref": "#/components/schemas/HostPlugStoreTopologyDevice"
          }
        },
        "required": [
          "key",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPlugStoreTopologyPath": {
        "type": "object",
        "description": "A boxed array of *HostPlugStoreTopologyPath*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyPath"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPlugStoreTopologyPlugin": {
        "type": "object",
        "description": "This data object type represents a Plugin in the plug store architecture.\n\nA Plugin claims a set of paths and groups them into Devices.\n",
        "properties": {
          "key": {
            "description": "The identifier of the plugin.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the plugin.\n",
            "type": "string"
          },
          "device": {
            "description": "The set of devices formed by this plugin.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyDevice"
            }
          },
          "claimedPath": {
            "description": "The set of paths claimed by this plugin.\n\nNot every claimed path\nwill necessarily appear as part of a Device. Claimed paths will\nonly appear under Devices if the device identifier of the path\nmatches up with the device identifier exposed by the Device.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyPath"
            }
          }
        },
        "required": [
          "key",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPlugStoreTopologyPlugin": {
        "type": "object",
        "description": "A boxed array of *HostPlugStoreTopologyPlugin*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyPlugin"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPlugStoreTopologyTarget": {
        "type": "object",
        "description": "This data object represents target information.\n",
        "properties": {
          "key": {
            "description": "The identifier of the target.\n\nThis will be a string representing the\ntransport information of the target.\n",
            "type": "string"
          },
          "transport": {
            "description": "Detailed, transport-specific information about the target of a path.\n",
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPlugStoreTopologyTarget": {
        "type": "object",
        "description": "A boxed array of *HostPlugStoreTopologyTarget*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlugStoreTopologyTarget"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPortGroup": {
        "type": "object",
        "description": "This data object type is used to describe port groups.\n\nPort groups are used to group virtual network adapters on a virtual switch,\nassociating them with networks and network policies.\n",
        "properties": {
          "key": {
            "description": "The linkable identifier.\n",
            "type": "string"
          },
          "port": {
            "description": "The ports that currently exist and are used on this port group.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroupPort"
            }
          },
          "vswitch": {
            "description": "The virtual switch that contains this port group.\n",
            "$ref": "#/components/schemas/HostVirtualSwitch"
          },
          "computedPolicy": {
            "description": "Computed network policies that are applicable for a port group.\n\nThe\ninheritance scheme for PortGroup requires knowledge about the\nNetworkPolicy for a port group and its parent virtual switch as well as\nthe logic for computing the results. This information is provided as\na convenience so that callers need not duplicate the inheritance logic\nto determine the proper values for a network policy.\n\nSee the description of the\n*NetworkPolicy* data object type\nfor more information.\n",
            "$ref": "#/components/schemas/HostNetworkPolicy"
          },
          "spec": {
            "description": "The specification of a port group.\n",
            "$ref": "#/components/schemas/HostPortGroupSpec"
          }
        },
        "required": [
          "computedPolicy",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPortGroup": {
        "type": "object",
        "description": "A boxed array of *HostPortGroup*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroup"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPortGroupConfig": {
        "type": "object",
        "description": "This describes the port group configuration containing both\nthe configurable properties on a port group and the associated\nvirtual switch.\n",
        "properties": {
          "changeOperation": {
            "description": "Indicates the change operation to apply on this configuration\nspecification.\n\nSee also *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          },
          "spec": {
            "description": "The specification of the port group.\n",
            "$ref": "#/components/schemas/HostPortGroupSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPortGroupConfig": {
        "type": "object",
        "description": "A boxed array of *HostPortGroupConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroupConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPortGroupPort": {
        "type": "object",
        "description": "A Port data object type is a runtime representation of network\nconnectivity between a network service or virtual machine and a\nvirtual switch.\n\nThis is different from a port group in that\nthe port group represents the configuration aspects of the\nnetwork connection. The Port object provides runtime statistics.\n",
        "properties": {
          "key": {
            "description": "The linkable identifier.\n",
            "type": "string"
          },
          "mac": {
            "description": "The Media Access Control (MAC) address of network service of\nthe virtual machine connected on this port.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "description": "The type of component connected on this port.\n\nMust be one of the\nvalues of *PortGroupConnecteeType_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPortGroupPort": {
        "type": "object",
        "description": "A boxed array of *HostPortGroupPort*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroupPort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPortGroupSpec": {
        "type": "object",
        "description": "This data object type describes the PortGroup specification\nrepresenting the properties on a PortGroup that\ncan be configured.\n",
        "properties": {
          "name": {
            "description": "The name of the port group.\n",
            "type": "string"
          },
          "vlanId": {
            "description": "The VLAN ID for ports using this port group.\n\nPossible values:\n- A value of 0 specifies that you do not want the port group associated\n  with a VLAN.\n- A value from 1 to 4094 specifies a VLAN ID for the port group.\n- A value of 4095 specifies that the port group should use trunk mode,\n  which allows the guest operating system to manage its own VLAN tags.\n",
            "type": "integer",
            "format": "int32"
          },
          "vswitchName": {
            "description": "The identifier of the virtual switch on which\nthis port group is located.\n",
            "type": "string"
          },
          "policy": {
            "description": "Policies on the port group take precedence over the ones specified\non the virtual switch.\n",
            "$ref": "#/components/schemas/HostNetworkPolicy"
          }
        },
        "required": [
          "name",
          "vlanId",
          "vswitchName",
          "policy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPortGroupSpec": {
        "type": "object",
        "description": "A boxed array of *HostPortGroupSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroupSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PowerSystemCapability": {
        "type": "object",
        "description": "Power System Capability data object.\n\nExposes policies available in power management system.\n",
        "properties": {
          "availablePolicy": {
            "description": "List of available host power policies.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPowerPolicy"
            }
          }
        },
        "required": [
          "availablePolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPowerSystemCapability": {
        "type": "object",
        "description": "A boxed array of *PowerSystemCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PowerSystemCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PowerSystemInfo": {
        "type": "object",
        "description": "Power System Info data object.\n\nShows current state of power management system.\n",
        "properties": {
          "currentPolicy": {
            "description": "Currently selected host power management policy.\n\nThis property can have one of the values from\n*PowerSystemCapability.availablePolicy*.\n",
            "$ref": "#/components/schemas/HostPowerPolicy"
          }
        },
        "required": [
          "currentPolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPowerSystemInfo": {
        "type": "object",
        "description": "A boxed array of *PowerSystemInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PowerSystemInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPowerPolicy": {
        "type": "object",
        "description": "Power Management Policy data object.\n\nUsed to retrieve and specify current host power management policy.\n",
        "properties": {
          "key": {
            "description": "Power Policy Key.\n\nInternally generated key which uniquely identifies power management\npolicy on a host.\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "Power Policy Name.\n",
            "type": "string"
          },
          "shortName": {
            "description": "Power Policy Short Name.\n\nThis is not localizable property which can be used to identify specific\npower managing policies like \"custom\" power policy. Custom power policy\nhas short name set to \"custom\".\n",
            "type": "string"
          },
          "description": {
            "description": "Power Policy Description.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "name",
          "shortName",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPowerPolicy": {
        "type": "object",
        "description": "A boxed array of *HostPowerPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPowerPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProtocolEndpoint": {
        "type": "object",
        "description": "ProtocolEndpoint is configured LUN or NFS directory\nThis is used for io path to actual virtual disks (VVols)\n",
        "properties": {
          "peType": {
            "deprecated": true,
            "description": "Deprecated from all vmodl version above @released(\"6.0\")\nUse type instead.\n\nType of ProtocolEndpoint\nSee *HostProtocolEndpointPEType_enum*\n",
            "type": "string"
          },
          "type": {
            "description": "Type of ProtocolEndpoint\nSee *HostProtocolEndpointProtocolEndpointType_enum*\n",
            "type": "string"
          },
          "uuid": {
            "description": "Identifier for PE assigned by VASA Provider\n",
            "type": "string"
          },
          "hostKey": {
            "description": "Set of ESX hosts which can see the same PE\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "storageArray": {
            "description": "Associated Storage Array\n",
            "type": "string"
          },
          "nfsServer": {
            "description": "NFSv3 and NFSv4x PE will contain information about NFS Server\nFor NFSv4x this field may contain comma separated list of IP addresses\nwhich are associated with the NFS Server\n",
            "type": "string"
          },
          "nfsDir": {
            "description": "NFSv3 and NFSv4x PE will contain information about NFS directory\n",
            "type": "string"
          },
          "nfsServerScope": {
            "description": "NFSv4x PE will contain information about NFSv4x Server Scope\n",
            "type": "string"
          },
          "nfsServerMajor": {
            "description": "NFSv4x PE will contain information about NFSv4x Server Major\n",
            "type": "string"
          },
          "nfsServerAuthType": {
            "description": "NFSv4x PE will contain information about NFSv4x Server Auth-type\n",
            "type": "string"
          },
          "nfsServerUser": {
            "description": "NFSv4x PE will contain information about NFSv4x Server User\n",
            "type": "string"
          },
          "deviceId": {
            "description": "SCSI PE will contain information about SCSI device ID\n",
            "type": "string"
          },
          "usedByStretchedContainer": {
            "description": "Indicates whether the PE is being used to access a stretch-capable container\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "peType",
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProtocolEndpoint": {
        "type": "object",
        "description": "A boxed array of *HostProtocolEndpoint*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProtocolEndpoint"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPtpConfig": {
        "type": "object",
        "description": "Configuration information for the host PTP (Precision Time\nProtocol) service.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "domain": {
            "description": "PTP domain number as defined in the IEEE 1588 standard.\n\nSupported\nvalues are in the range 0-255.\n",
            "type": "integer",
            "format": "int32"
          },
          "port": {
            "description": "List of PTP port configurations.\n\nSee *HostPtpConfigPtpPort*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPtpConfigPtpPort"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPtpConfig": {
        "type": "object",
        "description": "A boxed array of *HostPtpConfig*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPtpConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPtpConfigPtpPort": {
        "type": "object",
        "description": "Configuration of a PTP port, a logical entity providing an\ninterface to the network for sending and receiving PTP messages\nwith timestamping.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "index": {
            "description": "Index into the list of PTP ports.\n\nSupported values are in the\nrange 0 through *HostCapability.maxSupportedPtpPorts*-1.\n",
            "type": "integer",
            "format": "int32"
          },
          "deviceType": {
            "description": "Type of network device to be used with this port.\n\nSee *HostPtpConfigDeviceType_enum* for supported values. A device type\nof *none* indicates that this port is\ninactive.\n",
            "type": "string"
          },
          "device": {
            "description": "Name of PTP capable network device to be used with this port.\n\nSupported values depend on the type of network device used.\nFor *virtualNic* this field is the name of\na valid virtual NIC. See *HostVirtualNic*.\nFor *pciPassthruNic* this field is a valid\nPCI device ID composed of \"bus:slot.function\", enabled for\nPCI passthru. See *HostPciPassthruInfo*.\nFor *none* this field is ignored.\n",
            "type": "string"
          },
          "ipConfig": {
            "description": "IP configuration of this port.\n\nFor *pciPassthruNic*, this field reflects\ncurrent IP configuration, and it can be set.\nFor *virtualNic*, this field reflects current\nIP configuration, but it cannot be set. To configure IP settings\nof a virtual NIC, see *HostVirtualNic*.\nFor *none*, this field is ignored.\n",
            "$ref": "#/components/schemas/HostIpConfig"
          }
        },
        "required": [
          "index"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPtpConfigPtpPort": {
        "type": "object",
        "description": "A boxed array of *HostPtpConfigPtpPort*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPtpConfigPtpPort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostQualifiedName": {
        "type": "object",
        "description": "This data object describes a qualified name of the host used to\nidentify it in a particular context.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "value": {
            "description": "The qualified name.\n",
            "type": "string"
          },
          "type": {
            "description": "The type of the qualified name.\n\nThe list of supported values is specified in *HostQualifiedNameType_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "value",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostQualifiedName": {
        "type": "object",
        "description": "A boxed array of *HostQualifiedName*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostQualifiedName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRdmaDevice": {
        "type": "object",
        "description": "This data object represents a Remote Direct Memory Access\ndevice as seen by the primary operating system.\n",
        "properties": {
          "key": {
            "description": "The linkable identifier.\n",
            "type": "string"
          },
          "device": {
            "description": "The device name of the RDMA device.\n",
            "type": "string"
          },
          "driver": {
            "description": "The short string name of the device driver, if available.\n",
            "type": "string"
          },
          "description": {
            "description": "Device description, if available.\n",
            "type": "string"
          },
          "backing": {
            "description": "If set, represents the physical backing for the RDMA device.\n\nNot all RDMA devices are required to have a physical backing.\n",
            "$ref": "#/components/schemas/HostRdmaDeviceBacking"
          },
          "connectionInfo": {
            "description": "Current device connection state.\n",
            "$ref": "#/components/schemas/HostRdmaDeviceConnectionInfo"
          },
          "capability": {
            "description": "Supported capabilies of the RDMA device.\n",
            "$ref": "#/components/schemas/HostRdmaDeviceCapability"
          }
        },
        "required": [
          "key",
          "device",
          "connectionInfo",
          "capability"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostRdmaDevice": {
        "type": "object",
        "description": "A boxed array of *HostRdmaDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRdmaDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRdmaDeviceBacking": {
        "type": "object",
        "description": "This data object represents the physical\nbacking of an RDMA device.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostRdmaDeviceBacking": {
        "type": "object",
        "description": "A boxed array of *HostRdmaDeviceBacking*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRdmaDeviceBacking"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRdmaDeviceCapability": {
        "type": "object",
        "description": "Represents device capabilies, e.g.\n\nsupported protocols.\n",
        "properties": {
          "roceV1Capable": {
            "description": "Indicates whether ROCEv1 is supported by the device.\n",
            "type": "boolean"
          },
          "roceV2Capable": {
            "description": "Indicates whether ROCEv2 is supported by the device.\n",
            "type": "boolean"
          },
          "iWarpCapable": {
            "description": "Indicates whether iWARP is supported by the device.\n",
            "type": "boolean"
          }
        },
        "required": [
          "roceV1Capable",
          "roceV2Capable",
          "iWarpCapable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostRdmaDeviceCapability": {
        "type": "object",
        "description": "A boxed array of *HostRdmaDeviceCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRdmaDeviceCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRdmaDeviceConnectionInfo": {
        "type": "object",
        "description": "Represents connection information for the RDMA device.\n",
        "properties": {
          "state": {
            "description": "RDMA device connection state.\n\nThe set of possible values\nis described in *HostRdmaDeviceConnectionState_enum*.\n",
            "type": "string"
          },
          "mtu": {
            "description": "Maximum Transmission Unit in bytes.\n",
            "type": "integer",
            "format": "int32"
          },
          "speedInMbps": {
            "description": "Bit rate in Mbps.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "state",
          "mtu",
          "speedInMbps"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostRdmaDeviceConnectionInfo": {
        "type": "object",
        "description": "A boxed array of *HostRdmaDeviceConnectionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRdmaDeviceConnectionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRdmaDevicePnicBacking": {
        "type": "object",
        "description": "This data object represents a physical NIC backing\nfor an RDMA device.\n\nWhen an RDMA device is backed by a physical NIC, it\ncan be associated with the virtual NICs\nconnected to a virtual switch which has the\nbacking physical NIC as an uplink. The actual bindings\nare created and destroyed dynamically based on application\nusage of the RDMA device.\n",
        "properties": {
          "pairedUplink": {
            "description": "The associated physical NIC\n",
            "$ref": "#/components/schemas/PhysicalNic"
          }
        },
        "required": [
          "pairedUplink"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostRdmaDeviceBacking"
          }
        ]
      },
      "ArrayOfHostRdmaDevicePnicBacking": {
        "type": "object",
        "description": "A boxed array of *HostRdmaDevicePnicBacking*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRdmaDevicePnicBacking"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRdmaHba": {
        "type": "object",
        "description": "This data object describes the Remote Direct Memory Access\n(RDMA) host bus adapter interface.\n",
        "properties": {
          "associatedRdmaDevice": {
            "description": "Device name of the associated RDMA device, if any.\n\nShould match the *HostRdmaDevice.device* property\nof the corresponding RDMA device.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHostBusAdapter"
          }
        ]
      },
      "ArrayOfHostRdmaHba": {
        "type": "object",
        "description": "A boxed array of *HostRdmaHba*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRdmaHba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRdmaTargetTransport": {
        "type": "object",
        "description": "Remote Direct Memory Access (RDMA) transport\ninformation about a target.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        ]
      },
      "ArrayOfHostRdmaTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostRdmaTargetTransport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRdmaTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostReliableMemoryInfo": {
        "type": "object",
        "description": "Information about reliable memory installed on this host.\n",
        "properties": {
          "memorySize": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "memorySize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostReliableMemoryInfo": {
        "type": "object",
        "description": "A boxed array of *HostReliableMemoryInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostReliableMemoryInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostResignatureRescanResult": {
        "type": "object",
        "description": "The *HostResignatureRescanResult* data object\nidentifies the newly created volume that is the result of a\nresignature operation.\n\nThis data object is contained in the\ntask object returned by the\n*HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task*\nmethod.\n\nWhen a client calls the resignature method, the Server\nresignatures the volume, rescans the specified list of hosts,\nand auto-mounts the volume on the other hosts that share the same\nunderlying storage LUNs.\n",
        "properties": {
          "rescan": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1, the results of the operation\nare available when the task completes. That is, for shared volumes,\nthe new volume is mounted on all of the connected hosts.\n\nList of VMFS Rescan operation results.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVmfsRescanResult"
            }
          },
          "result": {
            "description": "When an UnresolvedVmfsVolume has been resignatured, we want to return the\nnewly created VMFS Datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "result"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostResignatureRescanResult": {
        "type": "object",
        "description": "A boxed array of *HostResignatureRescanResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostResignatureRescanResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallRuleset": {
        "type": "object",
        "description": "Data object that describes a single network ruleset that can be\nallowed or blocked by the firewall using the *HostFirewallSystem* object.\n",
        "properties": {
          "key": {
            "description": "Brief identifier for the ruleset.\n",
            "type": "string"
          },
          "label": {
            "description": "Display label for the ruleset.\n",
            "type": "string"
          },
          "required": {
            "description": "Flag indicating whether the ruleset is required and cannot be disabled.\n",
            "type": "boolean"
          },
          "rule": {
            "description": "List of rules within the ruleset.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRule"
            }
          },
          "service": {
            "description": "Managed service (if any) that uses this ruleset.\n\nMust be one of\nthe services listed in *HostServiceInfo.service*.\n",
            "type": "string"
          },
          "enabled": {
            "description": "Flag indicating whether the ruleset is enabled.\n\nIf the\nruleset is enabled, all ports specified in the ruleset are\nopened by the firewall.\n",
            "type": "boolean"
          },
          "allowedHosts": {
            "description": "List of ipaddress to allow access to the service\n",
            "$ref": "#/components/schemas/HostFirewallRulesetIpList"
          },
          "userControllable": {
            "description": "Flag indicating whether user can enable/disable the firewall ruleset.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "boolean"
          },
          "ipListUserConfigurable": {
            "description": "Flag indicating whether user can modify the allowed IP list of the\nfirewall ruleset.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "key",
          "label",
          "required",
          "rule",
          "enabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFirewallRuleset": {
        "type": "object",
        "description": "A boxed array of *HostFirewallRuleset*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRuleset"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallRulesetIpList": {
        "type": "object",
        "properties": {
          "ipAddress": {
            "description": "The list of ipAddresses.\n\nAll IPv4 addresses are specified as strings using dotted\ndecimal format. For example, \"192.0.20.10\".\nIPv6 addresses are 128-bit addresses represented\nas eight fields of up to four hexadecimal digits. A colon separates each\nfield (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can\nalso consist of symbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ipNetwork": {
            "description": "The list of networks\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRulesetIpNetwork"
            }
          },
          "allIp": {
            "description": "Flag indicating whether the ruleset works for all ip addresses.\n",
            "type": "boolean"
          }
        },
        "required": [
          "allIp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFirewallRulesetIpList": {
        "type": "object",
        "description": "A boxed array of *HostFirewallRulesetIpList*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRulesetIpList"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallRulesetIpNetwork": {
        "type": "object",
        "properties": {
          "network": {
            "description": "The IPv4 or IPv6 network.\n\nAll IPv4 subnet addresses are specified as strings using dotted\ndecimal format. For example, \"192.0.20.0\".\nIPv6 addresses are 128-bit addresses represented\nas eight fields of up to four hexadecimal digits. A colon separates each\nfield (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can\nalso consist of symbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "The prefix length for the network.\n\nFor example the prefix length for a network 10.20.120/22 is 22\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "network",
          "prefixLength"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFirewallRulesetIpNetwork": {
        "type": "object",
        "description": "A boxed array of *HostFirewallRulesetIpNetwork*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRulesetIpNetwork"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallRule": {
        "type": "object",
        "description": "This data object type describes a port (or range of ports),\nidentified by port number(s), direction and protocol.\n\nIt is\nused as a convenient way for users to express what ports they\nwant to permit through the firewall.\n",
        "properties": {
          "port": {
            "description": "The port number.\n",
            "type": "integer",
            "format": "int32"
          },
          "endPort": {
            "description": "For a port range, the ending port number.\n",
            "type": "integer",
            "format": "int32"
          },
          "direction": {
            "description": "The port direction.\n",
            "$ref": "#/components/schemas/HostFirewallRuleDirection_enum"
          },
          "portType": {
            "description": "The port type.\n",
            "$ref": "#/components/schemas/HostFirewallRulePortType_enum"
          },
          "protocol": {
            "description": "The port protocol.\n\nValid values are defined by the\n*HostFirewallRuleProtocol_enum* enumeration.\n",
            "type": "string"
          }
        },
        "required": [
          "port",
          "direction",
          "protocol"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFirewallRule": {
        "type": "object",
        "description": "A boxed array of *HostFirewallRule*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRule"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallRulesetRulesetSpec": {
        "type": "object",
        "description": "The ruleset update specification.\n",
        "properties": {
          "allowedHosts": {
            "description": "The list of allowed ip addresses\n",
            "$ref": "#/components/schemas/HostFirewallRulesetIpList"
          }
        },
        "required": [
          "allowedHosts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostFirewallRulesetRulesetSpec": {
        "type": "object",
        "description": "A boxed array of *HostFirewallRulesetRulesetSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRulesetRulesetSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRuntimeInfo": {
        "type": "object",
        "description": "This data object type describes the runtime state of a host.\n",
        "properties": {
          "connectionState": {
            "description": "The host connection state.\n\nSee the description in the enums for the\n*ConnectionState* data object type.\n",
            "$ref": "#/components/schemas/HostSystemConnectionState_enum"
          },
          "powerState": {
            "description": "The host power state.\n\nSee the description in the enums for the\n*PowerState* data object type.\n",
            "$ref": "#/components/schemas/HostSystemPowerState_enum"
          },
          "standbyMode": {
            "description": "The host's standby mode.\n\nFor valid values see\n*HostStandbyMode_enum*. The property is only populated by\nvCenter server. If queried directly from a ESX host, the property is\nis unset.\n",
            "type": "string"
          },
          "inMaintenanceMode": {
            "description": "The flag to indicate whether or not the host is in maintenance mode.\n\nThis\nflag is set when the host has entered the maintenance mode. It is not set\nduring the entering phase of maintenance mode.\n\nSee also *HostSystem.EnterMaintenanceMode_Task*, *HostSystem.ExitMaintenanceMode_Task*.\n",
            "type": "boolean"
          },
          "inQuarantineMode": {
            "description": "The flag to indicate whether or not the host is in quarantine mode.\n\nInfraUpdateHa will recommend to set this flag based on the HealthUpdates\nreceived by the HealthUpdateProviders configured for the cluster. A\nhost that is reported as degraded will be recommended to enter quarantine\nmode, while a host that is reported as healthy will be recommended to\nexit quarantine mode. Execution of these recommended actions will set\nthis flag. Hosts in quarantine mode will be avoided by vSphere DRS as\nlong as the increased consolidation in the cluster does not negatively\naffect VM performance.\n\nSee also *HealthUpdateManager*, *ClusterInfraUpdateHaConfigInfo*, *ClusterHostInfraUpdateHaModeAction*.\n",
            "type": "boolean"
          },
          "bootTime": {
            "description": "The time when the host was booted.\n",
            "type": "string",
            "format": "date-time"
          },
          "healthSystemRuntime": {
            "description": "Available system health status\n",
            "$ref": "#/components/schemas/HealthSystemRuntime"
          },
          "dasHostState": {
            "description": "The availability state of an active host in a vSphere HA enabled\ncluster.\n\nA host is inactive if it is in maintenance or standby mode, or\nit has been disconnected from vCenter Server. The active hosts in a cluster\nform a vSphere HA fault domain.\n\nThe property is unset if vSphere HA is disabled, the host is\nin maintenance or standby mode, or the host is disconnected from\nvCenter Server. The property is set to hostDown if the host has crashed.\n",
            "$ref": "#/components/schemas/ClusterDasFdmHostState"
          },
          "tpmPcrValues": {
            "deprecated": true,
            "description": "Deprecated as of @released(\"5.1\") this information should be\nconsidered to be neither complete nor reliable.\n\nThe array of PCR digest values stored in the TPM device since the last\nhost boot time.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmDigestInfo"
            }
          },
          "vsanRuntimeInfo": {
            "description": "Host Runtime information related to the VSAN service.\n\nSee also *VsanHostRuntimeInfo*.\n",
            "$ref": "#/components/schemas/VsanHostRuntimeInfo"
          },
          "networkRuntimeInfo": {
            "description": "This property is for getting network related runtime info\n",
            "$ref": "#/components/schemas/HostRuntimeInfoNetworkRuntimeInfo"
          },
          "vFlashResourceRuntimeInfo": {
            "description": "Runtime information of vFlash resource of the host.\n",
            "$ref": "#/components/schemas/HostVFlashManagerVFlashResourceRunTimeInfo"
          },
          "hostMaxVirtualDiskCapacity": {
            "description": "The maximum theoretical virtual disk capacity supported by this host\n",
            "type": "integer",
            "format": "int64"
          },
          "cryptoState": {
            "description": "Encryption state of the host.\n\nValid values are enumerated by the\n*CryptoState* type.\n",
            "type": "string"
          },
          "cryptoKeyId": {
            "description": "Crypto Key used for coredump encryption\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "statelessNvdsMigrationReady": {
            "description": "Indicating the host is ready for NVDS to VDS migration.\n\nSee *HostRuntimeInfoStatelessNvdsMigrationState_enum* for supported values.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          },
          "partialMaintenanceMode": {
            "description": "The following list contains the runtime status for all the partial\nmaintenance modes currently supported on the host.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPartialMaintenanceModeRuntimeInfo"
            }
          },
          "stateEncryption": {
            "description": "Host persistent state encryption information.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "$ref": "#/components/schemas/HostRuntimeInfoStateEncryptionInfo"
          }
        },
        "required": [
          "connectionState",
          "powerState",
          "inMaintenanceMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *HostRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRuntimeInfoNetStackInstanceRuntimeInfo": {
        "type": "object",
        "description": "This data type describes network stack instance runtime info\n",
        "properties": {
          "netStackInstanceKey": {
            "description": "Key of the instance\n",
            "type": "string"
          },
          "state": {
            "description": "State of the instance\nSee *HostRuntimeInfoNetStackInstanceRuntimeInfoState_enum* for valid values.\n",
            "type": "string"
          },
          "vmknicKeys": {
            "description": "The keys of vmknics that are using this stack\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maxNumberOfConnections": {
            "description": "The maximum number of socket connections can be worked on this\ninstance currently after booting up.\n",
            "type": "integer",
            "format": "int32"
          },
          "currentIpV6Enabled": {
            "description": "If true then dual IPv4/IPv6 stack enabled else IPv4 only.\n",
            "type": "boolean"
          }
        },
        "required": [
          "netStackInstanceKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *HostRuntimeInfoNetStackInstanceRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRuntimeInfoNetStackInstanceRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNetworkResourceRuntime": {
        "type": "object",
        "description": "This data type describes the network resource runtime information\n",
        "properties": {
          "pnicResourceInfo": {
            "description": "The network resource related information on each\nphysical NIC\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPnicNetworkResourceInfo"
            }
          }
        },
        "required": [
          "pnicResourceInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostNetworkResourceRuntime": {
        "type": "object",
        "description": "A boxed array of *HostNetworkResourceRuntime*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNetworkResourceRuntime"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRuntimeInfoNetworkRuntimeInfo": {
        "type": "object",
        "description": "This data type describes network related runtime info\n",
        "properties": {
          "netStackInstanceRuntimeInfo": {
            "description": "The list of network stack runtime info\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRuntimeInfoNetStackInstanceRuntimeInfo"
            }
          },
          "networkResourceRuntime": {
            "description": "The network resource runtime information\n",
            "$ref": "#/components/schemas/HostNetworkResourceRuntime"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostRuntimeInfoNetworkRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *HostRuntimeInfoNetworkRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRuntimeInfoNetworkRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPlacedVirtualNicIdentifier": {
        "type": "object",
        "description": "This data type describes the Virtual Machine and\nVirtual NIC to identify virtual adapters placed\non a physical NIC\n",
        "properties": {
          "vm": {
            "description": "The Virtual Machine\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vnicKey": {
            "description": "The virtual NIC key\n",
            "type": "string"
          },
          "reservation": {
            "description": "The virtual NIC reservation\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vm",
          "vnicKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPlacedVirtualNicIdentifier": {
        "type": "object",
        "description": "A boxed array of *HostPlacedVirtualNicIdentifier*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlacedVirtualNicIdentifier"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPnicNetworkResourceInfo": {
        "type": "object",
        "description": "This data type describes the avaialable capacity\nfor VM traffic on a physical NIC\n",
        "properties": {
          "pnicDevice": {
            "description": "The physical NIC device\n",
            "type": "string"
          },
          "availableBandwidthForVMTraffic": {
            "description": "The total bandwidth available for VM traffic\n",
            "type": "integer",
            "format": "int64"
          },
          "unusedBandwidthForVMTraffic": {
            "description": "The unused bandwidth for VM traffic\n",
            "type": "integer",
            "format": "int64"
          },
          "placedVirtualNics": {
            "description": "The connected virtual NICs of powered on Virtual Machines\nthat are placed on this physical NIC\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPlacedVirtualNicIdentifier"
            }
          }
        },
        "required": [
          "pnicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostPnicNetworkResourceInfo": {
        "type": "object",
        "description": "A boxed array of *HostPnicNetworkResourceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPnicNetworkResourceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostRuntimeInfoStateEncryptionInfo": {
        "type": "object",
        "description": "This data type describes the host's persistent state encryption.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "protectionMode": {
            "description": "The state encryption key protection mode.\n\nThe host state is encrypted with a key that is protected using\none of the modes specified by *HostRuntimeInfoStateEncryptionInfoProtectionMode_enum*.\n",
            "type": "string"
          },
          "requireSecureBoot": {
            "description": "Indicates if UEFI Secure Boot must be enabled in order for the\nstate encryption key to be accessible.\n",
            "type": "boolean"
          },
          "requireExecInstalledOnly": {
            "description": "Indicates if the \"execInstalledOnly\" enforcement must be active\nfor the state encryption key to be accessible.\n",
            "type": "boolean"
          }
        },
        "required": [
          "protectionMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostRuntimeInfoStateEncryptionInfo": {
        "type": "object",
        "description": "A boxed array of *HostRuntimeInfoStateEncryptionInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostRuntimeInfoStateEncryptionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostScsiDisk": {
        "type": "object",
        "description": "This data object type describes a SCSI disk.\n\nA SCSI disk contains a\npartition table which can be changed.\nTo change a SCSI disk, use the device name and the partition specification.\n\nSee also *HostStorageSystem.RetrieveDiskPartitionInfo*, *HostStorageSystem.UpdateDiskPartitions*.\n",
        "properties": {
          "capacity": {
            "description": "The size of SCSI disk using the Logical Block Addressing scheme.\n",
            "$ref": "#/components/schemas/HostDiskDimensionsLba"
          },
          "devicePath": {
            "description": "The device path of the ScsiDisk.\n\nThis device path is a file path\nthat can be opened to create partitions on the disk.\n\nSee also *HostStorageSystem.RetrieveDiskPartitionInfo*, *HostStorageSystem.UpdateDiskPartitions*.\n",
            "type": "string"
          },
          "ssd": {
            "description": "Indicates whether the ScsiDisk is SSD backed.\n\nIf unset, the information whether the ScsiDisk is SSD backed\nis unknown.\n",
            "type": "boolean"
          },
          "localDisk": {
            "description": "Indicates whether the ScsiDisk is local.\n\nIf unset, the information whether the ScsiDisk is local is unknown.\n",
            "type": "boolean"
          },
          "physicalLocation": {
            "description": "The physical location of the ScsiDisk if can be determined, otherwise\nunset.\n\nIf the ScsiDisk is a logical drive, it should be the\nlocation of all constituent physical drives of the logical drive.\nIf the ScsiDisk is a physical drive, it's an array of one element.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emulatedDIXDIFEnabled": {
            "description": "Indicates whether the ScsiDisk has emulated Data Integrity Extension\n(DIX) / Data Integrity Field (DIF) enabled.\n\nIf unset, the default value is false.\n",
            "type": "boolean"
          },
          "vsanDiskInfo": {
            "description": "Indicates the additional VSAN information\nif this disk is used by VSAN.\n",
            "$ref": "#/components/schemas/VsanHostVsanDiskInfo"
          },
          "scsiDiskType": {
            "description": "The type of disk drives.\n\nSee *ScsiDiskType_enum*\nfor definitions of supported types.\n",
            "type": "string"
          },
          "usedByMemoryTiering": {
            "description": "Indicate whether the disk is used for\nmemory tiering or not.\n\nIf unset, the default value is false.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "capacity",
          "devicePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ScsiLun"
          }
        ]
      },
      "ArrayOfHostScsiDisk": {
        "type": "object",
        "description": "A boxed array of *HostScsiDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostScsiDiskPartition": {
        "type": "object",
        "description": "This data object type describes the specification of a Disk partition.\n",
        "properties": {
          "diskName": {
            "description": "The SCSI disk device on which a VMware File System (VMFS)\nextent resides.\n\nSee also *HostScsiDisk*, *ScsiLun.canonicalName*.\n",
            "type": "string"
          },
          "partition": {
            "description": "The partition number of the partition on the ScsiDisk.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "diskName",
          "partition"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostScsiDiskPartition": {
        "type": "object",
        "description": "A boxed array of *HostScsiDiskPartition*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiDiskPartition"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScsiLun": {
        "type": "object",
        "description": "The *ScsiLun* data object describes a SCSI logical unit.\n\nA SCSI logical unit is a host device that an ESX Server or virtual machine\ncan use for I/O operations.\n\nAn ESX Server creates SCSI logical unit objects to represent\ndevices in the host configuration. (See the definition of\n*ScsiLunType_enum* for a list of the supported device types.)\nThe vSphere API uses one of two object types to represent a SCSI\nlogical unit, depending on the device type.\n- Disks containing file system volumes or parts of volumes for hosts\n  or raw disks for virtual machines. To represent disks, the ESX Server\n  creates a *HostScsiDisk* object, which inherits properties from\n  the *ScsiLun* base class.\n- Other SCSI devices, for example SCSI passthrough devices\n  for virtual machines. To represent one of these devices,\n  the ESX Server creates a *ScsiLun* object.\n  \nWhen the Server creates a *HostScsiDisk* or *ScsiLun* object,\nit specifies a valid device name and type:\n- *HostDevice.deviceName* - A string representing the name of the device\n  that is meaningful to the host. The following are some examples of\n  device names.  \n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/dev/cdrom</code>  \n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/vmkdev/vmhba0:0:1:0</code>  \n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>PhysicalDrive0</code>\n- *HostDevice.deviceType* - A string describing the type of device.\n  The following are some examples of device types.  \n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-cdrom</code>  \n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-tape</code>  \n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-disk</code>  \n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-processor</code>  \n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-unknown</code>\n",
        "properties": {
          "key": {
            "description": "Linkable identifier\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally unique identifier for the LUN used to identify ScsiLun across\nmultiple servers.\n\nThis identifier can be used to identify analogous objects in other views\nsuch as *HostMultipathInfoLogicalUnit* and *HostScsiTopologyLun*.\n\nSee also *HostMultipathInfoLogicalUnit*, *HostScsiTopologyLun*.\n",
            "type": "string"
          },
          "descriptor": {
            "description": "List of descriptors that can be used to identify the LUN object.\n\nThe\nuuid will also appear as a descriptor.\n\nThe id field in the descriptor is a string that can be used to correlate\nthe ScsiLun across multiple servers. A ScsiLun may have multiple\ndescriptors. The choice and order of these descriptors may be different\non different servers.\n\nNot all descriptors are suitable for correlation. Some descriptors are\nonly sufficient to identify the ScsiLun within a single host. Each\ndescriptor contains a quality property that indicates whether or not\nthe descriptor is suitable for correlation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScsiLunDescriptor"
            }
          },
          "canonicalName": {
            "description": "Canonical name of the SCSI logical unit.\n\nDisk partition or extent identifiers refer to this name when\nreferring to a disk. Use this property to correlate a partition\nor extent to a specific SCSI disk.\n\nSee also *HostScsiDiskPartition.diskName*.\n",
            "type": "string"
          },
          "displayName": {
            "description": "User configurable display name of the SCSI logical unit.\n\nA default\ndisplay name will be used if available. If the display name is not\nsupported, it will be unset. The display name does not have to be\nunique but it is recommended that it be unique.\n",
            "type": "string"
          },
          "lunType": {
            "description": "The type of SCSI device.\n\nMust be one of the values of\n*ScsiLunType_enum*.\n",
            "type": "string"
          },
          "vendor": {
            "description": "The vendor of the SCSI device.\n",
            "type": "string"
          },
          "model": {
            "description": "The model number of the SCSI device.\n",
            "type": "string"
          },
          "revision": {
            "description": "The revision of the SCSI device.\n",
            "type": "string"
          },
          "scsiLevel": {
            "description": "The SCSI level of the SCSI device.\n",
            "type": "integer",
            "format": "int32"
          },
          "serialNumber": {
            "description": "The serial number of the SCSI device.\n\nFor a device that is SCSI-3 compliant, this property is derived\nfrom page 80h of the Vital Product Data (VPD), as defined by the\nSCSI-3 Primary Commands (SPC-3) spec. Not all SCSI-3 compliant\ndevices provide this information. For devices that are not\nSCSI-3 compliant, this property is not defined.\n",
            "type": "string"
          },
          "durableName": {
            "description": "The durable name of the SCSI device.\n\nFor a SCSI-3 compliant device this property is derived from the\npayloads of pages 80h and 83h of the Vital Product Data (VPD) as\ndefined by the T10 and SMI standards. For devices that do not provide\nthis information, this property is not defined.\n",
            "$ref": "#/components/schemas/ScsiLunDurableName"
          },
          "alternateName": {
            "description": "Alternate durable names.\n\nRecords all available durable names derived from page 80h of the Vital\nProduct Data (VPD) and the Identification Vital Product Data (VPD) page\n83h as defined by the SCSI-3 Primary Commands. For devices that are not\nSCSI-3 compliant this property is not defined.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScsiLunDurableName"
            }
          },
          "standardInquiry": {
            "description": "Standard Inquiry payload.\n\nFor a SCSI-3 compliant device this property is derived from the\nstandard inquiry data. For devices that are not SCSI-3 compliant this\nproperty is not defined.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -128,
              "maximum": 127
            }
          },
          "queueDepth": {
            "description": "The queue depth of SCSI device.\n",
            "type": "integer",
            "format": "int32"
          },
          "operationalState": {
            "description": "The operational states of the LUN.\n\nWhen more than one item is present in the array, the first state\nshould be considered the primary state. For example, a LUN may\nbe \"ok\" and \"degraded\" indicating I/O is still possible to the LUN, but\nit is operating in a degraded mode.\n\nSee also *ScsiLunState_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "capabilities": {
            "description": "Capabilities of SCSI device.\n",
            "$ref": "#/components/schemas/ScsiLunCapabilities"
          },
          "vStorageSupport": {
            "description": "vStorage hardware acceleration support status.\n\nThis property\nrepresents storage acceleration provided by the SCSI logical unit.\nSee *ScsiLunVStorageSupportStatus_enum* for valid values.\n\nIf a storage device supports hardware acceleration,\nthe ESX host can offload specific virtual machine management\noperations to the storage device. With hardware assistance,\nthe host performs storage operations faster and consumes\nless CPU, memory, and storage fabric bandwidth.\n\nFor vSphere 4.0 or earlier hosts, this value will be unset.\n",
            "type": "string"
          },
          "protocolEndpoint": {
            "description": "Indicates that this SCSI LUN is protocol endpoint.\n\nThis\nproperty will be populated if and only if host supports\nVirtualVolume based Datastore. Check the host capability\n*HostCapability.virtualVolumeDatastoreSupported*.\nSee *HostProtocolEndpoint*.\n",
            "type": "boolean"
          },
          "perenniallyReserved": {
            "description": "Indicates the state of a perennially reserved flag for a LUN.\n\nIf\nset for Raw Device Mapped (RDM) LUNs, the host startup or LUN rescan\ntake comparatively shorter duration than when it is unset.\n",
            "type": "boolean"
          },
          "clusteredVmdkSupported": {
            "description": "Indicates if LUN has the prequisite properties to enable Clustered Vmdk\nfeature once formatted into VMFS Datastore.\n",
            "type": "boolean"
          },
          "applicationProtocol": {
            "description": "Indicates the current device protocol.\n\nApplication protocol for a device which is set based on input\nfrom vmkctl storage control plane. Must be one of the values of\n*DeviceProtocol_enum*.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "string"
          },
          "dispersedNs": {
            "description": "Indicates whether namespace is dispersed.\n\nSet to true when the namespace of LUN is dispersed.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          },
          "deviceReservation": {
            "description": "Indicates whether a device is under SCSI/NVMe reservation.\n\nDevice reservation for a SCSI/NVMe device set based on\nvalues received from vmkernel. The list of supported values is defined in\n*ScsiLunLunReservationStatus_enum*.\nIf unset, the reservation status is unknown.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          }
        },
        "required": [
          "uuid",
          "lunType",
          "operationalState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDevice"
          }
        ]
      },
      "ArrayOfScsiLun": {
        "type": "object",
        "description": "A boxed array of *ScsiLun*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScsiLun"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScsiLunCapabilities": {
        "type": "object",
        "description": "Scsi device specific capabilities.\n",
        "properties": {
          "updateDisplayNameSupported": {
            "description": "Can the display name of the SCSI device be updated?\n",
            "type": "boolean"
          }
        },
        "required": [
          "updateDisplayNameSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfScsiLunCapabilities": {
        "type": "object",
        "description": "A boxed array of *ScsiLunCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScsiLunCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScsiLunDescriptor": {
        "type": "object",
        "description": "A structure that encapsulates an identifier and its properties for the\nScsiLun object.\n",
        "properties": {
          "quality": {
            "description": "An indicator of the utility of the descriptor as an identifier that\nis stable, unique, and correlatable.\n\nSee also *ScsiLunDescriptorQuality_enum*.\n",
            "type": "string"
          },
          "id": {
            "description": "The identifier represented as a string.\n",
            "type": "string"
          }
        },
        "required": [
          "quality",
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfScsiLunDescriptor": {
        "type": "object",
        "description": "A boxed array of *ScsiLunDescriptor*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScsiLunDescriptor"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScsiLunDurableName": {
        "type": "object",
        "description": "This data object type represents an SMI-S \"Correlatable and\nDurable Name\" which is an\nidentifier for a logical unit number (LUN) that is generated using\na common algorithm.\n\nThe algorithm divides the identifier into\nmultiple namespaces where each\nnamespace uses a different set of properties of the LUN to generate\nthe identifier. The namespace itself is encoded in the identifier.\n",
        "properties": {
          "namespace": {
            "description": "The string describing the namespace used for the durable name.\n",
            "type": "string"
          },
          "namespaceId": {
            "description": "The byte used by the ESX Server product to represent the namespace.\n",
            "type": "integer",
            "minimum": -128,
            "maximum": 127
          },
          "data": {
            "description": "The variable length byte array containing the namespace-specific data.\n\nFor a SCSI-3 compliant device this field is the descriptor header\nalong with the payload for data obtained from page 83h, and is the\npayload for data obtained from page 80h of the Vital Product Data\n(VPD).\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -128,
              "maximum": 127
            }
          }
        },
        "required": [
          "namespace",
          "namespaceId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfScsiLunDurableName": {
        "type": "object",
        "description": "A boxed array of *ScsiLunDurableName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScsiLunDurableName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostScsiTopology": {
        "type": "object",
        "description": "This data object type describes the SCSI topology information.\n\nThe\ndata objects in this data object type model the\nSCSI storage objects from a topological point of view. The SCSI topological\nview organizes objects by SCSI interface, which contain targets, which in\nturn contain logical units.\n\nSCSI Topology information is not guaranteed to exhaustively enumerate all\nstorage devices on the system. It only shows storage devices that are\nactually enumerable from a host bus adapter. This means that only storage\ndevices that are composed from one or more paths, which are in turn provided\nby a host bus adapter, will appear in this inventory.\n\nStorage devices provided by the native multipathing plugin (NMP) will always\nbe represented in this inventory since NMP uses a simple policy to create\ndevices out of the paths it claims.\n\nExamples of storage devices that will not appear in this inventory are\nlogical devices that are not formed from directly claiming paths. Specific\nexamples of devices that will not appear in this inventory include a device\nbacked by a ramdisk or formed from a software RAID plugin.\n\nLegacy note: In hosts where *HostPlugStoreTopology* is not\ndefined or does not exist on the *HostStorageDeviceInfo* object,\nonly native multipathing exists. That means for these hosts, the\nScsiTopology object contains the complete set of LUNs and targets\navailable on the host.\n",
        "properties": {
          "adapter": {
            "description": "The list of SCSI interfaces.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiTopologyInterface"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostScsiTopology": {
        "type": "object",
        "description": "A boxed array of *HostScsiTopology*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiTopology"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostScsiTopologyInterface": {
        "type": "object",
        "description": "This data object type describes the SCSI interface that is associated\nwith a list of targets.\n",
        "properties": {
          "key": {
            "description": "The identifier for the SCSI interface\n",
            "type": "string"
          },
          "adapter": {
            "description": "The link to data for this SCSI interface.\n",
            "$ref": "#/components/schemas/HostHostBusAdapter"
          },
          "target": {
            "description": "The list of targets to which the SCSI interface is associated.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiTopologyTarget"
            }
          }
        },
        "required": [
          "key",
          "adapter"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostScsiTopologyInterface": {
        "type": "object",
        "description": "A boxed array of *HostScsiTopologyInterface*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiTopologyInterface"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostScsiTopologyLun": {
        "type": "object",
        "description": "This data object type describes the SCSI logical unit.\n",
        "properties": {
          "key": {
            "description": "The identifier for the SCSI Lun\n",
            "type": "string"
          },
          "lun": {
            "description": "The logical unit number of the SCSI logical unit.\n",
            "type": "integer",
            "format": "int32"
          },
          "scsiLun": {
            "description": "The link to data for this SCSI logical unit.\n",
            "$ref": "#/components/schemas/ScsiLun"
          }
        },
        "required": [
          "key",
          "lun",
          "scsiLun"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostScsiTopologyLun": {
        "type": "object",
        "description": "A boxed array of *HostScsiTopologyLun*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiTopologyLun"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostScsiTopologyTarget": {
        "type": "object",
        "description": "This data object type describes the SCSI target that is associated\nwith a list of logical units.\n",
        "properties": {
          "key": {
            "description": "The identifier for the SCSI target\n",
            "type": "string"
          },
          "target": {
            "description": "The target identifier.\n",
            "type": "integer",
            "format": "int32"
          },
          "lun": {
            "description": "The list of SCSI logical units with which a target is associated.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiTopologyLun"
            }
          },
          "transport": {
            "description": "SCSI Transport information about the target.\n",
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        },
        "required": [
          "key",
          "target"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostScsiTopologyTarget": {
        "type": "object",
        "description": "A boxed array of *HostScsiTopologyTarget*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiTopologyTarget"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSecuritySpec": {
        "type": "object",
        "description": "DataObject used for configuring the Security settings\n",
        "properties": {
          "adminPassword": {
            "description": "Administrator password to configure\n",
            "type": "string",
            "format": "password"
          },
          "removePermission": {
            "description": "Permissions to remove\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Permission"
            }
          },
          "addPermission": {
            "description": "Permissions to add\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Permission"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSecuritySpec": {
        "type": "object",
        "description": "A boxed array of *HostSecuritySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSecuritySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSerialAttachedHba": {
        "type": "object",
        "description": "The data object type describes the\nSerial Attached Scsi(SAS) interface.\n",
        "properties": {
          "nodeWorldWideName": {
            "description": "The world wide node name for the adapter.\n",
            "type": "string"
          }
        },
        "required": [
          "nodeWorldWideName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHostBusAdapter"
          }
        ]
      },
      "ArrayOfHostSerialAttachedHba": {
        "type": "object",
        "description": "A boxed array of *HostSerialAttachedHba*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSerialAttachedHba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSerialAttachedTargetTransport": {
        "type": "object",
        "description": "Serial attached adapter transport information about a SCSI target.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        ]
      },
      "ArrayOfHostSerialAttachedTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostSerialAttachedTargetTransport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSerialAttachedTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostService": {
        "type": "object",
        "description": "Data object that describes a single service that runs on the host.\n",
        "properties": {
          "key": {
            "description": "Brief identifier for the service.\n",
            "type": "string"
          },
          "label": {
            "description": "Display label for the service.\n",
            "type": "string"
          },
          "required": {
            "description": "Flag indicating whether the service is required and cannot be disabled.\n",
            "type": "boolean"
          },
          "uninstallable": {
            "deprecated": true,
            "description": "Deprecated this flag is unimplemented and will always be set to false.\n\nFlag indicating whether the service can be uninstalled.\n",
            "type": "boolean"
          },
          "running": {
            "description": "Flag indicating whether the service is currently running.\n",
            "type": "boolean"
          },
          "ruleset": {
            "description": "List of firewall rulesets used by this service.\n\nMust come from the\nlist of rulesets in *HostFirewallInfo.ruleset*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "policy": {
            "description": "Service activation policy.\n\nSee also *HostServicePolicy_enum*.\n",
            "type": "string"
          },
          "sourcePackage": {
            "description": "The source package associated with the service\n",
            "$ref": "#/components/schemas/HostServiceSourcePackage"
          }
        },
        "required": [
          "key",
          "label",
          "required",
          "uninstallable",
          "running",
          "policy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostService": {
        "type": "object",
        "description": "A boxed array of *HostService*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostService"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostServiceSourcePackage": {
        "type": "object",
        "properties": {
          "sourcePackageName": {
            "description": "The name of the source package\n",
            "type": "string"
          },
          "description": {
            "description": "The description of the source package\n",
            "type": "string"
          }
        },
        "required": [
          "sourcePackageName",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostServiceSourcePackage": {
        "type": "object",
        "description": "A boxed array of *HostServiceSourcePackage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostServiceSourcePackage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostServiceConfig": {
        "type": "object",
        "description": "DataObject representing configuration for a particular\nservice.\n",
        "properties": {
          "serviceId": {
            "description": "Key of the service to configure.\n",
            "type": "string"
          },
          "startupPolicy": {
            "description": "Startup policy which defines how the service be configured.\n\nSee @link Service.Policy for possible values.\n",
            "type": "string"
          }
        },
        "required": [
          "serviceId",
          "startupPolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostServiceConfig": {
        "type": "object",
        "description": "A boxed array of *HostServiceConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostServiceConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostServiceInfo": {
        "type": "object",
        "description": "Data object describing the host service configuration.\n",
        "properties": {
          "service": {
            "description": "List of configured services.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostService"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostServiceInfo": {
        "type": "object",
        "description": "A boxed array of *HostServiceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostServiceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSevInfo": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "sevState": {
            "description": "State of SEV on the host.\n\nThe set of supported values are described\nin *HostSevInfoSevState_enum*.\n",
            "type": "string"
          },
          "maxSevEsGuests": {
            "description": "The maximum number of SEV-ES and SEV-SNP guests supported on this host.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "sevState",
          "maxSevEsGuests"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSevInfo": {
        "type": "object",
        "description": "A boxed array of *HostSevInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSevInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSgxInfo": {
        "type": "object",
        "description": "Data object describing the Software Guard Extension (SGX)\nconfiguration on the ESXi host.\n",
        "properties": {
          "sgxState": {
            "description": "SGX state of the host.\n\nThe set of supported values are described\nin *HostSgxInfoSgxStates_enum*.\n",
            "type": "string"
          },
          "totalEpcMemory": {
            "description": "Size of physical EPC in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "flcMode": {
            "description": "FLC mode of the host.\n\nThe set of supported values are\ndescribed in *HostSgxInfoFlcModes_enum*.\n",
            "type": "string"
          },
          "lePubKeyHash": {
            "description": "Public key hash of the provider launch enclave.\n\nThis is the SHA256\ndigest of the SIGSTRUCT.MODULUS(MR\\_SIGNER) of the provider launch\nenclave. This attribute is set only if attribute flcMode is\nlocked.\n",
            "type": "string"
          },
          "registrationInfo": {
            "description": "***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/HostSgxRegistrationInfo"
          }
        },
        "required": [
          "sgxState",
          "totalEpcMemory",
          "flcMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSgxInfo": {
        "type": "object",
        "description": "A boxed array of *HostSgxInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSgxInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSgxRegistrationInfo": {
        "type": "object",
        "description": "Data object describing SGX host registration information.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "status": {
            "description": "SGX host registration status.\n\nValid values come from *HostSgxRegistrationInfoRegistrationStatus_enum* enum.\nSet, except in case of an internal error.\n",
            "type": "string"
          },
          "biosError": {
            "description": "BIOS error related to SGX host registration.\n\nSet only if SGX registration status is incomplete.\n",
            "type": "integer",
            "format": "int32"
          },
          "registrationUrl": {
            "description": "SGX host registration URL.\n\nUnset if SGX registration status is not applicable\nor in case of an internal error.\n",
            "type": "string"
          },
          "type": {
            "description": "SGX host registration type.\n\nValid values come from *HostSgxRegistrationInfoRegistrationType_enum* enum.\nUnset if SGX registration status is not applicable,\ncomplete, or in case of an internal error.\n",
            "type": "string"
          },
          "ppid": {
            "description": "Platform Provisioning ID (PPID).\n\nHex-encoded representation of the the PPID\n(Platform Provisioning ID), returned as the response\nto a successful registration request. This field\nis populated only on the vCenter through which\nthe host has been registered.\n",
            "type": "string"
          },
          "lastRegisteredTime": {
            "description": "Timestamp of last successful registration\nfrom this vCenter.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSgxRegistrationInfo": {
        "type": "object",
        "description": "A boxed array of *HostSgxRegistrationInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSgxRegistrationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSharedGpuCapabilities": {
        "type": "object",
        "description": "Capability vector indicating the available shared graphics features.\n",
        "properties": {
          "vgpu": {
            "description": "Name of a particular VGPU available as a shared GPU device.\n\nSee also *VirtualMachinePciSharedGpuPassthroughInfo*.\n",
            "type": "string"
          },
          "diskSnapshotSupported": {
            "description": "Indicates whether the GPU plugin on this host is capable of\ndisk-only snapshots when VM is not powered off.\n\nDisk Snaphosts\non powered off VM are always supported.\n",
            "type": "boolean"
          },
          "memorySnapshotSupported": {
            "description": "Indicates whether the GPU plugin on this host is capable of\nmemory snapshots.\n",
            "type": "boolean"
          },
          "suspendSupported": {
            "description": "Indicates whether the GPU plugin on this host is capable of\nsuspend-resume.\n",
            "type": "boolean"
          },
          "migrateSupported": {
            "description": "Indicates whether the GPU plugin on this host is capable of\nmigration.\n",
            "type": "boolean"
          }
        },
        "required": [
          "vgpu",
          "diskSnapshotSupported",
          "memorySnapshotSupported",
          "suspendSupported",
          "migrateSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSharedGpuCapabilities": {
        "type": "object",
        "description": "A boxed array of *HostSharedGpuCapabilities*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSharedGpuCapabilities"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSnmpSystemAgentLimits": {
        "type": "object",
        "properties": {
          "maxReadOnlyCommunities": {
            "description": "number of allowed communities\n",
            "type": "integer",
            "format": "int32"
          },
          "maxTrapDestinations": {
            "description": "number of allowed destinations for notifications\n",
            "type": "integer",
            "format": "int32"
          },
          "maxCommunityLength": {
            "description": "Max length of community\n",
            "type": "integer",
            "format": "int32"
          },
          "maxBufferSize": {
            "description": "SNMP input buffer size\n",
            "type": "integer",
            "format": "int32"
          },
          "capability": {
            "description": "Supported Capability for this agent\n",
            "$ref": "#/components/schemas/HostSnmpAgentCapability_enum"
          }
        },
        "required": [
          "maxReadOnlyCommunities",
          "maxTrapDestinations",
          "maxCommunityLength",
          "maxBufferSize",
          "capability"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSnmpSystemAgentLimits": {
        "type": "object",
        "description": "A boxed array of *HostSnmpSystemAgentLimits*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSnmpSystemAgentLimits"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSnmpConfigSpec": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "readOnlyCommunities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trapTargets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSnmpDestination"
            }
          },
          "option": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSnmpConfigSpec": {
        "type": "object",
        "description": "A boxed array of *HostSnmpConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSnmpConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSnmpDestination": {
        "type": "object",
        "description": "Defines a receiver for SNMP Notifications\n",
        "properties": {
          "hostName": {
            "description": "A system listening for SNMP notifications.\n\nThese must be a IPv4 unicast address or resolvable dns name.\n",
            "type": "string"
          },
          "port": {
            "description": "UDP port to Notification receiver is listening on.\n\nudp/162 is\nthe reserved port\n",
            "type": "integer",
            "format": "int32"
          },
          "community": {
            "type": "string"
          }
        },
        "required": [
          "hostName",
          "port",
          "community"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSnmpDestination": {
        "type": "object",
        "description": "A boxed array of *HostSnmpDestination*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSnmpDestination"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SoftwarePackage": {
        "type": "object",
        "description": "Software Packages provide discrete version and packaging.\n\nThis data is reported by CLI:: esxcli software vib get -n ...\n",
        "properties": {
          "name": {
            "description": "Identifier that uniquely identifies the software package.\n",
            "type": "string"
          },
          "version": {
            "description": "Version string uniquely identifies this package.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of vib installed.\n\nSee *SoftwarePackageVibType_enum*.\n",
            "type": "string"
          },
          "vendor": {
            "description": "The corporate entity that created this package.\n",
            "type": "string"
          },
          "acceptanceLevel": {
            "description": "See also *HostImageAcceptanceLevel_enum*.\n",
            "type": "string"
          },
          "summary": {
            "description": "A brief description of the package contents.\n",
            "type": "string"
          },
          "description": {
            "description": "A full account of the package contents.\n",
            "type": "string"
          },
          "referenceURL": {
            "description": "The list of SupportReference objects with in-depth support information.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "creationDate": {
            "description": "The time when the package was installed.\n\nOn Autodeploy stateless installs\nthere is no set value.\n",
            "type": "string",
            "format": "date-time"
          },
          "depends": {
            "description": "A list of VIBs that must be installed at the same time as this VIB.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Relation"
            }
          },
          "conflicts": {
            "description": "A list of VIBs that cannot be installed at the same time as\nthis VIB for a given version.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Relation"
            }
          },
          "replaces": {
            "description": "A list of SoftwareConstraint objects that identify VIBs that\nreplace this VIB or make it obsolete.\n\nVIBs automatically replace VIBs with\nthe same name but lower versions.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Relation"
            }
          },
          "provides": {
            "description": "A list of virtual packages or interfaces this VIB provides.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maintenanceModeRequired": {
            "description": "True if hosts must be in maintenance mode for installation of this VIB.\n",
            "type": "boolean"
          },
          "hardwarePlatformsRequired": {
            "description": "A list of hardware platforms this package is supported on.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "capability": {
            "description": "A set of optional attributes for this package.\n",
            "$ref": "#/components/schemas/SoftwarePackageCapability"
          },
          "tag": {
            "description": "A list of string tags for this package defined by the vendor\nor publisher.\n\nTags can be used to identify characteristics of a package.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "payload": {
            "description": "A list of string tags to indicate one or more of what is\ncontained: may be one of bootloader, upgrade, bootisobios, bootisoefi,\nvgz, tgz, boot or other values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "version",
          "type",
          "vendor",
          "acceptanceLevel",
          "summary",
          "description",
          "capability"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSoftwarePackage": {
        "type": "object",
        "description": "A boxed array of *SoftwarePackage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SoftwarePackage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SoftwarePackageCapability": {
        "type": "object",
        "properties": {
          "liveInstallAllowed": {
            "description": "True if live installs of this VIB are supported.\n",
            "type": "boolean"
          },
          "liveRemoveAllowed": {
            "description": "True if live removals of this VIB are supported.\n",
            "type": "boolean"
          },
          "statelessReady": {
            "description": "True if the package supports host profiles or other technologies\nthat make it suitable for use in conjunction with vSphere Auto Deploy.\n",
            "type": "boolean"
          },
          "overlay": {
            "description": "True if this vib will supplant files from another package at runtime.\n\nWhen False this prevents two packages from installing the same file.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSoftwarePackageCapability": {
        "type": "object",
        "description": "A boxed array of *SoftwarePackageCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SoftwarePackageCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "Relation": {
        "type": "object",
        "properties": {
          "constraint": {
            "description": "If contraint is not set, the relation holds for all versions.\n\nand if a constraint is defined it will be one of\n*SoftwarePackageConstraint_enum*.\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfRelation": {
        "type": "object",
        "description": "A boxed array of *Relation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Relation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSriovConfig": {
        "type": "object",
        "description": "This data object allows configuration of SR-IOV device.\n",
        "properties": {
          "sriovEnabled": {
            "description": "enable SR-IOV for this device\n",
            "type": "boolean"
          },
          "numVirtualFunction": {
            "description": "Number of SR-IOV virtual functions to enable on this device\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "sriovEnabled",
          "numVirtualFunction"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostPciPassthruConfig"
          }
        ]
      },
      "ArrayOfHostSriovConfig": {
        "type": "object",
        "description": "A boxed array of *HostSriovConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSriovConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSriovDevicePoolInfo": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSriovDevicePoolInfo": {
        "type": "object",
        "description": "A boxed array of *HostSriovDevicePoolInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSriovDevicePoolInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSriovInfo": {
        "type": "object",
        "description": "This data object provides information about the state of SR-IOV device.\n",
        "properties": {
          "sriovEnabled": {
            "description": "Whether SRIOV has been enabled by the user\n",
            "type": "boolean"
          },
          "sriovCapable": {
            "description": "Whether SRIOV is possible for this device\n",
            "type": "boolean"
          },
          "sriovActive": {
            "description": "Whether SRIOV is active for this device (meaning enabled + rebooted)\n",
            "type": "boolean"
          },
          "numVirtualFunctionRequested": {
            "description": "Number of SRIOV virtual functions requested for this device\n",
            "type": "integer",
            "format": "int32"
          },
          "numVirtualFunction": {
            "description": "Number of SRIOV virtual functions present on this device\n",
            "type": "integer",
            "format": "int32"
          },
          "maxVirtualFunctionSupported": {
            "description": "Maximum number of SRIOV virtual functions supported on this device\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "sriovEnabled",
          "sriovCapable",
          "sriovActive",
          "numVirtualFunctionRequested",
          "numVirtualFunction",
          "maxVirtualFunctionSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostPciPassthruInfo"
          }
        ]
      },
      "ArrayOfHostSriovInfo": {
        "type": "object",
        "description": "A boxed array of *HostSriovInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSriovInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSriovNetworkDevicePoolInfo": {
        "type": "object",
        "description": "Information on networking specific SR-IOV device pools\n",
        "properties": {
          "switchKey": {
            "description": "vSwitch key\n",
            "type": "string"
          },
          "switchUuid": {
            "description": "DVS Uuid\n",
            "type": "string"
          },
          "pnic": {
            "description": "List of SR-IOV enabled physical nics that are backing the portgroup\nidentified by above key\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNic"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostSriovDevicePoolInfo"
          }
        ]
      },
      "ArrayOfHostSriovNetworkDevicePoolInfo": {
        "type": "object",
        "description": "A boxed array of *HostSriovNetworkDevicePoolInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSriovNetworkDevicePoolInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSslThumbprintInfo": {
        "type": "object",
        "description": "The SSL thumbprint information for a host managed by a vCenter Server\nor a vCenter extension to login into other hosts without\nusername/password authentication.\n",
        "properties": {
          "principal": {
            "description": "The principal used for the login session\n",
            "type": "string"
          },
          "ownerTag": {
            "description": "The tag associated with this registration.\n\nOwner tags allow\nmultiple entities to register the same thumbprint without\ninterfering with each other on the life cycle of the thumbprint with\ntheir unique tags.\nEach solution should use a unique tag to identify itself.\n",
            "type": "string"
          },
          "sslThumbprints": {
            "description": "Specify the SSL thumbprints to register on the host.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "principal",
          "ownerTag"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSslThumbprintInfo": {
        "type": "object",
        "description": "A boxed array of *HostSslThumbprintInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSslThumbprintInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostStorageArrayTypePolicyOption": {
        "type": "object",
        "description": "Description of options associated with a native multipathing\nstorage array type plugin.\n",
        "properties": {
          "policy": {
            "description": "Description of the paths selection policy.\n\nUse the key as the\nidentifier.\n",
            "$ref": "#/components/schemas/ElementDescription"
          }
        },
        "required": [
          "policy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostStorageArrayTypePolicyOption": {
        "type": "object",
        "description": "A boxed array of *HostStorageArrayTypePolicyOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStorageArrayTypePolicyOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostStorageDeviceInfo": {
        "type": "object",
        "description": "This data object type describes the storage subsystem configuration.\n",
        "properties": {
          "hostBusAdapter": {
            "description": "The list of host bus adapters available on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHostBusAdapter"
            }
          },
          "scsiLun": {
            "description": "The list of SCSI logical units available on the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScsiLun"
            }
          },
          "scsiTopology": {
            "description": "Storage topology view of SCSI storage devices.\n\nThis data object\nexists only if storage topology information is available. See the\n*ScsiTopology* data object type for\nmore information.\n",
            "$ref": "#/components/schemas/HostScsiTopology"
          },
          "nvmeTopology": {
            "description": "Topology view of NVME storage devices.\n\nThis data object exists\nonly if storage topology information is available. See the\n*HostNvmeTopology* data object type for more information.\n",
            "$ref": "#/components/schemas/HostNvmeTopology"
          },
          "multipathInfo": {
            "description": "The multipath configuration that controls multipath policy for ScsiLuns.\n\nThis data object exists only if path information is available and is\nconfigurable.\n",
            "$ref": "#/components/schemas/HostMultipathInfo"
          },
          "plugStoreTopology": {
            "description": "The plug-store topology on the host system.\n\nThis data object exists only if\nthe plug-store system is available and configurable.\n",
            "$ref": "#/components/schemas/HostPlugStoreTopology"
          },
          "softwareInternetScsiEnabled": {
            "description": "Indicates if the software iSCSI initiator is enabled on this system\n",
            "type": "boolean"
          }
        },
        "required": [
          "softwareInternetScsiEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostStorageDeviceInfo": {
        "type": "object",
        "description": "A boxed array of *HostStorageDeviceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStorageDeviceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostStorageSystemDiskLocatorLedResult": {
        "type": "object",
        "description": "Contains the result of turn Disk Locator Led On/Off request.\n\nUsed as return value\nby *HostStorageSystem.TurnDiskLocatorLedOn_Task* and\n*HostStorageSystem.TurnDiskLocatorLedOff_Task*.\n",
        "properties": {
          "key": {
            "description": "UUID of LUN that has failed to turn on/off disk locator LED.\n",
            "type": "string"
          },
          "fault": {
            "description": "The reason why the operation did not succeed.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "key",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostStorageSystemDiskLocatorLedResult": {
        "type": "object",
        "description": "A boxed array of *HostStorageSystemDiskLocatorLedResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStorageSystemDiskLocatorLedResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostStorageSystemScsiLunResult": {
        "type": "object",
        "description": "Contains the result of SCSI LUN operation requests.\n\nUsed as return value\nby *HostStorageSystem.AttachScsiLunEx_Task*,\n*HostStorageSystem.DetachScsiLunEx_Task* and\n*HostStorageSystem.MarkPerenniallyReservedEx_Task*\n",
        "properties": {
          "key": {
            "description": "UUID of LUN on which the LUN operation was requested.\n",
            "type": "string"
          },
          "fault": {
            "description": "Fault if operation fails\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostStorageSystemScsiLunResult": {
        "type": "object",
        "description": "A boxed array of *HostStorageSystemScsiLunResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStorageSystemScsiLunResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostStorageSystemVmfsVolumeResult": {
        "type": "object",
        "description": "Contains the result of the operation performed on a VMFS volume.\n",
        "properties": {
          "key": {
            "description": "UUID of VMFS volume\n",
            "type": "string"
          },
          "fault": {
            "description": "Fault if volume operation fails, unset if operation succeeds\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostStorageSystemVmfsVolumeResult": {
        "type": "object",
        "description": "A boxed array of *HostStorageSystemVmfsVolumeResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostStorageSystemVmfsVolumeResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostListSummary": {
        "type": "object",
        "description": "This data object type encapsulates a typical set of host information that is useful\nfor list views and summary pages.\n\nVirtualCenter can retrieve this information very efficiently, even for a large set\nof hosts.\n",
        "properties": {
          "host": {
            "description": "The reference to the host-managed object.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "hardware": {
            "description": "Basic hardware information, if known.\n",
            "$ref": "#/components/schemas/HostHardwareSummary"
          },
          "runtime": {
            "description": "Basic runtime information, if known.\n",
            "$ref": "#/components/schemas/HostRuntimeInfo"
          },
          "config": {
            "description": "Basic configuration information, if known.\n",
            "$ref": "#/components/schemas/HostConfigSummary"
          },
          "quickStats": {
            "description": "Basic host statistics.\n",
            "$ref": "#/components/schemas/HostListSummaryQuickStats"
          },
          "overallStatus": {
            "description": "The overall alarm status of the host.\n\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "rebootRequired": {
            "description": "Indicates whether or not the host requires a reboot due to a configuration\nchange.\n",
            "type": "boolean"
          },
          "customValue": {
            "description": "The customized field values.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValue"
            }
          },
          "managementServerIp": {
            "description": "IP address of the VirtualCenter server managing this host, if any.\n",
            "type": "string"
          },
          "maxEVCModeKey": {
            "description": "The most capable Enhanced VMotion Compatibility mode supported by the\nhost hardware and software; unset if this host cannot participate in\nany EVC mode.\n\nSee also *Capability.supportedEVCMode*.\n",
            "type": "string"
          },
          "currentEVCModeKey": {
            "description": "The Enhanced VMotion Compatibility mode that is currently in effect\nfor this host.\n\nIf the host is in a cluster where EVC is active, this\nwill match the cluster's EVC mode; otherwise this will be unset.\n\nSee also *Capability.supportedEVCMode*.\n",
            "type": "string"
          },
          "currentEVCGraphicsModeKey": {
            "description": "The Enhanced VMotion Compatibility Graphics mode that is currently in\neffect for this host.\n\nIf the host is in a cluster where EVC is active,\nthis will match the cluster's EVC Graphics mode; otherwise this will\nbe unset.\n\nSee also *Capability.supportedEVCGraphicsMode*.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "string"
          },
          "gateway": {
            "description": "Gateway configuration, if vCenter server manages the host via a gateway\n",
            "$ref": "#/components/schemas/HostListSummaryGatewaySummary"
          },
          "tpmAttestation": {
            "$ref": "#/components/schemas/HostTpmAttestationInfo"
          },
          "trustAuthorityAttestationInfos": {
            "description": "The attestation information for the host as retrieved from any Trust\nAuthority attestation services configured in the host's parent compute\nresource.\n\nThis field will be set only if there is any Trust Authority\nattestation service configured for the host's parent compute resource,\nand unset otherwise.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTrustAuthorityAttestationInfo"
            }
          }
        },
        "required": [
          "config",
          "quickStats",
          "overallStatus",
          "rebootRequired"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostListSummary": {
        "type": "object",
        "description": "A boxed array of *HostListSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostListSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostConfigSummary": {
        "type": "object",
        "description": "An overview of the key configuration parameters.\n",
        "properties": {
          "name": {
            "description": "The name of the host.\n",
            "type": "string"
          },
          "port": {
            "description": "The port number.\n",
            "type": "integer",
            "format": "int32"
          },
          "sslThumbprint": {
            "description": "The SSL thumbprint of the host, if known.\n",
            "type": "string"
          },
          "product": {
            "description": "Information about the software running on the host, if known.\n\nThe current supported hosts are ESX Server 2.0.1 (and later) and VMware Server\n2.0.0 (and later).\n",
            "$ref": "#/components/schemas/AboutInfo"
          },
          "vmotionEnabled": {
            "description": "The flag to indicate whether or not VMotion is enabled on this host.\n",
            "type": "boolean"
          },
          "faultToleranceEnabled": {
            "description": "The flag to indicate whether or not Fault Tolerance logging is enabled on this host.\n",
            "type": "boolean"
          },
          "featureVersion": {
            "description": "List of feature-specific version information.\n\nEach element refers\nto the version information for a specific feature.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureVersionInfo"
            }
          },
          "agentVmDatastore": {
            "description": "Datastore used to deploy Agent VMs on for this host.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "agentVmNetwork": {
            "description": "Management network for Agent VMs.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name",
          "port",
          "vmotionEnabled",
          "faultToleranceEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostConfigSummary": {
        "type": "object",
        "description": "A boxed array of *HostConfigSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostConfigSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostListSummaryGatewaySummary": {
        "type": "object",
        "description": "This data object type describes information about a host gateway server\nthat is used for the connection between vCenter Server and the host.\n\nGateway servers are identified by type and id. In order to use\na gateway server it has to be registered with the respective type and id\nin the vCenter Lookup Service.\n",
        "properties": {
          "gatewayType": {
            "description": "The type of the gateway server used for communication with the host.\n\nThis is an opaque string that depends on how the gateway server is\nregistered with the vCenter Component Manager Service. There might be\nseveral gateway servers for the same type.\n",
            "type": "string"
          },
          "gatewayId": {
            "description": "Unique ID of the gateway server used for communication with the host.\n\nThis ID must be a unique identifier for the gateway server as\nregistered in the vCenter Component Manager Service. There must be\nonly one gateway server with the same ID.\n",
            "type": "string"
          }
        },
        "required": [
          "gatewayType",
          "gatewayId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostListSummaryGatewaySummary": {
        "type": "object",
        "description": "A boxed array of *HostListSummaryGatewaySummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostListSummaryGatewaySummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostHardwareSummary": {
        "type": "object",
        "description": "This data object type summarizes hardware used by the host.\n",
        "properties": {
          "vendor": {
            "description": "The hardware vendor identification.\n",
            "type": "string"
          },
          "model": {
            "description": "The system model identification.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The hardware BIOS identification.\n",
            "type": "string"
          },
          "otherIdentifyingInfo": {
            "description": "Other identification information.\n\nThis information may be vendor\nspecific.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemIdentificationInfo"
            }
          },
          "memorySize": {
            "description": "The physical memory size in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "cpuModel": {
            "description": "The CPU model.\n",
            "type": "string"
          },
          "cpuMhz": {
            "description": "The speed of the CPU cores.\n\nThis is an average value if there are multiple\nspeeds. The product of cpuMhz and numCpuCores is approximately equal to the\nsum of the MHz for all the individual cores on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "numCpuPkgs": {
            "description": "Number of physical CPU packages on the host.\n\nPhysical CPU packages are chips\nthat contain one or more processors. Processors contained by a package are\nalso known as CPU cores. For example, one dual-core package is comprised of\none chip that contains two CPU cores.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "numCpuCores": {
            "description": "Number of physical CPU cores on the host.\n\nPhysical CPU cores are the\nprocessors contained by a CPU package.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "numCpuThreads": {
            "description": "Number of physical CPU threads on the host.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "numNics": {
            "description": "The number of network adapters.\n",
            "type": "integer",
            "format": "int32"
          },
          "numHBAs": {
            "description": "The number of host bus adapters (HBAs).\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vendor",
          "model",
          "uuid",
          "memorySize",
          "cpuModel",
          "cpuMhz",
          "numCpuPkgs",
          "numCpuCores",
          "numCpuThreads",
          "numNics",
          "numHBAs"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostHardwareSummary": {
        "type": "object",
        "description": "A boxed array of *HostHardwareSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostHardwareSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostListSummaryQuickStats": {
        "type": "object",
        "description": "Basic host statistics.\n\nIncluded in the host statistics are fairness scores. Fairness scores are\nrepresented in units with relative values, meaning they are evaluated relative to\nthe scores of other hosts. They should not be thought of as having any particular\nabsolute value. Each fairness unit represents an increment of 0.001 in a fairness\nscore. The further the fairness score diverges from 1, the less fair the\nallocation. Therefore, a fairness score of 990, representing 0.990, is more fair\nthan a fairness score of 1015, which represents 1.015. This is because 1.015 is\nfurther from 1 than 0.990.\n",
        "properties": {
          "overallCpuUsage": {
            "description": "Aggregated CPU usage across all cores on the host in MHz.\n\nThis is only\navailable if the host is connected.\n",
            "type": "integer",
            "format": "int32"
          },
          "overallMemoryUsage": {
            "description": "Physical memory usage on the host in MB.\n\nThis is only available if the\nhost is connected.\n",
            "type": "integer",
            "format": "int32"
          },
          "distributedCpuFairness": {
            "description": "The fairness of distributed CPU resource allocation on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "distributedMemoryFairness": {
            "description": "The fairness of distributed memory resource allocation on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "availablePMemCapacity": {
            "description": "The available capacity in MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "uptime": {
            "description": "The system uptime of the host in seconds.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostListSummaryQuickStats": {
        "type": "object",
        "description": "A boxed array of *HostListSummaryQuickStats*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostListSummaryQuickStats"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SystemEventInfo": {
        "type": "object",
        "description": "IPMI System Event Log (SEL) provides a history of hardware sensor states.\n\nThis is defined in IPMI specification, section 32.1 SEL Event Records.\nCLI:: esxcli hardware ipmi sel list\n",
        "properties": {
          "recordId": {
            "description": "The recordId uniquely identifies an entry in IPMI System Event Log.\n",
            "type": "integer",
            "format": "int64"
          },
          "when": {
            "description": "A ISO 8601 timestamp when the event was added to IPMI System Event Log.\n\nThis timestamp comes from the IPMI subsystem clock and may not be\nthe same as hypervisor's clock.\n",
            "type": "string"
          },
          "selType": {
            "description": "The IPMI SEL type defines the if the SEL event uses\nthe system event format format or is OEM defined.\n\nA value of 2 indicates system event.\nValues 0xC0-0xDF, 0xE0-0xFF are OEM event ranges.\n",
            "type": "integer",
            "format": "int64"
          },
          "message": {
            "description": "A description of what the event is about.\n",
            "type": "string"
          },
          "sensorNumber": {
            "description": "The IPMI Sensor/probe that is reporting this event.\n\nA value of zero (0) indicates event has no related sensor.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "recordId",
          "when",
          "selType",
          "message",
          "sensorNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSystemEventInfo": {
        "type": "object",
        "description": "A boxed array of *SystemEventInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SystemEventInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemHealthInfo": {
        "type": "object",
        "description": "This data object provides information about the health of the phyical\nsystem.\n\nThe data is retrieved from numeric sensor probes.\n",
        "properties": {
          "numericSensorInfo": {
            "description": "Health information provided by the power probes.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNumericSensorInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSystemHealthInfo": {
        "type": "object",
        "description": "A boxed array of *HostSystemHealthInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemHealthInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemIdentificationInfo": {
        "type": "object",
        "description": "This data object describes system identifying information of the host.\n\nThis\ninformation may be vendor specific.\n",
        "properties": {
          "identifierValue": {
            "description": "The system identification information\n",
            "type": "string"
          },
          "identifierType": {
            "description": "The description of the identifying information.\n\nSee also *HostSystemIdentificationInfoIdentifier_enum*.\n",
            "$ref": "#/components/schemas/ElementDescription"
          }
        },
        "required": [
          "identifierValue",
          "identifierType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSystemIdentificationInfo": {
        "type": "object",
        "description": "A boxed array of *HostSystemIdentificationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemIdentificationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemInfo": {
        "type": "object",
        "description": "Information about the system as a whole.\n",
        "properties": {
          "vendor": {
            "description": "Hardware vendor identification.\n",
            "type": "string"
          },
          "model": {
            "description": "System model identification.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Hardware BIOS identification.\n",
            "type": "string"
          },
          "otherIdentifyingInfo": {
            "description": "Other System identification information.\n\nThis information may be vendor\nspecific\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemIdentificationInfo"
            }
          },
          "serialNumber": {
            "type": "string"
          },
          "qualifiedName": {
            "description": "List of qualified names used to identify the host in a specific context.\n\nUnlike the other types of system identification information, these can\npotentially change as a result of configuration.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostQualifiedName"
            }
          },
          "vvolHostNQN": {
            "description": "NVMe qualified name used by Vvol.\n\nA unique name, assigned to each host used by Vvol.\nObtained through vmkctl storage control path while fetching the NVMe info.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
            "$ref": "#/components/schemas/HostQualifiedName"
          },
          "vvolHostId": {
            "description": "Host id used by Vvol.\n\nThe hostd id, obtained through vmkctl storage control path while\nfetching the NVMe info.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
            "type": "string"
          },
          "bootCommandLine": {
            "description": "Command line string to identify different boot options used for host.\n\nExample of different boot options are:\n- \"runweasel\": \"System is booted for weasel installation\"\n- \"ks\": \"System is booted for kickstart installation\"\n  \n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          }
        },
        "required": [
          "vendor",
          "model",
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSystemInfo": {
        "type": "object",
        "description": "A boxed array of *HostSystemInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemResourceInfo": {
        "type": "object",
        "description": "The SystemResourceInfo data object describes the configuration of\na single system resource group.\n\nSystem resource groups are analogous\nto *ResourcePool* objects for virtual machines; however,\ntheir structure is fixed and groups may not be created nor destroyed,\nonly configured.\n",
        "properties": {
          "key": {
            "description": "ID of the system resource group.\n",
            "type": "string"
          },
          "config": {
            "description": "Configuration of this system resource group.\n",
            "$ref": "#/components/schemas/ResourceConfigSpec"
          },
          "child": {
            "description": "List of child resource groups.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemResourceInfo"
            }
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSystemResourceInfo": {
        "type": "object",
        "description": "A boxed array of *HostSystemResourceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemResourceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemSwapConfiguration": {
        "type": "object",
        "description": "Information and specification for control of the system swap configuration\non the current host.\n",
        "properties": {
          "option": {
            "description": "The currently enabled options.\n\nWhen this property contains only one value and this value is *HostSystemSwapConfigurationDisabledOption*,\nthis indicates that the system swap is disabled.  \nIf the *HostSystemSwapConfigurationDisabledOption* option is\nused together with some other option in call to *HostSystem.UpdateSystemSwapConfiguration*, a\n*InvalidArgument* is thrown.  \nIt is not allowed to have duplicate values in this array. If so a\n*InvalidArgument* is thrown.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemSwapConfigurationSystemSwapOption"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSystemSwapConfiguration": {
        "type": "object",
        "description": "A boxed array of *HostSystemSwapConfiguration*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemSwapConfiguration"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemSwapConfigurationDatastoreOption": {
        "type": "object",
        "description": "Use option to indicate that a user specified datastore may be used for\nsystem swap.\n",
        "properties": {
          "datastore": {
            "description": "The datastore to be used with this swap option.\n\nThis value should be always set when the encapsulating option is used,\notherwise a call to *HostSystem.UpdateSystemSwapConfiguration* will\nresult in a *InvalidArgument* fault.\n",
            "type": "string"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostSystemSwapConfigurationSystemSwapOption"
          }
        ]
      },
      "ArrayOfHostSystemSwapConfigurationDatastoreOption": {
        "type": "object",
        "description": "A boxed array of *HostSystemSwapConfigurationDatastoreOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemSwapConfigurationDatastoreOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemSwapConfigurationDisabledOption": {
        "type": "object",
        "description": "Indicates that the system swap on the host is currently disabled.\n\nThis value is used with the\n*HostSystem.UpdateSystemSwapConfiguration* managed method to\ndisable system swap. Presence of this value in *HostSystemSwapConfiguration.option* excludes appearance of any other\noptions. Specifying additional options will result in a *InvalidArgument* fault being thrown from the *HostSystem.UpdateSystemSwapConfiguration* method.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostSystemSwapConfigurationSystemSwapOption"
          }
        ]
      },
      "ArrayOfHostSystemSwapConfigurationDisabledOption": {
        "type": "object",
        "description": "A boxed array of *HostSystemSwapConfigurationDisabledOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemSwapConfigurationDisabledOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemSwapConfigurationHostCacheOption": {
        "type": "object",
        "description": "Use option to indicate that the host cache may be used for system\nswap.\n\nSee also *HostCacheConfigurationManager*for more details..\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostSystemSwapConfigurationSystemSwapOption"
          }
        ]
      },
      "ArrayOfHostSystemSwapConfigurationHostCacheOption": {
        "type": "object",
        "description": "A boxed array of *HostSystemSwapConfigurationHostCacheOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemSwapConfigurationHostCacheOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemSwapConfigurationHostLocalSwapOption": {
        "type": "object",
        "description": "Use option to indicate that the datastore configured for host local swap\nmay be used for system swap.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostSystemSwapConfigurationSystemSwapOption"
          }
        ]
      },
      "ArrayOfHostSystemSwapConfigurationHostLocalSwapOption": {
        "type": "object",
        "description": "A boxed array of *HostSystemSwapConfigurationHostLocalSwapOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemSwapConfigurationHostLocalSwapOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemSwapConfigurationSystemSwapOption": {
        "type": "object",
        "description": "Base class for all system swap options.\n\nThis class is not supposed to be used directly.  \nThese values are to be used in a *SystemSwapConfiguration.option*\narray.\n",
        "properties": {
          "key": {
            "description": "Specifies the order the options are preferred among each other.\n\nThe lower the value the more important.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSystemSwapConfigurationSystemSwapOption": {
        "type": "object",
        "description": "A boxed array of *HostSystemSwapConfigurationSystemSwapOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemSwapConfigurationSystemSwapOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTargetTransport": {
        "type": "object",
        "description": "Transport information about a SCSI target.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostTargetTransport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTcpHba": {
        "type": "object",
        "description": "This data object describes the Transmission Control Protocol\n(TCP) host bus adapter interface.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "associatedPnic": {
            "description": "Device name of the associated physical NIC, if any.\n\nShould match the *PhysicalNic.device* property\nof the corresponding physical NIC.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHostBusAdapter"
          }
        ]
      },
      "ArrayOfHostTcpHba": {
        "type": "object",
        "description": "A boxed array of *HostTcpHba*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTcpHba"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTcpHbaCreateSpec": {
        "type": "object",
        "description": "A data object which specifies the parameters needed\nto create an NVME over TCP host bus adapter.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "pnic": {
            "description": "Device name of the associated physical NIC.\n\nShould match the *PhysicalNic.device* property\nof the corresponding physical NIC.\n",
            "type": "string"
          }
        },
        "required": [
          "pnic"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostHbaCreateSpec"
          }
        ]
      },
      "ArrayOfHostTcpHbaCreateSpec": {
        "type": "object",
        "description": "A boxed array of *HostTcpHbaCreateSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTcpHbaCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTcpTargetTransport": {
        "type": "object",
        "description": "Transmission Control Protocol (TCP) transport\ninformation about a target.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTargetTransport"
          }
        ]
      },
      "ArrayOfHostTcpTargetTransport": {
        "type": "object",
        "description": "A boxed array of *HostTcpTargetTransport*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTcpTargetTransport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmAttestationInfo": {
        "type": "object",
        "description": "This data object type represents result of TPM attestation.\n",
        "properties": {
          "time": {
            "description": "Time of TPM attestation.\n",
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "description": "Attestation status.\n\nValid values are enumerated by the\n*HostTpmAttestationInfoAcceptanceStatus_enum* type.\n",
            "$ref": "#/components/schemas/HostTpmAttestationInfoAcceptanceStatus_enum"
          },
          "message": {
            "description": "Message explaining TPM attestation failure.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          }
        },
        "required": [
          "time",
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostTpmAttestationInfo": {
        "type": "object",
        "description": "A boxed array of *HostTpmAttestationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmAttestationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmAttestationReport": {
        "type": "object",
        "description": "This class is used to report Trusted Platform Module (TPM) attestation\ninformation - values of the Platform Configuration Registers (PCRs) and\nthe TPM event log to the external clients.\n\nThis information can be used to determine the integrity of the software\nstack running as reported by the platform.\n\nThe TPM stores digests (hashes) of the software stack components running on\nthe host. Both binary modules and configuration information can be hashed.\nThe calculated hash values are stored in special-purpose hardware registers\ncalled PCRs. Each PCR is defined to hold cumulative digest(s) of specific\npart(s) of the software stack.\n\nDue to the limited amount of PCRs available a hash-chaining scheme is implemented.\nWhen adding new information to a PCR the new value of hash is computed according\nto the following formula:\nNewHash = hash\\_function(OldHash + hash\\_function(NewData))\nThis scheme allows storing measurements of an unlimited amount of components.\n\nThe TPM event log provides an exact sequence of the events that contributed\nto the value of a PCR. It contains information about the type of the event\nand event-specific information. The presence of the log allows verification of\nboth the final PCR state and the entire attestation path that formed it.\n\nIt is possible for this report to be unreliable. This could be due to missing package\ninformation in the host database, errors in creation of the events. Only first 1000\nevents are recorded by the kernel. Further events will not be recorded in the log and\nwill cause the log to be marked as incomplete.\n",
        "properties": {
          "tpmPcrValues": {
            "description": "The array of PCR digest values stored in the TPM device since the last\nhost boot time.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmDigestInfo"
            }
          },
          "tpmEvents": {
            "description": "Log of TPM software stack attestation events.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmEventLogEntry"
            }
          },
          "tpmLogReliable": {
            "description": "This flag indicates whether the provided TPM events are a complete and reliable\ninformation about host boot status.\n\nTPM event log may be incomplete (and therfore unreliable) if certain modules have\ninappropriate origin or if the package information is incomplete. Only first 1000\nevents are recorded by the kernel. Further events will not be recorded in the log\nand will cause the log to be marked as unreliable.\n",
            "type": "boolean"
          }
        },
        "required": [
          "tpmPcrValues",
          "tpmEvents",
          "tpmLogReliable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostTpmAttestationReport": {
        "type": "object",
        "description": "A boxed array of *HostTpmAttestationReport*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmAttestationReport"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmBootCompleteEventDetails": {
        "type": "object",
        "description": "Details of a Trusted Platform Module (TPM) event recording the\nmeasurement of boot complete event.\n\nThe event digest is hash of\nthe string \"Boot Complete\" including the nul character.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTpmEventDetails"
          }
        ]
      },
      "ArrayOfHostTpmBootCompleteEventDetails": {
        "type": "object",
        "description": "A boxed array of *HostTpmBootCompleteEventDetails*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmBootCompleteEventDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmBootSecurityOptionEventDetails": {
        "type": "object",
        "description": "Details of a Trusted Platform Module (TPM) event recording kernel security\noption passed at boot time and currently in effect.\n\nThis event type exists to simplify parsing of the security-related information\nby internal and third-party solutions. Each boot option may be passed to kernel\nmultiple times and/or in different forms. Replicating the parsing logic of the\nkernel would be neither convinient, nor secure for the client applications.\n\nEach instance of this event reports details of a single security-related\nboot option, as set in the kernel.\n",
        "properties": {
          "bootSecurityOption": {
            "description": "Security-related options string, reflecting the state of an option set\nin the kernel.\n\nThis string is in the form of a KEY=VALUE pair.\n",
            "type": "string"
          }
        },
        "required": [
          "bootSecurityOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTpmEventDetails"
          }
        ]
      },
      "ArrayOfHostTpmBootSecurityOptionEventDetails": {
        "type": "object",
        "description": "A boxed array of *HostTpmBootSecurityOptionEventDetails*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmBootSecurityOptionEventDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmCommandEventDetails": {
        "type": "object",
        "description": "Details of an Trusted Platform Module (TPM) event recording options entered\nmanually on the command line prompt at boot time.\n",
        "properties": {
          "commandLine": {
            "description": "Boot options as entered on the command line prompt at boot time.\n",
            "type": "string"
          }
        },
        "required": [
          "commandLine"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTpmEventDetails"
          }
        ]
      },
      "ArrayOfHostTpmCommandEventDetails": {
        "type": "object",
        "description": "A boxed array of *HostTpmCommandEventDetails*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmCommandEventDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmDigestInfo": {
        "type": "object",
        "description": "This data object type describes the digest values in the Platform\nConfiguration Register (PCR) of a Trusted Platform Module (TPM) device.\n",
        "properties": {
          "pcrNumber": {
            "description": "Index of the PCR that stores the TPM digest value.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "pcrNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostDigestInfo"
          }
        ]
      },
      "ArrayOfHostTpmDigestInfo": {
        "type": "object",
        "description": "A boxed array of *HostTpmDigestInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmDigestInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmEventDetails": {
        "type": "object",
        "description": "This is a base data object for describing an event generated by\nTrusted Platform Module (TPM).\n\nIt contains parameters common to\nall TPM event types.\n",
        "properties": {
          "dataHash": {
            "description": "Value of the Platform Configuration Register (PCR) for this event.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -128,
              "maximum": 127
            }
          },
          "dataHashMethod": {
            "description": "Method in which the digest hash is calculated.\n\nThe set of possible\nvalues is described in *HostDigestInfoDigestMethodType_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "dataHash"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostTpmEventDetails": {
        "type": "object",
        "description": "A boxed array of *HostTpmEventDetails*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmEventDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmEventLogEntry": {
        "type": "object",
        "description": "This data object represents a single entry of an event log created by\nTrusted Platform Module (TPM).\n\nAn TPM event log entry represents a single change to the value of\na Platform Configuration Register (PCR). It contains detailed information\nabout the reason of PCR value change, and the specifics of the event.\n\nMultiple objects of this type form an TPM event log. This log allows for\nverification of the both the software stack running on a host and the attestation\nprocess itself.\n",
        "properties": {
          "pcrIndex": {
            "description": "Index of the PCR that was affected by the event.\n",
            "type": "integer",
            "format": "int32"
          },
          "eventDetails": {
            "description": "The details of the event.\n",
            "$ref": "#/components/schemas/HostTpmEventDetails"
          }
        },
        "required": [
          "pcrIndex",
          "eventDetails"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostTpmEventLogEntry": {
        "type": "object",
        "description": "A boxed array of *HostTpmEventLogEntry*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmEventLogEntry"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmNvTagEventDetails": {
        "type": "object",
        "description": "Details of an Trusted Platform Module (TPM) event recording TPM NVRAM tag.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTpmBootSecurityOptionEventDetails"
          }
        ]
      },
      "ArrayOfHostTpmNvTagEventDetails": {
        "type": "object",
        "description": "A boxed array of *HostTpmNvTagEventDetails*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmNvTagEventDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmOptionEventDetails": {
        "type": "object",
        "description": "Details of a Trusted Platform Module (TPM) event recording boot-time options.\n\nThe boot-time options set on the system are packaged into a file that is supplied\nto the kernel at boot time. The boot options may be a string of key=value pairs\n(possibly separated by a new line) or a blob of arbitrary data.\n",
        "properties": {
          "optionsFileName": {
            "description": "Name of the file containing the boot options.\n",
            "type": "string"
          },
          "bootOptions": {
            "description": "Options set by the boot option package.\n\nThis array exposes the raw contents of the settings file (or files) that were\npassed to kernel during the boot up process, and, therefore, should be treated\naccordingly.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -128,
              "maximum": 127
            }
          }
        },
        "required": [
          "optionsFileName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTpmEventDetails"
          }
        ]
      },
      "ArrayOfHostTpmOptionEventDetails": {
        "type": "object",
        "description": "A boxed array of *HostTpmOptionEventDetails*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmOptionEventDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmSignerEventDetails": {
        "type": "object",
        "description": "Details of a Trusted Platform Module (TPM) event recording the measurement\nof a signing key.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTpmBootSecurityOptionEventDetails"
          }
        ]
      },
      "ArrayOfHostTpmSignerEventDetails": {
        "type": "object",
        "description": "A boxed array of *HostTpmSignerEventDetails*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmSignerEventDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmSoftwareComponentEventDetails": {
        "type": "object",
        "description": "Details of a Trusted Platform Module (TPM) event recording a software component\nrelated event.\n\nThis event is created when measuring a software component installed on the system.\nA software component may be a tardisk, a kernel module or any other type supported\nby the package system.\n\nSome software components are not packaged as VIBs (currently the package database\nand persistent state information of ESXi). For these components the VIB fields\nwill contain empty strings.\n",
        "properties": {
          "componentName": {
            "description": "Name of the software component that caused this TPM event.\n",
            "type": "string"
          },
          "vibName": {
            "description": "Name of the VIB containing the software component.\n",
            "type": "string"
          },
          "vibVersion": {
            "description": "Version of the VIB containing the software component.\n",
            "type": "string"
          },
          "vibVendor": {
            "description": "Vendor of the VIB containing the software component.\n",
            "type": "string"
          }
        },
        "required": [
          "componentName",
          "vibName",
          "vibVersion",
          "vibVendor"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTpmEventDetails"
          }
        ]
      },
      "ArrayOfHostTpmSoftwareComponentEventDetails": {
        "type": "object",
        "description": "A boxed array of *HostTpmSoftwareComponentEventDetails*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmSoftwareComponentEventDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTpmVersionEventDetails": {
        "type": "object",
        "description": "Details of a Trusted Platform Module (TPM) event recording the\nmeasurement of a module version.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "version": {
            "description": "A packed structure containing the module version.\n",
            "type": "string",
            "format": "byte"
          }
        },
        "required": [
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostTpmEventDetails"
          }
        ]
      },
      "ArrayOfHostTpmVersionEventDetails": {
        "type": "object",
        "description": "A boxed array of *HostTpmVersionEventDetails*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmVersionEventDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTrustAuthorityAttestationInfo": {
        "type": "object",
        "description": "This data object type represents result of the attestation done by\nTrust Authority attestation service.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "attestationStatus": {
            "description": "Status of the attestation.\n\nSee *HostTrustAuthorityAttestationInfoAttestationStatus_enum* for the\nsupported values.\n",
            "type": "string"
          },
          "serviceId": {
            "description": "ID of the attestation service in case of attestation success.\n\nUnset when\nnot attested.\n",
            "type": "string"
          },
          "attestedAt": {
            "description": "Time of attestation.\n",
            "type": "string",
            "format": "date-time"
          },
          "attestedUntil": {
            "description": "Time until attestation is valid.\n",
            "type": "string",
            "format": "date-time"
          },
          "messages": {
            "description": "Messages explaining attestation failure or attestation status\nretrieval errors, if any.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "required": [
          "attestationStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostTrustAuthorityAttestationInfo": {
        "type": "object",
        "description": "A boxed array of *HostTrustAuthorityAttestationInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTrustAuthorityAttestationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostUnresolvedVmfsExtent": {
        "type": "object",
        "description": "Information about an unresolved VMFS volume extent\nAn unresolved VMFS volume extent is a device partition which is\ndetected to have copy of an extent of a VMFS volume.\n\nSuch a copy can be created via replication or snapshots, for example.\n\nSee also *HostUnresolvedVmfsVolume*.\n",
        "properties": {
          "device": {
            "description": "The device information\n",
            "$ref": "#/components/schemas/HostScsiDiskPartition"
          },
          "devicePath": {
            "description": "The device path of an VMFS extent\n",
            "type": "string"
          },
          "vmfsUuid": {
            "description": "The UUID of the VMFS volume read from to the partition.\n",
            "type": "string"
          },
          "isHeadExtent": {
            "description": "Is this a copy of the head extent of the VMFS volume?\n",
            "type": "boolean"
          },
          "ordinal": {
            "description": "A number indicating the order of an extent in a volume.\n\nAn extent with\na lower ordinal value than another extent provides a range of blocks to\na volume at an earlier block address range. Extents with the same\nordinal provide the same range of blocks to a volume. A zero ordinal\nindicates that the extent is a head extent.\n\nIn the case each extent in the *HostUnresolvedVmfsVolume* is\nrepresented in the list of *HostUnresolvedVmfsExtent* data objects,\nthe ordinal will refer to the absolute index of the extent in the\nvolume. For example, ordinal \"1\" refers to the second extent;\nordinal \"2\" refers to the third extent.\n\nIn the case that some extents of the volume are not represented in\nthe *HostUnresolvedVmfsExtent* list, the ordinal will not precisely\ndescribe the position in the list of extents. A number will be skipped\nto indicate holes in the extent order. For example, given a volume with\nfive extents with the second and third extents missing, the ordinal\nvalues in use will be {0, 2, 3}. The missing second and third extent\nare represented by the missing ordinal value \"1\" while the fourth and\nfifth extents will be assigned an ordinal of \"2\" and \"3\" respectively.\n\nThe reason the ordinals are not reliable in the case of missing extents\nis because the extents are identified by their start and end blocks.\nThe ordinals are just a hint used to help indicate extents that\ncorrespond to the same start and end blocks.\n",
            "type": "integer",
            "format": "int32"
          },
          "startBlock": {
            "description": "Index of the first block that this extent provides.\n",
            "type": "integer",
            "format": "int32"
          },
          "endBlock": {
            "description": "Index of the last block that this extent provides.\n",
            "type": "integer",
            "format": "int32"
          },
          "reason": {
            "description": "Reason as to why the partition is marked as copy\nof a VMFS volume's extent.\n\nPossible reasons are the disk id is not matching with what\nthe scsi inq is saying or disk uuid is not matching\n\nSee also *HostUnresolvedVmfsExtentUnresolvedReason_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "device",
          "devicePath",
          "vmfsUuid",
          "isHeadExtent",
          "ordinal",
          "startBlock",
          "endBlock",
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostUnresolvedVmfsExtent": {
        "type": "object",
        "description": "A boxed array of *HostUnresolvedVmfsExtent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUnresolvedVmfsExtent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostUnresolvedVmfsResignatureSpec": {
        "type": "object",
        "description": "Specification to resignature an Unresolved VMFS volume.\n",
        "properties": {
          "extentDevicePath": {
            "description": "List of device path each specifying VMFS extents.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "extentDevicePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostUnresolvedVmfsResignatureSpec": {
        "type": "object",
        "description": "A boxed array of *HostUnresolvedVmfsResignatureSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUnresolvedVmfsResignatureSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostUnresolvedVmfsResolutionResult": {
        "type": "object",
        "description": "When an UnresolvedVmfsVolume has been resignatured or forceMounted, we want to\nreturn the original spec information along with newly created VMFS volume.\n",
        "properties": {
          "spec": {
            "description": "The original UnresolvedVmfsResolutionSpec which user had specified\n",
            "$ref": "#/components/schemas/HostUnresolvedVmfsResolutionSpec"
          },
          "vmfs": {
            "description": "Newly created VmfsVolume\n",
            "$ref": "#/components/schemas/HostVmfsVolume"
          },
          "fault": {
            "description": "'fault' would be set if the operation was not successful\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostUnresolvedVmfsResolutionResult": {
        "type": "object",
        "description": "A boxed array of *HostUnresolvedVmfsResolutionResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUnresolvedVmfsResolutionResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostUnresolvedVmfsResolutionSpec": {
        "type": "object",
        "description": "An unresolved VMFS volume is reported when one or more device partitions\nof volume are detected to have copies of extents of the volume.\n\nSuch copies can be created via replication or snapshots, for example.\nThis data object type describes how to resolve an unbound VMFS volume.\nThe SCSI device path for each of the VMFS volume extent should be\nspecified.\nFor the current release, only head-extent needs to be specified.\nIn future releases, we will allow user to specify explicitly all the\nextents which makes up a new Vmfs Volume.\n",
        "properties": {
          "extentDevicePath": {
            "description": "List of device paths each specifying a VMFS extent.\n\nOne extent must be specified. This property is represented as a\nlist to enable future enhancements to the interface.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "uuidResolution": {
            "description": "When set to Resignature, new Uuid is assigned to the VMFS\nvolume.\n\nWhen set to 'forceMount', existing uuid is assigned\nto the Vmfs volume and Vmfs volumes metadata doesn't change.\n\nSee also *HostUnresolvedVmfsResolutionSpecVmfsUuidResolution_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "extentDevicePath",
          "uuidResolution"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostUnresolvedVmfsResolutionSpec": {
        "type": "object",
        "description": "A boxed array of *HostUnresolvedVmfsResolutionSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUnresolvedVmfsResolutionSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostUnresolvedVmfsVolume": {
        "type": "object",
        "description": "Information about detected unbound, unresolved VMFS volume.\n\nAn unresolved VMFS volume is reported when one or more device\npartitions of volume are detected to have copies of extents\nof the volume. Such copies can be created via replication or\nsnapshots.\n\nUnresolvedVmfsVolume are not mounted on the host where they\nare detected. User may choose to resignature the volume in\nwhich case a new Uuid is assigned to the volume and contents\nof the VMFS volume is kept intact.\n\nUser may choose to keep the original Uuid and mount the VMFS\nvolume as it is on the given host. In this case, user has\nchosen to mount the copy of the VMFS volume on that host with\nno change to the original Uuid. This may fail with\nVmfsVolumeAlreadyMounted exception if there is an existing\nVMFS volume with the same Uuid mounted somewhere in the same\ndatacenter.\n\nSimple diagram representing the possible operations on UnresolvedVmfsVolume\n\n      ---------------------------------------------------------------------------\n      |                resignature                 forceMount                   |\n      |  VmfsVolume <---------------  Unresolved ------------>  VmfsVolume with |\n      | forceMountedInfo              Vmfs Volume              forceMountedInfo |\n      |  not set                                                  will be set   |\n      ---------------------------------------------------------------------------\n\nSee also *HostStorageSystem*.\n",
        "properties": {
          "extent": {
            "description": "List of detected copies of VMFS extents.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUnresolvedVmfsExtent"
            }
          },
          "vmfsLabel": {
            "description": "The detected VMFS label name\n",
            "type": "string"
          },
          "vmfsUuid": {
            "description": "The detected VMFS UUID\n",
            "type": "string"
          },
          "totalBlocks": {
            "description": "Total number of blocks in this volume.\n",
            "type": "integer",
            "format": "int32"
          },
          "resolveStatus": {
            "description": "Information related to how the volume might be resolved.\n",
            "$ref": "#/components/schemas/HostUnresolvedVmfsVolumeResolveStatus"
          }
        },
        "required": [
          "extent",
          "vmfsLabel",
          "vmfsUuid",
          "totalBlocks",
          "resolveStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostUnresolvedVmfsVolume": {
        "type": "object",
        "description": "A boxed array of *HostUnresolvedVmfsVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUnresolvedVmfsVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostUnresolvedVmfsVolumeResolveStatus": {
        "type": "object",
        "description": "Data object that describes the resolvability of a volume.\n",
        "properties": {
          "resolvable": {
            "description": "Can this volume be resolved? There may be other reasons a volume cannot\nbe resolved other than the fact that it is incomplete.\n\nThis boolean will\nauthoritatively indicate if the server can resolve this volume.\n",
            "type": "boolean"
          },
          "incompleteExtents": {
            "description": "Is the list of extents for the volume a partial list? A volume can only\nbe resignatured if all extents composing that volume are available.\n\nHence, a volume with a partial extent list cannot be resignatured.\n\nIn cases where this information is not known for a volume, this\nproperty will be unset.\n",
            "type": "boolean"
          },
          "multipleCopies": {
            "description": "Are there multiple copies of extents for this volume? If any extent of\nthe volume has multiple copies then the extents to be resolved must be\nexplicitly specified when resolving this volume.\n\nIn cases where this information is not known for a volume, this\nproperty will be unset.\n",
            "type": "boolean"
          }
        },
        "required": [
          "resolvable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostUnresolvedVmfsVolumeResolveStatus": {
        "type": "object",
        "description": "A boxed array of *HostUnresolvedVmfsVolumeResolveStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostUnresolvedVmfsVolumeResolveStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVFlashManagerVFlashCacheConfigInfo": {
        "type": "object",
        "description": "Data object describes host vFlash cache configuration information.\n",
        "properties": {
          "vFlashModuleConfigOption": {
            "description": "Cache configuration options for the supported vFlash modules.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"
            }
          },
          "defaultVFlashModule": {
            "description": "Name of the default vFlash module for the read-write cache associated\nwith the VMs of this host.\n\nThis setting can be overridden by\n*VirtualDiskVFlashCacheConfigInfo.vFlashModule*\nper VMDK.\n",
            "type": "string"
          },
          "swapCacheReservationInGB": {
            "description": "Amount of vFlash resource is allocated to the host swap cache.\n\nAs long as set,\nreservation will be permanent and retain regardless of host power state. The host\nswap cache will be disabled if reservation is set to zero.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVFlashManagerVFlashCacheConfigInfo": {
        "type": "object",
        "description": "A boxed array of *HostVFlashManagerVFlashCacheConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVFlashManagerVFlashCacheConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption": {
        "type": "object",
        "properties": {
          "vFlashModule": {
            "description": "Name of the vFlash module\n",
            "type": "string"
          },
          "vFlashModuleVersion": {
            "description": "Version of the vFlash module\n",
            "type": "string"
          },
          "minSupportedModuleVersion": {
            "description": "Minimum supported version\n",
            "type": "string"
          },
          "cacheConsistencyType": {
            "description": "Cache data consistency types.\n\nSee *VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum*\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "cacheMode": {
            "description": "Cache modes.\n\nSee *VirtualDiskVFlashCacheConfigInfoCacheMode_enum*\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "blockSizeInKBOption": {
            "description": "blockSizeInKBOption defines a range of virtual disk cache block size.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "reservationInMBOption": {
            "description": "reservationInMBOption defines a range of virtual disk cache size.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "maxDiskSizeInKB": {
            "description": "Maximal size of virtual disk supported in kilobytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "vFlashModule",
          "vFlashModuleVersion",
          "minSupportedModuleVersion",
          "cacheConsistencyType",
          "cacheMode",
          "blockSizeInKBOption",
          "reservationInMBOption",
          "maxDiskSizeInKB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption": {
        "type": "object",
        "description": "A boxed array of *HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVFlashManagerVFlashCacheConfigSpec": {
        "type": "object",
        "description": "Specification to configure vFlash cache on the host.\n",
        "properties": {
          "defaultVFlashModule": {
            "description": "Name of the default vFlash module for the read-write caches associated\nwith the VMs of this host.\n\nThis setting can be overridden by\n*VirtualDiskVFlashCacheConfigInfo.vFlashModule*\nper VMDK.\n",
            "type": "string"
          },
          "swapCacheReservationInGB": {
            "description": "Amount of vFlash resource is allocated to the host swap cache.\n\nAs long as set,\nreservation will be permanent and retain regardless of host power state. The host\nswap cache will be disabled if the reservation is set to zero.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "defaultVFlashModule",
          "swapCacheReservationInGB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVFlashManagerVFlashCacheConfigSpec": {
        "type": "object",
        "description": "A boxed array of *HostVFlashManagerVFlashCacheConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVFlashManagerVFlashCacheConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVFlashManagerVFlashConfigInfo": {
        "type": "object",
        "description": "vFlash configuration Information.\n",
        "properties": {
          "vFlashResourceConfigInfo": {
            "description": "vFlash resource configuration information\n",
            "$ref": "#/components/schemas/HostVFlashManagerVFlashResourceConfigInfo"
          },
          "vFlashCacheConfigInfo": {
            "description": "vFlash cache configuration information\n",
            "$ref": "#/components/schemas/HostVFlashManagerVFlashCacheConfigInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVFlashManagerVFlashConfigInfo": {
        "type": "object",
        "description": "A boxed array of *HostVFlashManagerVFlashConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVFlashManagerVFlashConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVFlashManagerVFlashResourceConfigInfo": {
        "type": "object",
        "description": "vFlash resource configuration Information.\n",
        "properties": {
          "vffs": {
            "description": "The contained VFFS volume\n",
            "$ref": "#/components/schemas/HostVffsVolume"
          },
          "capacity": {
            "description": "Capacity of the vFlash resource.\n\nIt is the capacity\nof the contained VFFS volume.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "capacity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVFlashManagerVFlashResourceConfigInfo": {
        "type": "object",
        "description": "A boxed array of *HostVFlashManagerVFlashResourceConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVFlashManagerVFlashResourceConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVFlashManagerVFlashResourceConfigSpec": {
        "type": "object",
        "description": "vFlash resource configuration specification.\n",
        "properties": {
          "vffsUuid": {
            "description": "The contained VFFS volume uuid.\n",
            "type": "string"
          }
        },
        "required": [
          "vffsUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVFlashManagerVFlashResourceConfigSpec": {
        "type": "object",
        "description": "A boxed array of *HostVFlashManagerVFlashResourceConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVFlashManagerVFlashResourceConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVFlashManagerVFlashResourceRunTimeInfo": {
        "type": "object",
        "description": "Data object provides vFlash resource runtime usage.\n",
        "properties": {
          "usage": {
            "description": "Overall usage of vFlash resource, in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "capacity": {
            "description": "Overall capacity of vFlash resource, in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "accessible": {
            "description": "True if all the included the VFFS volumes are accessible.\n\nFalse if one or\nmultiple included VFFS volumes are inaccessible.\n",
            "type": "boolean"
          },
          "capacityForVmCache": {
            "description": "vFlash resource capacity can be allocated for VM caches\n",
            "type": "integer",
            "format": "int64"
          },
          "freeForVmCache": {
            "description": "Free vFlash resource can be allocated for VM caches\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "usage",
          "capacity",
          "accessible",
          "capacityForVmCache",
          "freeForVmCache"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVFlashManagerVFlashResourceRunTimeInfo": {
        "type": "object",
        "description": "A boxed array of *HostVFlashManagerVFlashResourceRunTimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVFlashManagerVFlashResourceRunTimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVFlashResourceConfigurationResult": {
        "type": "object",
        "description": "vFlash resource configuration result returns the newly-configured backend\nVFFS volume and operation result for each passed-in SSD device.\n",
        "properties": {
          "devicePath": {
            "description": "The original array of device path which user had specified\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vffs": {
            "description": "Newly configured VffsVolume\n",
            "$ref": "#/components/schemas/HostVffsVolume"
          },
          "diskConfigurationResult": {
            "description": "Array of device operation results.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskConfigurationResult"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVFlashResourceConfigurationResult": {
        "type": "object",
        "description": "A boxed array of *HostVFlashResourceConfigurationResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVFlashResourceConfigurationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVMotionConfig": {
        "type": "object",
        "description": "This data object configuring VMotion on the host.\n\nThe runtime information is available from the\n*VMotionInfo* data object type.\n",
        "properties": {
          "vmotionNicKey": {
            "description": "Key of the VirtualNic used for VMotion.\n",
            "type": "string"
          },
          "enabled": {
            "description": "Flag to indicate whether or not VMotion is enabled.\n",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVMotionConfig": {
        "type": "object",
        "description": "A boxed array of *HostVMotionConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVMotionConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVMotionInfo": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of VI API 4.0, use *HostVirtualNicManagerInfo*.\n\nThis data object type describes VMotion host\nconfiguration data objects.\n",
        "properties": {
          "netConfig": {
            "description": "VMotion network configuration.\n",
            "$ref": "#/components/schemas/HostVMotionNetConfig"
          },
          "ipConfig": {
            "description": "IP configuration of the VMotion VirtualNic.\n",
            "$ref": "#/components/schemas/HostIpConfig"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVMotionInfo": {
        "type": "object",
        "description": "A boxed array of *HostVMotionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVMotionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVMotionManagerDstInstantCloneResult": {
        "type": "object",
        "description": "The result of an InstantClone task.\n\nContains the dest VM id and timestamp\nvalues at the time of different operations.\n",
        "properties": {
          "dstVmId": {
            "description": "The destination VM ID of the InstantCloned VM.\n",
            "type": "integer",
            "format": "int32"
          },
          "startTime": {
            "description": "Time stamp at the start of the InstantClone operation at the dest\nVM.\n",
            "type": "integer",
            "format": "int64"
          },
          "cptLoadTime": {
            "description": "Time stamp when the destination VM starts cpt load.\n",
            "type": "integer",
            "format": "int64"
          },
          "cptLoadDoneTime": {
            "description": "Time stamp when the destination VM completes cpt load.\n",
            "type": "integer",
            "format": "int64"
          },
          "replicateMemDoneTime": {
            "description": "Time stamp when the destination VM completes replicating memory.\n",
            "type": "integer",
            "format": "int64"
          },
          "endTime": {
            "description": "Time stamp when the migration completes on the destination VM.\n",
            "type": "integer",
            "format": "int64"
          },
          "cptXferTime": {
            "description": "Device checkpoint stream time.\n",
            "type": "integer",
            "format": "int64"
          },
          "cptCacheUsed": {
            "description": "Checkpoint cache size used.\n",
            "type": "integer",
            "format": "int64"
          },
          "devCptStreamSize": {
            "description": "Device checkpoint stream size.\n",
            "type": "integer",
            "format": "int64"
          },
          "devCptStreamTime": {
            "description": "Device checkpoint stream time.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVMotionManagerDstInstantCloneResult": {
        "type": "object",
        "description": "A boxed array of *HostVMotionManagerDstInstantCloneResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVMotionManagerDstInstantCloneResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVMotionManagerSrcInstantCloneResult": {
        "type": "object",
        "description": "The result of an InstantClone InitiateSource task.\n\nContains the timestamp\nvalue at the time of different operations.\n",
        "properties": {
          "startTime": {
            "description": "Time stamp at the start of the InstantClone operation at the\nsource VM.\n",
            "type": "integer",
            "format": "int64"
          },
          "quiesceTime": {
            "description": "Time stamp when the source VM enters quiesce state.\n",
            "type": "integer",
            "format": "int64"
          },
          "quiesceDoneTime": {
            "description": "Time stamp when the source VM successfully quiesces.\n",
            "type": "integer",
            "format": "int64"
          },
          "resumeDoneTime": {
            "description": "Time stamp when the source VM completes resuming.\n",
            "type": "integer",
            "format": "int64"
          },
          "endTime": {
            "description": "Time stamp when the migration completes on the source VM.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVMotionManagerSrcInstantCloneResult": {
        "type": "object",
        "description": "A boxed array of *HostVMotionManagerSrcInstantCloneResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVMotionManagerSrcInstantCloneResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVMotionNetConfig": {
        "type": "object",
        "description": "The NetConfig data object type contains the networking\nconfiguration for VMotion operations.\n",
        "properties": {
          "candidateVnic": {
            "description": "List of VirtualNic objects that may be used for VMotion.\n\nThis will be a subset of the list of VirtualNics in\n*HostNetworkInfo.vnic*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNic"
            }
          },
          "selectedVnic": {
            "description": "VirtualNic that is selected for use in VMotion operations.\n",
            "$ref": "#/components/schemas/HostVirtualNic"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVMotionNetConfig": {
        "type": "object",
        "description": "A boxed array of *HostVMotionNetConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVMotionNetConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVfatVolume": {
        "type": "object",
        "description": "VFAT file system volume.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostFileSystemVolume"
          }
        ]
      },
      "ArrayOfHostVfatVolume": {
        "type": "object",
        "description": "A boxed array of *HostVfatVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVfatVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVffsVolume": {
        "type": "object",
        "description": "vFlash File System Volume.\n",
        "properties": {
          "majorVersion": {
            "description": "Major version number of VFFS.\n",
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "description": "Version string.\n\nContains major and minor version numbers.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The universally unique identifier assigned to VFFS.\n",
            "type": "string"
          },
          "extent": {
            "description": "The list of partition names that comprise this disk's\nVFFS extents.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiDiskPartition"
            }
          }
        },
        "required": [
          "majorVersion",
          "version",
          "uuid",
          "extent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostFileSystemVolume"
          }
        ]
      },
      "ArrayOfHostVffsVolume": {
        "type": "object",
        "description": "A boxed array of *HostVffsVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVffsVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVffsSpec": {
        "type": "object",
        "description": "This data object type describes the VFFS\ncreation specification.\n",
        "properties": {
          "devicePath": {
            "description": "The device path of the SSD disk.\n\nSee also *HostScsiDisk.devicePath*.\n",
            "type": "string"
          },
          "partition": {
            "description": "Partition specification of the SSD disk.\n\nIf this property\nis not provided, partition information will be computed\nand generated.\n",
            "$ref": "#/components/schemas/HostDiskPartitionSpec"
          },
          "majorVersion": {
            "description": "Major version number of VFFS.\n\nThis can be changed if the VFFS is\nupgraded, but this is an irreversible change.\n",
            "type": "integer",
            "format": "int32"
          },
          "volumeName": {
            "description": "Volume name of VFFS.\n",
            "type": "string"
          }
        },
        "required": [
          "devicePath",
          "majorVersion",
          "volumeName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVffsSpec": {
        "type": "object",
        "description": "A boxed array of *HostVffsSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVffsSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualNic": {
        "type": "object",
        "description": "The *HostVirtualNic* data object describes a virtual network adapter\nthat connects to a virtual switch.\n\nA host virtual NIC differs from a physical NIC:\n- A host virtual NIC is a virtual device that is connected to a virtual switch.\n- A physical NIC (*HostNetworkInfo.pnic*) corresponds to a physical\n  device that is connected to the physical network.\n  \nA host virtual NIC provides access to the external network through a virtual switch\nthat is bridged through a Physical NIC to a physical network.\n",
        "properties": {
          "device": {
            "description": "Device name.\n",
            "type": "string"
          },
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          },
          "portgroup": {
            "description": "If the Virtual NIC is connecting to a vSwitch, this property is the name of\nportgroup connected.\n\nIf the Virtual NIC is connecting to a\nDistributedVirtualSwitch or opaque network, this property is an empty string.\n",
            "type": "string"
          },
          "spec": {
            "description": "Configurable properties for the virtual network adapter object.\n",
            "$ref": "#/components/schemas/HostVirtualNicSpec"
          },
          "port": {
            "description": "Port(*HostPortGroup.port*) on the port group that the virtual\nNIC is using when it is enabled.\n\nIf the Virtual NIC is connected to\nDistributedVirtualSwitch or opaque network, this property is unset.\n",
            "$ref": "#/components/schemas/HostPortGroupPort"
          }
        },
        "required": [
          "device",
          "key",
          "portgroup",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualNic": {
        "type": "object",
        "description": "A boxed array of *HostVirtualNic*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNic"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualNicConfig": {
        "type": "object",
        "description": "The *HostVirtualNicConfig* data object describes the virtual\nNIC configuration.\n\nIt represents both the configured properties on a\n*HostVirtualNic* and identification information.\n",
        "properties": {
          "changeOperation": {
            "description": "Change operation to apply on this configuration specification.\n\nSee also *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          },
          "device": {
            "description": "Virtual NIC device (*HostVirtualNic.device*) to which\nconfiguration applies.\n",
            "type": "string"
          },
          "portgroup": {
            "description": "If the Virtual NIC is connecting to a vSwitch, this property is the name of\nportgroup connected.\n\nIf the Virtual NIC is connecting to a\n*DistributedVirtualSwitch* or *HostOpaqueNetworkInfo*,\nthis property is ignored.\n",
            "type": "string"
          },
          "spec": {
            "description": "Specification of the virtual network adapter.\n",
            "$ref": "#/components/schemas/HostVirtualNicSpec"
          }
        },
        "required": [
          "portgroup"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualNicConfig": {
        "type": "object",
        "description": "A boxed array of *HostVirtualNicConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualNicIpRouteSpec": {
        "type": "object",
        "description": "The *HostVirtualNicIpRouteSpec* data object describes the\nIpRoute configuration used by virtual NIC.\n",
        "properties": {
          "ipRouteConfig": {
            "description": "By default, a host virtual NIC uses default gateway configuration\nfrom it's *HostNetStackInstance*.\n\nA custom IPv4 and IPv6\ndefault gateway can be configured by specifying valid\n*HostIpRouteConfig.defaultGateway* and\n*HostIpRouteConfig.ipV6DefaultGateway* properties.\nA user defined IPv4 and IPv6 default gateway can be removed by\nunsetting corresponding gateway property from ipRouteConfig.\n",
            "$ref": "#/components/schemas/HostIpRouteConfig"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualNicIpRouteSpec": {
        "type": "object",
        "description": "A boxed array of *HostVirtualNicIpRouteSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicIpRouteSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualNicOpaqueNetworkSpec": {
        "type": "object",
        "description": "The *HostVirtualNicOpaqueNetworkSpec* data object\ndescribes the opaque network(*HostOpaqueNetworkInfo*)\nconfiguration used by virtual NIC.\n",
        "properties": {
          "opaqueNetworkId": {
            "description": "ID of the Opaque network to which the virtual NIC is connected.\n",
            "type": "string"
          },
          "opaqueNetworkType": {
            "description": "Type of the Opaque network to which the virtual NIC is connected.\n",
            "type": "string"
          }
        },
        "required": [
          "opaqueNetworkId",
          "opaqueNetworkType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualNicOpaqueNetworkSpec": {
        "type": "object",
        "description": "A boxed array of *HostVirtualNicOpaqueNetworkSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicOpaqueNetworkSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualNicSpec": {
        "type": "object",
        "description": "The *HostVirtualNicSpec* data object describes the\n*HostVirtualNic* configuration containing both the configured\nproperties on a virtual NIC and identification information.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "ip": {
            "description": "IP configuration on the virtual network adapter.\n",
            "$ref": "#/components/schemas/HostIpConfig"
          },
          "mac": {
            "description": "Media access control (MAC) address of the virtual network adapter.\n",
            "type": "string"
          },
          "distributedVirtualPort": {
            "description": "*DistributedVirtualPort* or *DistributedVirtualPortgroup*\nconnection.\n\nTo specify a port connection, set\n*DistributedVirtualSwitchPortConnection.switchUuid* and *DistributedVirtualSwitchPortConnection.portKey*\nproperties. To specify a portgroup connection, set\n*DistributedVirtualSwitchPortConnection.switchUuid* and *DistributedVirtualSwitchPortConnection.portgroupKey*\nproperties.\n\nWhen reconfiguring a virtual NIC, this property indicates the new portgroup\nto which the virtual NIC should connect. You can specify this property\nonly if you do not specify *HostVirtualNicSpec.distributedVirtualPort* and\n*HostVirtualNicSpec.opaqueNetwork*\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortConnection"
          },
          "portgroup": {
            "description": "Portgroup (*HostPortGroup*) to which the virtual NIC is connected.\n\nWhen reconfiguring a virtual NIC, this property indicates the new portgroup\nto which the virtual NIC should connect. You can specify this property\nonly if you do not specify *HostVirtualNicSpec.distributedVirtualPort* and\n*HostVirtualNicSpec.opaqueNetwork*\n",
            "type": "string"
          },
          "mtu": {
            "description": "Maximum transmission unit for packets size in bytes for the virtual\nNIC.\n\nIf not specified, the Server will use the system default value.\n",
            "type": "integer",
            "format": "int32"
          },
          "tsoEnabled": {
            "description": "Flag enabling or disabling TCP segmentation offset for a virtual NIC.\n\nIf not specified, a default value of true will be used.\n",
            "type": "boolean"
          },
          "netStackInstanceKey": {
            "description": "The NetStackInstance that the virtual NIC uses, the value of this property\nis default to be *defaultTcpipStack*\n",
            "type": "string"
          },
          "opaqueNetwork": {
            "description": "Opaque network (*HostOpaqueNetworkInfo*) to which the\nvirtual NIC is connected.\n\nWhen reconfiguring a virtual NIC, this property indicates the specification\nof opaque network to which the virtual NIC should connect. You can specify\nthis property only if you do not specify *HostVirtualNicSpec.distributedVirtualPort*\nand *HostVirtualNicSpec.portgroup*.\n",
            "$ref": "#/components/schemas/HostVirtualNicOpaqueNetworkSpec"
          },
          "externalId": {
            "description": "An ID assigned to the vmkernel adapter by external management plane.\n\nThe value and format of this property is determined by external management\nplane, and vSphere doesn't do any validation. It's also up to external\nmanagement plane to set, unset or maintain this property.\n\nThis property is applicable only when *HostVirtualNicSpec.opaqueNetwork* property is set,\notherwise it's value is ignored.\n",
            "type": "string"
          },
          "pinnedPnic": {
            "description": "The physical nic to which the vmkernel adapter is pinned.\n\nSetting this value\nensures that the virtual NIC will access external network only via the\nthe specified physical NIC.\n\nThis property is applicable only when *HostVirtualNicSpec.opaqueNetwork* property is set.\nIf the vmkernel adapter is connected to a portgroup or dvPort, then such\npinning can be achieved by configuring correct teaming policy on the portgroup\nor dvPort or dvPortgroup that is connected to virtual NIC.\n",
            "type": "string"
          },
          "ipRouteSpec": {
            "description": "The ip route configuration used by the vmkernel adapter.\n\nThis attribute\nallows the vmkernel adapter to specify its own default gateway.\n",
            "$ref": "#/components/schemas/HostVirtualNicIpRouteSpec"
          },
          "systemOwned": {
            "description": "Set to true when the vmkernel adapter is configured by\nother system indirectly other than by the user directly.\n",
            "type": "boolean"
          },
          "dpuId": {
            "description": "The identifier of the DPU hosting the vmknic.\n\nIf vmknic is on ESX host, dpuId will be unset.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualNicSpec": {
        "type": "object",
        "description": "A boxed array of *HostVirtualNicSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualNicConnection": {
        "type": "object",
        "description": "DataObject which provides a level of indirection when\nidentifying VirtualNics during configuration.\n\nThis dataObject lets users specify a VirtualNic in terms of\nthe portgroup/Dv Port the Virtual NIC is connected to.\nThis is useful in cases where VirtualNic will be created as part of\na configuration operation and the created VirtualNic is referred to\nin some other part of configuration. e.g: for configuring VMotion\n",
        "properties": {
          "portgroup": {
            "description": "Name of the portgroup to which the virtual nic is connected to.\n\nIf this parameter is set, use a virtual nic connected to\na legacy portgroup.\n",
            "type": "string"
          },
          "dvPort": {
            "description": "Identifier for the DistributedVirtualPort.\n\nIf the virtual nic is to be connected to a DVS,\n\\#dvPort will be set instead of #portgroup\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortConnection"
          },
          "opNetwork": {
            "description": "Identifier for the opaqueNetworkSpec virtual nic connected to.\n\nIf the virtual nic is to be connected to a logicSwitch,\n\\#opNetwork will be set instead of #portgroup and #dvPort\n",
            "$ref": "#/components/schemas/HostVirtualNicOpaqueNetworkSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualNicConnection": {
        "type": "object",
        "description": "A boxed array of *HostVirtualNicConnection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicConnection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualNicManagerNetConfig": {
        "type": "object",
        "description": "The NetConfig data object type contains the networking\nconfiguration.\n",
        "properties": {
          "nicType": {
            "description": "The NicType of this NetConfig.\n",
            "type": "string"
          },
          "multiSelectAllowed": {
            "description": "Whether multiple nics can be selected for this nicType.\n",
            "type": "boolean"
          },
          "candidateVnic": {
            "description": "List of VirtualNic objects that may be used.\n\nThis will be a subset of the list of VirtualNics in\n*HostNetworkInfo.vnic*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNic"
            }
          },
          "selectedVnic": {
            "description": "List of VirtualNic objects that are selected for use.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNic"
            }
          }
        },
        "required": [
          "nicType",
          "multiSelectAllowed"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualNicManagerNetConfig": {
        "type": "object",
        "description": "A boxed array of *VirtualNicManagerNetConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualNicManagerNetConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualNicManagerNicTypeSelection": {
        "type": "object",
        "description": "DataObject which lets a VirtualNic be marked for\nuse as a *HostVirtualNicManagerNicType_enum*.\n",
        "properties": {
          "vnic": {
            "description": "VirtualNic for the selection is being made\n",
            "$ref": "#/components/schemas/HostVirtualNicConnection"
          },
          "nicType": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "vnic"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualNicManagerNicTypeSelection": {
        "type": "object",
        "description": "A boxed array of *HostVirtualNicManagerNicTypeSelection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicManagerNicTypeSelection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualNicManagerInfo": {
        "type": "object",
        "description": "This data object type describes VirtualNic host\nconfiguration data objects.\n",
        "properties": {
          "netConfig": {
            "description": "List of VirtualNicManager network configuration.\n\nSee also *VirtualNicManagerNetConfig*This contains the network\nconfiguration for each NicType..\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualNicManagerNetConfig"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualNicManagerInfo": {
        "type": "object",
        "description": "A boxed array of *HostVirtualNicManagerInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualNicManagerInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualSwitch": {
        "type": "object",
        "description": "The virtual switch is a software entity to which multiple virtual network\nadapters can connect to create a virtual network.\n\nIt can also be\nbridged to a physical network.\n",
        "properties": {
          "name": {
            "description": "The name of the virtual switch.\n\nMaximum length is 32 characters.\n",
            "type": "string"
          },
          "key": {
            "description": "The virtual switch key.\n",
            "type": "string"
          },
          "numPorts": {
            "description": "The number of ports that this virtual switch currently has.\n",
            "type": "integer",
            "format": "int32"
          },
          "numPortsAvailable": {
            "description": "The number of ports that are available on this virtual switch.\n\nThere\nare a number of networking services that utilize a port on the virtual\nswitch and are not accounted for in the Port array of a PortGroup. For\nexample, each physical NIC attached to a virtual switch consumes one\nport. This property should be used when attempting to implement\nadmission control for new services attaching to virtual switches.\n",
            "type": "integer",
            "format": "int32"
          },
          "mtu": {
            "description": "The maximum transmission unit (MTU) associated with this virtual switch\nin bytes.\n",
            "type": "integer",
            "format": "int32"
          },
          "portgroup": {
            "description": "The list of port groups configured for this virtual switch.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroup"
            }
          },
          "pnic": {
            "description": "The set of physical network adapters associated with this bridge.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNic"
            }
          },
          "spec": {
            "description": "The specification of this virtual switch.\n",
            "$ref": "#/components/schemas/HostVirtualSwitchSpec"
          }
        },
        "required": [
          "name",
          "key",
          "numPorts",
          "numPortsAvailable",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualSwitch": {
        "type": "object",
        "description": "A boxed array of *HostVirtualSwitch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualSwitchAutoBridge": {
        "type": "object",
        "description": "This data type describes a bridge that automatically selects\na particular physical network adapter on the host\naccording to some predetermined policy.\n\nUsed primarily to support mobility\nscenarios.\n",
        "properties": {
          "excludedNicDevice": {
            "description": "List of physical network adapters that have been excluded from\nparticipating in the AutoBridge\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/HostVirtualSwitchBridge"
          }
        ]
      },
      "ArrayOfHostVirtualSwitchAutoBridge": {
        "type": "object",
        "description": "A boxed array of *HostVirtualSwitchAutoBridge*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitchAutoBridge"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualSwitchBeaconConfig": {
        "type": "object",
        "description": "This data object type describes the configuration of the beacon\nto probe connectivity of physical network adapters.\n\nA\nbeacon is sent out of one network adapter and should arrive on another\nnetwork adapter in the team. The successful roundtrip indicates\nthat the network adapters are working.\n\nDefine this data object to enable beacon probing as a method to validate\nthe link status of a physical network adapter. Beacon probing must\nbe configured in order to use the beacon status as a criteria to\ndetermine if a physical network adapter failed.\n\nSee also *HostNicFailureCriteria.checkBeacon*.\n",
        "properties": {
          "interval": {
            "description": "Determines how often, in seconds, a beacon should be sent.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "interval"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualSwitchBeaconConfig": {
        "type": "object",
        "description": "A boxed array of *HostVirtualSwitchBeaconConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitchBeaconConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualSwitchBondBridge": {
        "type": "object",
        "description": "This data object type describes a bridge that provides\nnetwork adapter teaming capabilities.\n",
        "properties": {
          "nicDevice": {
            "description": "The list of keys of the physical network adapters to be bridged.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "beacon": {
            "description": "The beacon configuration to probe for the validity of a link.\n\nIf this is set, beacon probing is configured and will be used.\nIf this is not set, beacon probing is disabled.\n",
            "$ref": "#/components/schemas/HostVirtualSwitchBeaconConfig"
          },
          "linkDiscoveryProtocolConfig": {
            "description": "The link discovery protocol configuration for the virtual switch.\n\nSee also *LinkDiscoveryProtocolConfig*.\n",
            "$ref": "#/components/schemas/LinkDiscoveryProtocolConfig"
          }
        },
        "required": [
          "nicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostVirtualSwitchBridge"
          }
        ]
      },
      "ArrayOfHostVirtualSwitchBondBridge": {
        "type": "object",
        "description": "A boxed array of *HostVirtualSwitchBondBridge*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitchBondBridge"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualSwitchBridge": {
        "type": "object",
        "description": "A bridge connects a virtual switch to a physical network adapter.\n\nThere are multiple types of bridges.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualSwitchBridge": {
        "type": "object",
        "description": "A boxed array of *HostVirtualSwitchBridge*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitchBridge"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualSwitchConfig": {
        "type": "object",
        "description": "This data object type describes the VirtualSwitch configuration\ncontaining both the configurable\nproperties on a VirtualSwitch and identification information.\n",
        "properties": {
          "changeOperation": {
            "description": "This property indicates the change operation to apply on\nthis configuration specification.\n\nSee also *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the virtual switch.\n\nMaximum length is 32 characters.\n",
            "type": "string"
          },
          "spec": {
            "description": "The specification of the VirtualSwitch.\n",
            "$ref": "#/components/schemas/HostVirtualSwitchSpec"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualSwitchConfig": {
        "type": "object",
        "description": "A boxed array of *HostVirtualSwitchConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitchConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualSwitchSimpleBridge": {
        "type": "object",
        "description": "A bridge that is statically bound to a single physical network adapter.\n",
        "properties": {
          "nicDevice": {
            "description": "The key of the physical network adapter to be bridged.\n",
            "type": "string"
          }
        },
        "required": [
          "nicDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostVirtualSwitchBridge"
          }
        ]
      },
      "ArrayOfHostVirtualSwitchSimpleBridge": {
        "type": "object",
        "description": "A boxed array of *HostVirtualSwitchSimpleBridge*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitchSimpleBridge"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVirtualSwitchSpec": {
        "type": "object",
        "description": "This data object type describes the VirtualSwitch specification\nrepresenting the properties on a VirtualSwitch that can be\nconfigured once the object exists.\n",
        "properties": {
          "numPorts": {
            "description": "The number of ports that this virtual switch is configured to use.\n\nChanging this setting does not take effect until the next reboot. The maximum\nvalue is 1024, although other constraints, such as memory limits, may establish\na lower effective limit.\n",
            "type": "integer",
            "format": "int32"
          },
          "bridge": {
            "description": "The bridge specification describes how physical network adapters\ncan be bridged to a virtual switch.\n",
            "$ref": "#/components/schemas/HostVirtualSwitchBridge"
          },
          "policy": {
            "description": "The virtual switch policy specification.\n\nThis has a lower\nprecedence than PortGroup. If the policy property is not set\nand you are creating a virtual switch, then a default\npolicy property setting is used. If the policy property is not\nset and you are updating a virtual switch, then the policy will\nbe unchanged.\n",
            "$ref": "#/components/schemas/HostNetworkPolicy"
          },
          "mtu": {
            "description": "The maximum transmission unit (MTU) of the virtual switch in bytes.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "numPorts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVirtualSwitchSpec": {
        "type": "object",
        "description": "A boxed array of *HostVirtualSwitchSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVirtualSwitchSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVmciAccessManagerAccessSpec": {
        "type": "object",
        "description": "The AccessSpec data object declares an update to the service\naccess granted to a VM.\n\nThe given list of services will either\nbe granted in addition to existing services, replace the\nexisting service or be revoked depending on the mode\nspecified. In case of a revoke, an empty or non-existing service\nlist indicates that all granted services should be revoked.\n",
        "properties": {
          "vm": {
            "description": "Refers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "services": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "type": "string"
          }
        },
        "required": [
          "vm",
          "mode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVmciAccessManagerAccessSpec": {
        "type": "object",
        "description": "A boxed array of *HostVmciAccessManagerAccessSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVmciAccessManagerAccessSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreCreateSpec": {
        "type": "object",
        "description": "This data object type is used when creating a new VMFS datastore,\nto create a specification for the VMFS datastore.\n",
        "properties": {
          "partition": {
            "description": "Partitioning specification.\n",
            "$ref": "#/components/schemas/HostDiskPartitionSpec"
          },
          "vmfs": {
            "description": "The VMFS creation specification.\n",
            "$ref": "#/components/schemas/HostVmfsSpec"
          },
          "extent": {
            "description": "Extents to append to VMFS.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiDiskPartition"
            }
          }
        },
        "required": [
          "partition",
          "vmfs"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmfsDatastoreSpec"
          }
        ]
      },
      "ArrayOfVmfsDatastoreCreateSpec": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreExpandSpec": {
        "type": "object",
        "description": "Specification to increase the capacity of a VMFS datastore by expanding\n(increasing the size of) an existing extent of the datastore.\n",
        "properties": {
          "partition": {
            "description": "Partitioning specification.\n",
            "$ref": "#/components/schemas/HostDiskPartitionSpec"
          },
          "extent": {
            "description": "VMFS extent to expand.\n",
            "$ref": "#/components/schemas/HostScsiDiskPartition"
          }
        },
        "required": [
          "partition",
          "extent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmfsDatastoreSpec"
          }
        ]
      },
      "ArrayOfVmfsDatastoreExpandSpec": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreExpandSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreExpandSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreExtendSpec": {
        "type": "object",
        "description": "Specification to increase the capacity of a VMFS datastore by adding\none or more new extents to the datastore.\n\nAll the extents to be added\nmust be on the same disk. Extension is different\nfrom creation in that the VMFS creation specification need not be\nspecified.\n",
        "properties": {
          "partition": {
            "description": "Partitioning specification.\n",
            "$ref": "#/components/schemas/HostDiskPartitionSpec"
          },
          "extent": {
            "description": "Extents to append to VMFS.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiDiskPartition"
            }
          }
        },
        "required": [
          "partition",
          "extent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmfsDatastoreSpec"
          }
        ]
      },
      "ArrayOfVmfsDatastoreExtendSpec": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreExtendSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreExtendSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreInfo": {
        "type": "object",
        "description": "Information details about a VMFS datastore.\n",
        "properties": {
          "maxPhysicalRDMFileSize": {
            "description": "Maximum raw device mapping size (physical compatibility)\n",
            "type": "integer",
            "format": "int64"
          },
          "maxVirtualRDMFileSize": {
            "description": "Maximum raw device mapping size (virtual compatibility)\n",
            "type": "integer",
            "format": "int64"
          },
          "vmfs": {
            "description": "The VMFS volume information for the datastore.\n\nMay not be\navailable when the datastore is not accessible.\n",
            "$ref": "#/components/schemas/HostVmfsVolume"
          }
        },
        "required": [
          "maxPhysicalRDMFileSize",
          "maxVirtualRDMFileSize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreInfo"
          }
        ]
      },
      "ArrayOfVmfsDatastoreInfo": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreOption": {
        "type": "object",
        "description": "VMFS datastore provisioning option that can be applied on a disk.\n\nVMFS\ndatastores can be created or have their capacity increased using storage\nfrom a disk.\nThere are often multiple ways in which extents can be allocated on a disk.\nEach instance of this structure represents one of the possible options\nthat can be applied to provisiong VMFS datastore storage. Only options\nthat follow ESX Server best practice guidelines will be presented.\n",
        "properties": {
          "info": {
            "description": "Information about this VMFS datastore provisioniing option.\n\nThis\nstructure describes the extent allocation policy represented by\nthis option.\n",
            "$ref": "#/components/schemas/VmfsDatastoreBaseOption"
          },
          "spec": {
            "description": "Specification to create or increase the capacity of a VMFS datastore.\n\nThis property contains a configuration specification that can be\napplied to effect the creation or capacity increase.\n",
            "$ref": "#/components/schemas/VmfsDatastoreSpec"
          }
        },
        "required": [
          "info",
          "spec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmfsDatastoreOption": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreAllExtentOption": {
        "type": "object",
        "description": "Datastore addition policy to use the entire disk as a single extent for\na VMFS datastore.\n\nIf there is any data on the disk, it will be\noverwritten.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VmfsDatastoreSingleExtentOption"
          }
        ]
      },
      "ArrayOfVmfsDatastoreAllExtentOption": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreAllExtentOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreAllExtentOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreBaseOption": {
        "type": "object",
        "description": "Base class that describes a VMFS datastore provisioning option.\n",
        "properties": {
          "layout": {
            "description": "The partition table layout that the disk will have if this\nprovisioning option is selected.\n\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "$ref": "#/components/schemas/HostDiskPartitionLayout"
          },
          "partitionFormatChange": {
            "description": "Indicates whether selecting this option will change the partition\nformat type on the disk.\n\nSee also *HostDiskPartitionInfoPartitionFormat_enum*.\n",
            "type": "boolean"
          }
        },
        "required": [
          "layout"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmfsDatastoreBaseOption": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreBaseOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreBaseOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreMultipleExtentOption": {
        "type": "object",
        "description": "Datastore addition policy to use multiple extents on the disk for a VMFS\ndatastore.\n\nMultiple extents implies that more than one disk partition\nwill be created on the disk for creating or increasing the capacity of a\nVMFS datastore.\nMultiple extents are needed when unpartitioned space is fragmented in the\nexisting partition layout of the disk.\n",
        "properties": {
          "vmfsExtent": {
            "description": "The block ranges to be used as extents in a VMFS datastore.\n\nThe first\nblock range will be the head partition.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskPartitionBlockRange"
            }
          }
        },
        "required": [
          "vmfsExtent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmfsDatastoreBaseOption"
          }
        ]
      },
      "ArrayOfVmfsDatastoreMultipleExtentOption": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreMultipleExtentOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreMultipleExtentOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreSingleExtentOption": {
        "type": "object",
        "description": "Datastore addition policy to use a single extent on the disk for a VMFS\ndatastore.\n\nA single extent implies that one disk partition will be\ncreated on the disk for creating or increasing the capacity of a VMFS datastore.\n",
        "properties": {
          "vmfsExtent": {
            "description": "The block range to be used as an extent in a VMFS datastore.\n",
            "$ref": "#/components/schemas/HostDiskPartitionBlockRange"
          }
        },
        "required": [
          "vmfsExtent"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmfsDatastoreBaseOption"
          }
        ]
      },
      "ArrayOfVmfsDatastoreSingleExtentOption": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreSingleExtentOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreSingleExtentOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsDatastoreSpec": {
        "type": "object",
        "description": "Base class for VMFS datastore addition specification.\n\nUsed as a generic\nway to point to one of the creation specifications that can be used to\napply a specification to effect the creation or extension of a VMFS\ndatastore.\n",
        "properties": {
          "diskUuid": {
            "description": "The UUID of the SCSI disk on which the VMFS datastore is located.\n\nSee also *HostScsiDisk*, *ScsiLun.uuid*.\n",
            "type": "string"
          }
        },
        "required": [
          "diskUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmfsDatastoreSpec": {
        "type": "object",
        "description": "A boxed array of *VmfsDatastoreSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsDatastoreSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVmfsRescanResult": {
        "type": "object",
        "description": "When a user resignatures an UnresolvedVmfsVolume through DatastoreSystem API,\nwe resignature and auto-mount on the other hosts which share the\nsame underlying storage luns.\n\nAs part of the operation, we rescan host.\nThis data object describes the outcome of rescan operation on a host\n",
        "properties": {
          "host": {
            "description": "Host name on which rescan was performed\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "fault": {
            "description": "'fault' would be set if the operation was not successful\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVmfsRescanResult": {
        "type": "object",
        "description": "A boxed array of *HostVmfsRescanResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVmfsRescanResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVmfsVolume": {
        "type": "object",
        "description": "The VMFS file system.\n",
        "properties": {
          "blockSizeMb": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5, use\n*HostVmfsVolume.blockSize* instead.\n\nBlock size of VMFS.\n\nDetermines maximum file size. The maximum number\nof blocks is typically fixed with each specific version of VMFS. To\nincrease the maximum size of a VMFS file, increase the block size.\n\nThe minimum block size is 1MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "blockSize": {
            "description": "Block size of VMFS in KB.\n\nDetermines maximum file size. The maximum\nnumber of blocks is typically fixed with each specific version of VMFS.\nTo increase the maximum size of a VMFS file, increase the block size.\n\nThe minimum block size is 1MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "unmapGranularity": {
            "description": "VMFS unmap reclaims unused storage space.\n\nThis property\ndetermines the granularity of unmap operations.\nThe unit is KB. If not specified, the default value is the same as\nthe block size of VMFS *HostVmfsVolume.blockSize*.\nThis property cannot be changed after a VMFS volume is created.\n",
            "type": "integer",
            "format": "int32"
          },
          "unmapPriority": {
            "description": "VMFS unmap reclaims unused storage space.\n\nThis property\ndetermines the processing rate of unmaps.\nSee *HostVmfsVolumeUnmapPriority_enum* for supported values.\nIf not specified, the default value is\n*low*, which means\nunmap is processed at low rate. This property can be updated by\ncalling *HostStorageSystem.UpdateVmfsUnmapPriority*.\n",
            "type": "string"
          },
          "unmapBandwidthSpec": {
            "description": "VMFS unmap bandwidth related specification.\n\nSee\n*VmfsUnmapBandwidthSpec* for detail.\n",
            "$ref": "#/components/schemas/VmfsUnmapBandwidthSpec"
          },
          "maxBlocks": {
            "description": "Maximum number of blocks.\n\nDetermines maximum file size along\nwith blockSize. See information about the blockSize.\n",
            "type": "integer",
            "format": "int32"
          },
          "majorVersion": {
            "description": "Major version number of VMFS.\n",
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "description": "Version string.\n\nContains major and minor version numbers.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The universally unique identifier assigned to VMFS.\n",
            "type": "string"
          },
          "extent": {
            "description": "The list of partition names that comprise this disk's\nVMFS extents.\n\nThis property can be accessed via various enclosing objects.\nIn VirtualCenter, where it can be accessed from multiple\nhosts, the value of this property may differ according to the context\nin which it is accessed. When accessed from the\n*VmfsDatastoreInfo* object, in VirtualCenter, this\nproperty reflects the extent information of any one of the hosts visible\nto the datastore.\n\nFor a VirtualCenter system which manages ESX Server 2.x and\nESX Server 3.x hosts, this extent information is only correlatable\nacross hosts if the extents are exposed on the same adapter on all hosts\nwhich can access them. To find the extent names for a specific host,\nthis same property should be accessed via the host's\n*HostFileSystemVolume* object, by correlating the uuid of\nthe VMFS datastore in the VmfsDatastoreInfo object to the uuid in the\nFileSystemVolume object.\n\nFor a Virtual Center system which manages only ESX Server hosts with\nversions 4.0 onwards , this extent information is correlatable across\nhosts, irrespective of the adapters the extents are exposed on.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiDiskPartition"
            }
          },
          "vmfsUpgradable": {
            "description": "Can the filesystem be upgraded to a newer version.\n\nSee also *HostStorageSystem.UpgradeVmfs*.\n",
            "type": "boolean"
          },
          "forceMountedInfo": {
            "description": "Information about 'forceMounted' VmfsVolume.\n\nWhen the system detects a copy of a VmfsVolume, it will not be\nauto-mounted on the host and it will be detected as\n'UnresolvedVmfsVolume'. If user decides to 'forceMount' the\nVmfsVolume on the host, forceMountedInfo will be populated.\nIt will not be set for automounted VMFS volumes.\n",
            "$ref": "#/components/schemas/HostForceMountedInfo"
          },
          "ssd": {
            "description": "Indicates whether the volume is SSD backed.\n\nIf unset, the information whether the volume is SSD backed is unknown.\n",
            "type": "boolean"
          },
          "local": {
            "description": "Indicates whether the volume is backed by local disk.\n\nIf unset, the information of the volume is local-disk backed is unknown.\n",
            "type": "boolean"
          },
          "scsiDiskType": {
            "description": "The type of disk drives.\n\nSee *ScsiDiskType_enum*\nfor supported types.\nIf unset, the default disk drive type is\n*native512*.\n",
            "type": "string"
          }
        },
        "required": [
          "blockSizeMb",
          "maxBlocks",
          "majorVersion",
          "version",
          "uuid",
          "extent",
          "vmfsUpgradable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostFileSystemVolume"
          }
        ]
      },
      "ArrayOfHostVmfsVolume": {
        "type": "object",
        "description": "A boxed array of *HostVmfsVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVmfsVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsConfigOption": {
        "type": "object",
        "properties": {
          "blockSizeOption": {
            "description": "Supported values of VMFS block size in kilobytes (KB)\n*HostVmfsVolume.blockSize*.\n",
            "type": "integer",
            "format": "int32"
          },
          "unmapGranularityOption": {
            "description": "Supported values of VMFS unmap granularity\n*HostVmfsVolume.unmapGranularity*.\n\nThe unit is KB.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "unmapBandwidthFixedValue": {
            "description": "Fixed unmap bandwidth min/max/default value\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "unmapBandwidthDynamicMin": {
            "description": "Dynamic unmap bandwidth lower limit min/max/default value.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "unmapBandwidthDynamicMax": {
            "description": "Dynamic unmap bandwitdth upper limit min/max/default value.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "unmapBandwidthIncrement": {
            "description": "Increment value of unmap bandwidth\n",
            "type": "integer",
            "format": "int64"
          },
          "unmapBandwidthUltraLow": {
            "description": "Fixed unmap bandwidth ultra low limit value in MB/sec.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "blockSizeOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmfsConfigOption": {
        "type": "object",
        "description": "A boxed array of *VmfsConfigOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsConfigOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVmfsSpec": {
        "type": "object",
        "description": "This data object type describes the VMware File System (VMFS)\ncreation specification.\n\nOnce created, these properties for the most\npart cannot be changed. There are a few exceptions.\n",
        "properties": {
          "extent": {
            "description": "Head extent of VMFS.\n\nThe head extent identifies the VMFS. However,\nthe head extent should not be used to identify the VMFS across host\nreboots. The actual identifier is specified in \"vmhbaI:T:L\" format\nwhich is not guaranteed to be stable across reboots. Define a volume\nname that is unique to the host and use it to refer to the VMFS.\nAlternatively, the immutable UUID of the VMFS can be used after it\nis created.\n",
            "$ref": "#/components/schemas/HostScsiDiskPartition"
          },
          "blockSizeMb": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5, use\n*HostVmfsSpec.blockSize* instead.\n\nThe block size of VMFS in megabytes (MB).\n\nDetermines the maximum file\nsize. If this optional property is not set, the maximum\nfile size defaults to the maximum file size for the platform.\n\nIn VMFS2, the valid block sizes 1MB, 2MB, 4MB, 8MB, 16MB, 32MB, 64MB,\n128MB, and 256MB.\nIn VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.\nIn VMFS5, the only valid block size is 1MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "majorVersion": {
            "description": "Major version number of VMFS.\n\nThis can be changed if the VMFS is\nupgraded, but this is an irreversible change.\n",
            "type": "integer",
            "format": "int32"
          },
          "volumeName": {
            "description": "Volume name of VMFS.\n",
            "type": "string"
          },
          "blockSize": {
            "description": "The block size of VMFS in kilotypes (KB).\n\nDetermines the maximum file\nsize. If this optional property is not set, the maximum\nfile size defaults to the maximum file size for the platform.\n\nIn VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.\nIn VMFS5, the only valid block size is 1MB.\nIn VMFS6, the valid block sizes are 64KB and 1MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "unmapGranularity": {
            "description": "The granularity of VMFS unmap operations.\n\nVMFS unmap reclaims\nunused storage space.\nThe unit is KB. The minimum unmap granularity is 8KB. The maximum\nunmap granularity is determined by the block size of VMFS\n*HostVmfsVolume.blockSize*.\n",
            "type": "integer",
            "format": "int32"
          },
          "unmapPriority": {
            "description": "VMFS unmap priority.\n\nVMFS unmap reclaims unused storage space. This\ndetermines the processing rate of unmaps.\nSee *HostVmfsVolumeUnmapPriority_enum* for supported values.\n",
            "type": "string"
          },
          "unmapBandwidthSpec": {
            "description": "VMFS unmap bandwidth related specification.\n\nSee\n*VmfsUnmapBandwidthSpec* for detail.\n",
            "$ref": "#/components/schemas/VmfsUnmapBandwidthSpec"
          }
        },
        "required": [
          "extent",
          "majorVersion",
          "volumeName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVmfsSpec": {
        "type": "object",
        "description": "A boxed array of *HostVmfsSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVmfsSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmfsUnmapBandwidthSpec": {
        "type": "object",
        "description": "VMFS unmap reclaims unused storage space.\n\nThis data object type\ndescribes the specification of VMFS unmap bandwidth.\n",
        "properties": {
          "policy": {
            "description": "This property determines the unmap bandwidth policy.\n\nSee *HostVmfsVolumeUnmapBandwidthPolicy_enum* for supported\nvalues. If not specified, the default value is\n*fixed*, which means\nunmap is processed at a fixed rate.\n",
            "type": "string"
          },
          "fixedValue": {
            "description": "This property determines the bandwidth under the fixed policy.\n",
            "type": "integer",
            "format": "int64"
          },
          "dynamicMin": {
            "description": "This property determines the lower limits of the unmap bandwidth\nunder the dynamic policy.\n",
            "type": "integer",
            "format": "int64"
          },
          "dynamicMax": {
            "description": "This property determines the upper limits of the unmap bandwidth\nunder the dynamic policy.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "policy",
          "fixedValue",
          "dynamicMin",
          "dynamicMax"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmfsUnmapBandwidthSpec": {
        "type": "object",
        "description": "A boxed array of *VmfsUnmapBandwidthSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmfsUnmapBandwidthSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanDatastoreInfo": {
        "type": "object",
        "description": "Detailed information about a vSAN datastore.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "membershipUuid": {
            "description": "The cluster membership identity of the datastore.\n",
            "type": "string"
          },
          "accessGenNo": {
            "description": "The generation number tracking datastore accessibility.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreInfo"
          }
        ]
      },
      "ArrayOfVsanDatastoreInfo": {
        "type": "object",
        "description": "A boxed array of *VsanDatastoreInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanDatastoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVsanInternalSystemCmmdsQuery": {
        "type": "object",
        "description": "All fields in the CMMDS Query spec are optional, but at least one needs\nspecified to make a valid query.\n",
        "properties": {
          "type": {
            "description": "CMMDS type, e.g.\n\nDOM\\_OBJECT, LSOM\\_OBJECT, POLICY, DISK etc.\n",
            "type": "string"
          },
          "uuid": {
            "description": "UUID of the entry.\n",
            "type": "string"
          },
          "owner": {
            "description": "UUID of the owning node.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVsanInternalSystemCmmdsQuery": {
        "type": "object",
        "description": "A boxed array of *HostVsanInternalSystemCmmdsQuery*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVsanInternalSystemCmmdsQuery"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVsanInternalSystemDeleteVsanObjectsResult": {
        "type": "object",
        "description": "Result of DeleteVsanObjects.\n",
        "properties": {
          "uuid": {
            "description": "UUID of the VSAN object.\n",
            "type": "string"
          },
          "success": {
            "description": "Indicates success or failure of object deletion.\n",
            "type": "boolean"
          },
          "failureReason": {
            "description": "List of LocalizableMessages with the failure vobs.\n\nThis is unset if delete is successful.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "required": [
          "uuid",
          "success"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult": {
        "type": "object",
        "description": "A boxed array of *HostVsanInternalSystemDeleteVsanObjectsResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVsanInternalSystemDeleteVsanObjectsResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanNewPolicyBatch": {
        "type": "object",
        "description": "NewPolicyBatch --\nStructure to specify a list of object sizes and a policy for what-if\nanalysis.\n",
        "properties": {
          "size": {
            "description": "Size (in bytes) of the objects.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "policy": {
            "description": "New policy in SPBM or VSAN expression format.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanNewPolicyBatch": {
        "type": "object",
        "description": "A boxed array of *VsanNewPolicyBatch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanNewPolicyBatch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanPolicyChangeBatch": {
        "type": "object",
        "description": "PolicyChangeBatch --\nStructure to specify a list of object uuids and a policy for what-if\nanalysis.\n",
        "properties": {
          "uuid": {
            "description": "UUIDs of the objects.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "policy": {
            "description": "New policy in SPBM or VSAN expression format.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanPolicyChangeBatch": {
        "type": "object",
        "description": "A boxed array of *VsanPolicyChangeBatch*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanPolicyChangeBatch"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanPolicyCost": {
        "type": "object",
        "description": "PolicyCost --\nStructure to describe the cost of satisfying a policy.\n",
        "properties": {
          "changeDataSize": {
            "description": "Change (in bytes) of size of data stored on the datastore.\n\nThis is\nthe max of reserved and used capacity.\n",
            "type": "integer",
            "format": "int64"
          },
          "currentDataSize": {
            "description": "Size (in bytes) of data currently stored on the datastore.\n\nThis is\nthe max of reserved and used capacity.\n",
            "type": "integer",
            "format": "int64"
          },
          "tempDataSize": {
            "description": "Size (in bytes) for temporary data that will be needed on disk if\nnew policy is applied.\n",
            "type": "integer",
            "format": "int64"
          },
          "copyDataSize": {
            "description": "Size (in bytes) of data we need to write to VSAN Datastore if new\npolicy is applied.\n",
            "type": "integer",
            "format": "int64"
          },
          "changeFlashReadCacheSize": {
            "description": "Change (in bytes) of flash space reserved for read cache if new\npolicy is applied.\n",
            "type": "integer",
            "format": "int64"
          },
          "currentFlashReadCacheSize": {
            "description": "Size (in bytes) of flash space currently reserved for read cache.\n",
            "type": "integer",
            "format": "int64"
          },
          "currentDiskSpaceToAddressSpaceRatio": {
            "description": "Current ratio of physical disk space of an object to the logical VSAN\naddress space.\n\nFor eg. an object of size 1GB with two copies of the\ndata has two 1GB replicas and so this ratio is 2.\n",
            "type": "number",
            "format": "float"
          },
          "diskSpaceToAddressSpaceRatio": {
            "description": "Ratio of physical disk space of an object to the logical VSAN\naddress space after new policy is applied.\n\nFor eg. an object of size\n1GB with two copies of the data has two 1GB replicas and so this\nratio is 2.\n",
            "type": "number",
            "format": "float"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanPolicyCost": {
        "type": "object",
        "description": "A boxed array of *VsanPolicyCost*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanPolicyCost"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanPolicySatisfiability": {
        "type": "object",
        "description": "PolicySatisfiablity --\nStructure to describe whether a policy can be satisfied.\n",
        "properties": {
          "uuid": {
            "description": "UUID of the object.\n",
            "type": "string"
          },
          "isSatisfiable": {
            "description": "Can the policy be satisfied given the assumptions of the API that\nqueried satisfiability.\n\nSee also *HostVsanInternalSystem.ReconfigurationSatisfiable*.\n",
            "type": "boolean"
          },
          "reason": {
            "description": "Reason for not being able to satisfy the policy; This is unset if\npolicy can be satisfied.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          },
          "cost": {
            "description": "Cost of satisfying the new policy; This is unset if policy cannot be\nsatisfied.\n",
            "$ref": "#/components/schemas/VsanPolicyCost"
          }
        },
        "required": [
          "isSatisfiable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanPolicySatisfiability": {
        "type": "object",
        "description": "A boxed array of *VsanPolicySatisfiability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanPolicySatisfiability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVsanInternalSystemVsanObjectOperationResult": {
        "type": "object",
        "description": "Operation result for a VSAN object upon failure.\n",
        "properties": {
          "uuid": {
            "description": "The UUID of the in question VSAN object.\n",
            "type": "string"
          },
          "failureReason": {
            "description": "List of LocalizableMessages with the failure vobs.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "required": [
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVsanInternalSystemVsanObjectOperationResult": {
        "type": "object",
        "description": "A boxed array of *HostVsanInternalSystemVsanObjectOperationResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVsanInternalSystemVsanObjectOperationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult": {
        "type": "object",
        "description": "Result structure for a VSAN Physical Disk Diagnostics run.\n\nSpecifies the\nresult of a single disk.\n",
        "properties": {
          "diskUuid": {
            "description": "VSAN Disk UUID of the checked disk.\n",
            "type": "string"
          },
          "success": {
            "description": "Indicates success or failure of object creation on the disk.\n",
            "type": "boolean"
          },
          "failureReason": {
            "description": "A failure reason type, in case of failure.\n",
            "type": "string"
          }
        },
        "required": [
          "diskUuid",
          "success"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult": {
        "type": "object",
        "description": "A boxed array of *HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VvolDatastoreInfo": {
        "type": "object",
        "description": "Detailed information about a VirtualVolume datastore.\n",
        "properties": {
          "vvolDS": {
            "$ref": "#/components/schemas/HostVvolVolume"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DatastoreInfo"
          }
        ]
      },
      "ArrayOfVvolDatastoreInfo": {
        "type": "object",
        "description": "A boxed array of *VvolDatastoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VvolDatastoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVvolNQN": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "targetNQN": {
            "type": "string"
          },
          "storageArray": {
            "type": "string"
          },
          "online": {
            "type": "boolean"
          }
        },
        "required": [
          "targetNQN",
          "storageArray",
          "online"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVvolNQN": {
        "type": "object",
        "description": "A boxed array of *HostVvolNQN*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVvolNQN"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVvolVolume": {
        "type": "object",
        "properties": {
          "scId": {
            "description": "The universally unique identifier assigned to vvolDS.\n",
            "type": "string"
          },
          "hostPE": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VVolHostPE"
            }
          },
          "hostVvolNQN": {
            "description": "Virtual Protocol endpoints for this volume\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVvolVolumeHostVvolNQN"
            }
          },
          "vasaProviderInfo": {
            "description": "VASA Providers that manage this volume\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimVasaProviderInfo"
            }
          },
          "storageArray": {
            "description": "List of storage array serving this VVol based storage container\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VASAStorageArray"
            }
          },
          "protocolEndpointType": {
            "description": "Backing protocol of the datastore\n\n***Since:*** vSphere API Release 8.0.0.0\n",
            "type": "string"
          },
          "vvolNQNFieldsAvailable": {
            "description": "vVol NQN field availability\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "boolean"
          },
          "stretched": {
            "description": "if set to true, indicates a stretched container\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "scId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostFileSystemVolume"
          }
        ]
      },
      "ArrayOfHostVvolVolume": {
        "type": "object",
        "description": "A boxed array of *HostVvolVolume*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVvolVolume"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VVolHostPE": {
        "type": "object",
        "properties": {
          "key": {
            "description": "The host associated with this volume.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "protocolEndpoint": {
            "description": "Host-specific information about the ProtocolEndpoint.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProtocolEndpoint"
            }
          }
        },
        "required": [
          "key",
          "protocolEndpoint"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVVolHostPE": {
        "type": "object",
        "description": "A boxed array of *VVolHostPE*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VVolHostPE"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVvolVolumeHostVvolNQN": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "host": {
            "description": "The host associated with this volume.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vvolNQN": {
            "description": "Host-specific information about the virtual ProtocolEndpoint.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVvolNQN"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVvolVolumeHostVvolNQN": {
        "type": "object",
        "description": "A boxed array of *HostVvolVolumeHostVvolNQN*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVvolVolumeHostVvolNQN"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostVvolVolumeSpecification": {
        "type": "object",
        "properties": {
          "maxSizeInMB": {
            "description": "Maximum size of the container\n",
            "type": "integer",
            "format": "int64"
          },
          "volumeName": {
            "description": "Container name.\n",
            "type": "string"
          },
          "vasaProviderInfo": {
            "description": "VASA Providers that manage this volume\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VimVasaProviderInfo"
            }
          },
          "storageArray": {
            "description": "Storage Array\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VASAStorageArray"
            }
          },
          "uuid": {
            "description": "Vendor specified storage-container ID\n",
            "type": "string"
          },
          "stretched": {
            "description": "if set to true, indicates a stretched container\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "maxSizeInMB",
          "volumeName",
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostVvolVolumeSpecification": {
        "type": "object",
        "description": "A boxed array of *HostVvolVolumeSpecification*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostVvolVolumeSpecification"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetDhcpConfigInfo": {
        "type": "object",
        "description": "Dynamic Host Configuration Protocol reporting for IP version 4 and version 6.\n",
        "properties": {
          "ipv6": {
            "description": "IPv6 DHCP client settings.\n",
            "$ref": "#/components/schemas/NetDhcpConfigInfoDhcpOptions"
          },
          "ipv4": {
            "description": "IPv4 DHCP client settings.\n",
            "$ref": "#/components/schemas/NetDhcpConfigInfoDhcpOptions"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetDhcpConfigInfo": {
        "type": "object",
        "description": "A boxed array of *NetDhcpConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetDhcpConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetDhcpConfigInfoDhcpOptions": {
        "type": "object",
        "description": "Provides for reporting of DHCP client.\n\nThis data object may be used\nat a per interface or per system scope.\n",
        "properties": {
          "enable": {
            "description": "Report state of dhcp client services.\n",
            "type": "boolean"
          },
          "config": {
            "description": "Platform specific settings for DHCP Client.\n\nThe key part is a unique number, the value part\nis the platform specific configuration command.\nFor example on Linux, BSD systems using the file dhclient.conf\noutput would be reported at system scope:\nkey='1', value='timeout 60;'\nkey='2', value='reboot 10;'\noutput reported at per interface scope:\nkey='1', value='prepend domain-name-servers 192.0.2.1;'\nkey='2', value='equire subnet-mask, domain-name-servers;'\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "enable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetDhcpConfigInfoDhcpOptions": {
        "type": "object",
        "description": "A boxed array of *NetDhcpConfigInfoDhcpOptions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetDhcpConfigInfoDhcpOptions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetDhcpConfigSpec": {
        "type": "object",
        "description": "Dynamic Host Configuration Protocol Configuration for IP version 4 and version 6.\n",
        "properties": {
          "ipv6": {
            "description": "Configure IPv6 DHCP client settings.\n",
            "$ref": "#/components/schemas/NetDhcpConfigSpecDhcpOptionsSpec"
          },
          "ipv4": {
            "description": "Configure IPv4 DHCP client settings.\n",
            "$ref": "#/components/schemas/NetDhcpConfigSpecDhcpOptionsSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetDhcpConfigSpec": {
        "type": "object",
        "description": "A boxed array of *NetDhcpConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetDhcpConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetDhcpConfigSpecDhcpOptionsSpec": {
        "type": "object",
        "description": "Provides for configuration of IPv6\n",
        "properties": {
          "enable": {
            "description": "Enable or disable dhcp for IPv4.\n",
            "type": "boolean"
          },
          "config": {
            "description": "Platform specific settings for DHCP Client.\n\nThe key part is a unique number, the value part\nis the platform specific configuration command.\nSee *NetDhcpConfigInfo* for value formatting.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "operation": {
            "description": "Requires one of the values from *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "config",
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetDhcpConfigSpecDhcpOptionsSpec": {
        "type": "object",
        "description": "A boxed array of *NetDhcpConfigSpecDhcpOptionsSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetDhcpConfigSpecDhcpOptionsSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetDnsConfigInfo": {
        "type": "object",
        "description": "Domain Name Server (DNS) Configuration Specification -\na data object for reporting the configuration of RFC 1034 client side DNS settings.\n",
        "properties": {
          "dhcp": {
            "description": "Indicates whether or not dynamic host control\nprotocol (DHCP) is used to configure DNS configuration.\n",
            "type": "boolean"
          },
          "hostName": {
            "description": "The host name portion of DNS name.\n\nFor example, \"esx01\" part of\nesx01.example.com.\n",
            "type": "string"
          },
          "domainName": {
            "description": "The domain name portion of the DNS name.\n\n\"example.com\" part of\nesx01.example.com.\n",
            "type": "string"
          },
          "ipAddress": {
            "description": "The IP addresses of the DNS servers in order of use.\n\nIPv4 addresses are specified using\ndotted decimal notation. For example, \"192.0.2.1\".\nIPv6 addresses are 128-bit addresses represented as\neight fields of up to four hexadecimal digits.\nA colon separates each field (:). For example,\n2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the\nsymbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "searchDomain": {
            "description": "The domain in which to search for hosts, placed in order of preference.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "dhcp",
          "hostName",
          "domainName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetDnsConfigInfo": {
        "type": "object",
        "description": "A boxed array of *NetDnsConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetDnsConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetDnsConfigSpec": {
        "type": "object",
        "description": "Domain Name Server (DNS) Configuration Specification -\na data object for configuring the RFC 1034 client side DNS settings.\n\nTBD: remove this section, only for discussing what goes into this object.\nPlace properties here that are specific to the RFC/common to all systems.\nProperties that are platform specific should go into a separate config spec.\nhttp://technet.microsoft.com/en-us/library/cc778792.aspx\nhttp://en.wikipedia.org/wiki/Microsoft\\_DNS\n",
        "properties": {
          "dhcp": {
            "description": "The flag to indicate whether or not dynamic host control\nprotocol (DHCP) will be used to set DNS configuration automatically.\n\nSee vim.net.DhcpConfigSpec\n",
            "type": "boolean"
          },
          "hostName": {
            "description": "The host name portion of DNS name.\n\nFor example,\n\"esx01\" part of esx01.example.com. The rules for forming a hostname\nare specified in RFC 1034.\n",
            "type": "string"
          },
          "domainName": {
            "description": "The domain name portion of the DNS name.\n\nThis would be the\n\"example.com\" part of esx01.example.com. The rules for forming\na domain name are defined in RFC 1034.\n",
            "type": "string"
          },
          "ipAddress": {
            "description": "Unicast IP address(s) of one or more DNS servers in order of use.\n\nIPv4 addresses are specified using\ndotted decimal notation. For example, \"192.0.2.1\".\nIPv6 addresses are 128-bit addresses represented as\neight fields of up to four hexadecimal digits.\nA colon separates each field (:). For example,\n2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the\nsymbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "searchDomain": {
            "description": "The domain in which to search for hosts in order of preference.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetDnsConfigSpec": {
        "type": "object",
        "description": "A boxed array of *NetDnsConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetDnsConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpConfigInfo": {
        "type": "object",
        "description": "Protocol version independent address reporting data object for network\ninterfaces.\n",
        "properties": {
          "ipAddress": {
            "description": "Zero, one or more manual (static) assigned IP addresses to be configured\non a given interface.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpConfigInfoIpAddress"
            }
          },
          "dhcp": {
            "description": "Client side DHCP for a given interface.\n",
            "$ref": "#/components/schemas/NetDhcpConfigInfo"
          },
          "autoConfigurationEnabled": {
            "description": "Enable or disable ICMPv6 router solictitation requests from a given interface\nto acquire an IPv6 address and default gateway route from zero, one or more\nrouters on the connected network.\n\nIf not set then ICMPv6 is not available on this system,\nSee vim.host.Network.Capabilities\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpConfigInfo": {
        "type": "object",
        "description": "A boxed array of *NetIpConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpConfigInfoIpAddress": {
        "type": "object",
        "description": "Information about a specific IP Address.\n",
        "properties": {
          "ipAddress": {
            "description": "IPv4 address is specified using dotted decimal notation.\n\nFor example, \"192.0.2.1\".\nIPv6 addresses are 128-bit addresses represented as eight fields\nof up to four hexadecimal digits.\nA colon separates each field (:). For example,\n2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the\nsymbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "Denotes the length of a generic Internet network address\nprefix.\n\nThe prefix length for IPv4 the value range is 0-32.\nFor IPv6 prefixLength is a decimal value range 0-128.\nA value of n corresponds to an IP address mask\nthat has n contiguous 1-bits from the most significant\nbit (MSB), with all other bits set to 0.\nA value of zero is valid only if the calling context defines\nit.\n",
            "type": "integer",
            "format": "int32"
          },
          "origin": {
            "description": "How this address was configured.\n\nThis can be\none of the values from the enum IpAddressOrigin\nSee *NetIpConfigInfoIpAddressOrigin_enum* for values.\n",
            "type": "string"
          },
          "state": {
            "description": "The state of this ipAddress.\n\nCan be one of *NetIpConfigInfoIpAddressStatus_enum*.\n",
            "type": "string"
          },
          "lifetime": {
            "description": "The time when will this address expire.\n\nDurning this time\n*state* may change states but is still visible\nfrom the network.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "ipAddress",
          "prefixLength"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpConfigInfoIpAddress": {
        "type": "object",
        "description": "A boxed array of *NetIpConfigInfoIpAddress*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpConfigInfoIpAddress"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpConfigSpec": {
        "type": "object",
        "description": "Internet Protocol Address Configuration for version 4 and version 6.\n",
        "properties": {
          "ipAddress": {
            "description": "A set of manual (static) IP addresses to be configured on a given interface.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpConfigSpecIpAddressSpec"
            }
          },
          "dhcp": {
            "description": "Configure client side DHCP for a given interface.\n",
            "$ref": "#/components/schemas/NetDhcpConfigSpec"
          },
          "autoConfigurationEnabled": {
            "description": "Enable or disable ICMPv6 router solictitation requests from a given interface\nto acquire an IPv6 address and default gateway route from zero, one or more\nrouters on the connected network.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpConfigSpec": {
        "type": "object",
        "description": "A boxed array of *NetIpConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpConfigSpecIpAddressSpec": {
        "type": "object",
        "description": "Provides for configuration of IP Addresses.\n",
        "properties": {
          "ipAddress": {
            "description": "IPv4 address is specified using\ndotted decimal notation.\n\nFor example, \"192.0.2.1\".\nIPv6 addresses are 128-bit addresses specified as\neight fields of up to four hexadecimal digits.\nA colon separates each field (:). For example,\n2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the\nsymbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "Denotes the length of a generic Internet network address\nprefix.\n\nThe prefix length for IPv4 the value range is 0-32.\nFor IPv6 prefixLength is a decimal value range 0-128.\nA value of n corresponds to an IP address mask\nthat has n contiguous 1-bits from the most significant\nbit (MSB), with all other bits set to 0.\nA value of zero is valid only if the calling context defines\nit.\n",
            "type": "integer",
            "format": "int32"
          },
          "operation": {
            "description": "Requires one of: \"add\" and \"remove\" or \"change\"\nSee *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress",
          "prefixLength",
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpConfigSpecIpAddressSpec": {
        "type": "object",
        "description": "A boxed array of *NetIpConfigSpecIpAddressSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpConfigSpecIpAddressSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpRouteConfigInfo": {
        "type": "object",
        "description": "This data object reports the IP Route Table.\n",
        "properties": {
          "ipRoute": {
            "description": "IP routing table for all address families.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpRouteConfigInfoIpRoute"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpRouteConfigInfo": {
        "type": "object",
        "description": "A boxed array of *NetIpRouteConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpRouteConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpRouteConfigInfoGateway": {
        "type": "object",
        "description": "Next hop Gateway for a given route.\n",
        "properties": {
          "ipAddress": {
            "type": "string"
          },
          "device": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpRouteConfigInfoGateway": {
        "type": "object",
        "description": "A boxed array of *NetIpRouteConfigInfoGateway*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpRouteConfigInfoGateway"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpRouteConfigInfoIpRoute": {
        "type": "object",
        "description": "IpRoute report an individual host, network or default destination network\nreachable through a given gateway.\n",
        "properties": {
          "network": {
            "description": "IP Address of the destination IP network.\n\nIPv6 addresses are 128-bit addresses represented\nas eight fields of up to four hexadecimal digits. A colon separates each\nfield (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can\nalso consist of symbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "The prefix length.\n\nFor IPv4 the value range is 0-31.\nFor IPv6 prefixLength is a decimal value range 0-127. The property\nrepresents the number of contiguous, higher-order bits of the address that make\nup the network portion of the IP address.\n",
            "type": "integer",
            "format": "int32"
          },
          "gateway": {
            "description": "Where to send the packets for this route.\n",
            "$ref": "#/components/schemas/NetIpRouteConfigInfoGateway"
          }
        },
        "required": [
          "network",
          "prefixLength",
          "gateway"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpRouteConfigInfoIpRoute": {
        "type": "object",
        "description": "A boxed array of *NetIpRouteConfigInfoIpRoute*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpRouteConfigInfoIpRoute"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpRouteConfigSpec": {
        "type": "object",
        "description": "Address family independent IP Route Table Configuration data object.\n",
        "properties": {
          "ipRoute": {
            "description": "The set of updates to apply to the routing table.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpRouteConfigSpecIpRouteSpec"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpRouteConfigSpec": {
        "type": "object",
        "description": "A boxed array of *NetIpRouteConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpRouteConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpRouteConfigSpecGatewaySpec": {
        "type": "object",
        "description": "IpRoute report an individual host, network or default destination network\nreachable through a given gateway.\n",
        "properties": {
          "ipAddress": {
            "type": "string"
          },
          "device": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpRouteConfigSpecGatewaySpec": {
        "type": "object",
        "description": "A boxed array of *NetIpRouteConfigSpecGatewaySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpRouteConfigSpecGatewaySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpRouteConfigSpecIpRouteSpec": {
        "type": "object",
        "description": "Specify an individual host, network or default destination network\nreachable through a given gateway.\n",
        "properties": {
          "network": {
            "description": "IP Address of the destination IP network.\n\nIPv6 addresses are 128-bit addresses represented\nas eight fields of up to four hexadecimal digits. A colon separates each\nfield (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can\nalso consist of symbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\nTo Specify a default network use the value: 0 with prefixLenth 0.\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "The prefix length.\n\nFor IPv4 the value range is 0-31.\nFor IPv6 prefixLength is a decimal value range 0-127. The property\nrepresents the number of contiguous, higher-order bits of the address that make\nup the network portion of the IP address.\n",
            "type": "integer",
            "format": "int32"
          },
          "gateway": {
            "description": "Where to send the packets for this route.\n",
            "$ref": "#/components/schemas/NetIpRouteConfigSpecGatewaySpec"
          },
          "operation": {
            "description": "Requires one of the values from *HostConfigChangeOperation_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "network",
          "prefixLength",
          "gateway",
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpRouteConfigSpecIpRouteSpec": {
        "type": "object",
        "description": "A boxed array of *NetIpRouteConfigSpecIpRouteSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpRouteConfigSpecIpRouteSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpStackInfo": {
        "type": "object",
        "description": "Protocol version independent reporting data object for IP stack.\n",
        "properties": {
          "neighbor": {
            "description": "Zero, one or more entries of neighbors discovered using ARP or NDP.\n\nThis information is used to help diagnose connectivity or performance\nissues. This property maps to RFC 4293 ipNetToPhysicalTable.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpStackInfoNetToMedia"
            }
          },
          "defaultRouter": {
            "description": "Zero one or more entries of discovered IP routers that are directly\nreachable from a an interface on this system.\n\nThis property maps to RFC 4293 ipDefaultRouterTable.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpStackInfoDefaultRouter"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpStackInfo": {
        "type": "object",
        "description": "A boxed array of *NetIpStackInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpStackInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpStackInfoDefaultRouter": {
        "type": "object",
        "properties": {
          "ipAddress": {
            "description": "Unicast IP address of a next-hop router.\n",
            "type": "string"
          },
          "device": {
            "description": "This value will contain the name of the interface as reported by the\noperationg system.\n",
            "type": "string"
          },
          "lifetime": {
            "description": "When this entry will no longer valid.\n\nFor IPv6 this value\nsee For IPv6 RFC 2462 sections 4.2 and 6.3.4.\n",
            "type": "string",
            "format": "date-time"
          },
          "preference": {
            "description": "Value of this entry compared to others that this IP stack uses\nwhen making selection to route traffic on the default\nroute when there are multiple default routers.\n\nValue must be one of\n*NetIpStackInfoPreference_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress",
          "device",
          "lifetime",
          "preference"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpStackInfoDefaultRouter": {
        "type": "object",
        "description": "A boxed array of *NetIpStackInfoDefaultRouter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpStackInfoDefaultRouter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetIpStackInfoNetToMedia": {
        "type": "object",
        "description": "Information from an IP stack about known mappings betwwen an IP address\nand the underlying physical address it maps to as learned by:\nIPv4: Address Resolution Protocol (ARP) RFC 826\nIPv6: Neighbor Discovery Protocol (NDP) RFC 4861\n",
        "properties": {
          "ipAddress": {
            "description": "A Unicast IP address of another system directly reachable w/o routing.\n\nIPv4 address is specified using dotted decimal notation.\nFor example, \"192.0.2.1\".\nIPv6 addresses are 128-bit addresses represented as eight fields\nof up to four hexadecimal digits.\nA colon separates each field (:). For example,\n2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the\nsymbol '::' to represent multiple 16-bit groups of\ncontiguous 0's only once in an address as described in RFC 2373.\n",
            "type": "string"
          },
          "physicalAddress": {
            "description": "The media-dependent of the address or empty string if not yet learned.\n\nFor Ethernet interfaces this is a MAC address reported in the format:\nXX:XX:XX:XX:XX:XX where XX are hexadecimal numbers.\n",
            "type": "string"
          },
          "device": {
            "description": "The value will be the name of the interface as reported by the\noperating system.\n",
            "type": "string"
          },
          "type": {
            "description": "The type/state of this entry as reported by the IP stack.\n\nSee *NetIpStackInfoEntryType_enum* for values.\n",
            "type": "string"
          }
        },
        "required": [
          "ipAddress",
          "physicalAddress",
          "device",
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetIpStackInfoNetToMedia": {
        "type": "object",
        "description": "A boxed array of *NetIpStackInfoNetToMedia*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetIpStackInfoNetToMedia"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetBIOSConfigInfo": {
        "type": "object",
        "description": "This data object type describes the NetBIOS configuration of\nan operating system.\n",
        "properties": {
          "mode": {
            "description": "NetBIOS configuration mode.\n\nThe supported values are described by\n*NetBIOSConfigInfoMode_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "mode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNetBIOSConfigInfo": {
        "type": "object",
        "description": "A boxed array of *NetBIOSConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetBIOSConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WinNetBIOSConfigInfo": {
        "type": "object",
        "description": "This data object type describes the Windows-specific\nNetBIOS configuration.\n",
        "properties": {
          "primaryWINS": {
            "description": "The IP address of the primary WINS server.\n",
            "type": "string"
          },
          "secondaryWINS": {
            "description": "The IP address of the secondary WINS server.\n",
            "type": "string"
          }
        },
        "required": [
          "primaryWINS"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/NetBIOSConfigInfo"
          }
        ]
      },
      "ArrayOfWinNetBIOSConfigInfo": {
        "type": "object",
        "description": "A boxed array of *WinNetBIOSConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WinNetBIOSConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayUpdateSpec": {
        "type": "object",
        "description": "An ArrayUpdateSpec data object type is a common superclass\nfor supporting incremental updates to arrays.\n\nThe common code pattern is:\n\n         class MyTypeSpec extrends ArrayUpdateSpec {\n               MyTypeInfo info;\n         }\nThe ArrayUpdateSpec contains the following:\n- **operation**: the type of operation being performed.\n- **removeKey**: In the case of a remove operation, the\n  key value that identifies the array to be removed.\n",
        "properties": {
          "operation": {
            "description": "The type of operation being performed on the specified virtual device.\n",
            "$ref": "#/components/schemas/ArrayUpdateOperation_enum"
          },
          "removeKey": {
            "description": "Key for the element to be removed.\n\nOnly used if the operation\nis \"remove\".\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "operation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfArrayUpdateSpec": {
        "type": "object",
        "description": "A boxed array of *ArrayUpdateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArrayUpdateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BoolOption": {
        "type": "object",
        "description": "The BoolOption data object type describes if an option\nis supported (\"true\") and if the option is set to \"true\" or\n\"false\" by default.\n",
        "properties": {
          "supported": {
            "description": "The flag to indicate whether or not the\noption is supported.\n",
            "type": "boolean"
          },
          "defaultValue": {
            "description": "The default value for the option.\n",
            "type": "boolean"
          }
        },
        "required": [
          "supported",
          "defaultValue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OptionType"
          }
        ]
      },
      "ArrayOfBoolOption": {
        "type": "object",
        "description": "A boxed array of *BoolOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BoolOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ChoiceOption": {
        "type": "object",
        "description": "The ChoiceOption data object type defines a set of\nsupported string values, a localizable description for each value,\nand the default value.\n",
        "properties": {
          "choiceInfo": {
            "description": "The set of possible selections and descriptions.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "defaultIndex": {
            "description": "The index in ChoiceOption.value that serves as the default value.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "choiceInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OptionType"
          }
        ]
      },
      "ArrayOfChoiceOption": {
        "type": "object",
        "description": "A boxed array of *ChoiceOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChoiceOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FloatOption": {
        "type": "object",
        "description": "The FloatOption data object type defines the minimum, maximum,\nand default values for a float option.\n",
        "properties": {
          "min": {
            "description": "The minimum value.\n",
            "type": "number",
            "format": "float"
          },
          "max": {
            "description": "The maximum value.\n",
            "type": "number",
            "format": "float"
          },
          "defaultValue": {
            "description": "The default value.\n",
            "type": "number",
            "format": "float"
          }
        },
        "required": [
          "min",
          "max",
          "defaultValue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OptionType"
          }
        ]
      },
      "ArrayOfFloatOption": {
        "type": "object",
        "description": "A boxed array of *FloatOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FloatOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IntOption": {
        "type": "object",
        "description": "The IntOption data object type is used to define the minimum, maximum,\nand default values for an integer option.\n",
        "properties": {
          "min": {
            "description": "The minimum value.\n",
            "type": "integer",
            "format": "int32"
          },
          "max": {
            "description": "The maximum value.\n",
            "type": "integer",
            "format": "int32"
          },
          "defaultValue": {
            "description": "The default value.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "min",
          "max",
          "defaultValue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OptionType"
          }
        ]
      },
      "ArrayOfIntOption": {
        "type": "object",
        "description": "A boxed array of *IntOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LongOption": {
        "type": "object",
        "description": "The LongOption data object type is used to define the minimum, maximum,\nand default values for a 64-bit long option.\n",
        "properties": {
          "min": {
            "description": "The minimum value.\n",
            "type": "integer",
            "format": "int64"
          },
          "max": {
            "description": "The maximum value.\n",
            "type": "integer",
            "format": "int64"
          },
          "defaultValue": {
            "description": "The default value.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "min",
          "max",
          "defaultValue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OptionType"
          }
        ]
      },
      "ArrayOfLongOption": {
        "type": "object",
        "description": "A boxed array of *LongOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LongOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OptionDef": {
        "type": "object",
        "description": "Describes a user-defined option.\n\nThe name of each option is identified by the\n\"key\" property, inherited from the *ElementDescription*\ndata object type.\nYou can indicate the property's position in a hierarchy by using a dot-separated\nnotation. The string preceding the first dot is the top of the hierarchy. The\nhierarchy descends to a new sublevel with each dot.\nFor example, \"Ethernet.NetworkConnection.Bridged\".\n",
        "properties": {
          "optionType": {
            "description": "The option type which defines allowed values.\n",
            "$ref": "#/components/schemas/OptionType"
          }
        },
        "required": [
          "optionType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ElementDescription"
          }
        ]
      },
      "ArrayOfOptionDef": {
        "type": "object",
        "description": "A boxed array of *OptionDef*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionDef"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OptionType": {
        "type": "object",
        "description": "The base data object type for all options.\n",
        "properties": {
          "valueIsReadonly": {
            "description": "The flag to indicate whether or not a user\ncan modify a value belonging to this option type.\n\nIf\nthe flag is not set, the value can be modified.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOptionType": {
        "type": "object",
        "description": "A boxed array of *OptionType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OptionValue": {
        "type": "object",
        "description": "Describes the key/value pair of a configured option.\n",
        "properties": {
          "key": {
            "description": "The name of the option using dot notation to reflect the\noption's position in a hierarchy.\n\nFor example, you might\nhave an option called \"Ethernet\" and another option that is\na child of that called \"Connection\". In this case, the key\nfor the latter could be defined as \"Ethernet.Connection\"\n",
            "type": "string"
          },
          "value": {
            "description": "The value of the option.\n\nThe Any data object type enables you to\ndefine any value for the option. Typically, however, the value\nof an option is of type String or Integer.\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfOptionValue": {
        "type": "object",
        "description": "A boxed array of *OptionValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StringOption": {
        "type": "object",
        "description": "The StringOption data object type is used to define an open-ended\nstring value based on an optional subset of valid characters.\n",
        "properties": {
          "defaultValue": {
            "description": "The default value.\n",
            "type": "string"
          },
          "validCharacters": {
            "description": "The string containing the set of valid characters.\n\nIf a string\noption is not specified, all strings are allowed.\n",
            "type": "string"
          }
        },
        "required": [
          "defaultValue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/OptionType"
          }
        ]
      },
      "ArrayOfStringOption": {
        "type": "object",
        "description": "A boxed array of *StringOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StringOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ApplyProfile": {
        "type": "object",
        "description": "The *ApplyProfile* data object is the base class for all data objects\nthat define profile configuration data.\n\n<code>ApplyProfile</code> defines ESX configuration data storage and it\nsupports recursive profile definition for the profile plug-in architecture.\n",
        "properties": {
          "enabled": {
            "description": "Indicates whether the profile is enabled.\n",
            "type": "boolean"
          },
          "policy": {
            "description": "The list of policies comprising the profile.\n\nA *ProfilePolicy*\nstores one or more configuration data values in a *PolicyOption*.\nThe policy option is one of the configuration options from the\n*ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\nlist.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfilePolicy"
            }
          },
          "profileTypeName": {
            "description": "Identifies the profile type.\n",
            "type": "string"
          },
          "profileVersion": {
            "description": "Profile engine version.\n",
            "type": "string"
          },
          "property": {
            "description": "List of subprofiles for this profile.\n\nThis list can change depending on which profile plug-ins are available in the system.\nSubprofiles can be nested to arbitrary depths to represent host capabilities.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileApplyProfileProperty"
            }
          },
          "favorite": {
            "description": "Indicates whether this profile is marked as \"favorite\".\n",
            "type": "boolean"
          },
          "toBeMerged": {
            "description": "Indicates whether this profile is marked as to-be-merged.\n",
            "type": "boolean"
          },
          "toReplaceWith": {
            "description": "Indicates whether the selected array elements, with the current\nas one of them, replace the profile array in the target host\nprofile.\n",
            "type": "boolean"
          },
          "toBeDeleted": {
            "description": "Indicates whether this profile is marked as to-be-deleted.\n",
            "type": "boolean"
          },
          "copyEnableStatus": {
            "description": "Indicates that the member variable <code>enabled</code> of this profile\nwill be copied from source profile to target profiles at host profile\ncomposition.\n",
            "type": "boolean"
          },
          "hidden": {
            "description": "Indicates whether this profile will be displayed or not.\n",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfApplyProfile": {
        "type": "object",
        "description": "A boxed array of *ApplyProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplyProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileApplyProfileElement": {
        "type": "object",
        "description": "DataObject which represents an ApplyProfile element.\n\nAn ApplyProfile element is an ApplyProfile for a set of host\nconfiguration settings which may be instanced.\nFor example, there may be multiple virtual switch instances\nrepresented by individual ApplyProfileElement DataObjects.\n",
        "properties": {
          "key": {
            "description": "The linkable identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfProfileApplyProfileElement": {
        "type": "object",
        "description": "A boxed array of *ProfileApplyProfileElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileApplyProfileElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileApplyProfileProperty": {
        "type": "object",
        "description": "The *ProfileApplyProfileProperty* data object defines one or more subprofiles.\n",
        "properties": {
          "propertyName": {
            "description": "Name of the property.\n",
            "type": "string"
          },
          "array": {
            "description": "Flag indicating whether this property is an array of profiles.\n",
            "type": "boolean"
          },
          "profile": {
            "description": "Subprofiles that define policies and nested subprofiles.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplyProfile"
            }
          }
        },
        "required": [
          "propertyName",
          "array"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileApplyProfileProperty": {
        "type": "object",
        "description": "A boxed array of *ProfileApplyProfileProperty*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileApplyProfileProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComplianceLocator": {
        "type": "object",
        "description": "This dataObject contains information about location of applyProfile\nwhich was responsible for generation of a particular ComplianceExpression.\n",
        "properties": {
          "expressionName": {
            "description": "Exression for which the Locator corresponds to\n",
            "type": "string"
          },
          "applyPath": {
            "description": "Complete path to the profile/policy which was responsible for the\ngeneration of the ComplianceExpression.\n\n\\[ProfilePath + policyId\\] will uniquely identify a Policy.\n",
            "$ref": "#/components/schemas/ProfilePropertyPath"
          }
        },
        "required": [
          "expressionName",
          "applyPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComplianceLocator": {
        "type": "object",
        "description": "A boxed array of *ComplianceLocator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceLocator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComplianceProfile": {
        "type": "object",
        "description": "DataObject contains the verifications that need to be done\nto make sure the entity is in compliance.\n",
        "properties": {
          "expression": {
            "description": "List of expressions that make up the ComplianceChecks.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileExpression"
            }
          },
          "rootExpression": {
            "description": "Name of the Expression which is the root of the expression tree.\n",
            "type": "string"
          }
        },
        "required": [
          "expression",
          "rootExpression"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComplianceProfile": {
        "type": "object",
        "description": "A boxed array of *ComplianceProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComplianceResult": {
        "type": "object",
        "description": "DataObject representing the result from a ComplianceCheck\n",
        "properties": {
          "profile": {
            "description": "Profile for which the ComplianceResult applies\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "complianceStatus": {
            "description": "Indicates the compliance status of the entity.\n\nSee @link Status\n",
            "type": "string"
          },
          "entity": {
            "description": "Entity on which the compliance check was carried out.\n\nEntity can be a Cluster, Host and so on.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "checkTime": {
            "description": "Time at which compliance check was last run on the entity\n",
            "type": "string",
            "format": "date-time"
          },
          "failure": {
            "description": "If complianceStatus is non-compliant, failure will\ncontain additional information about the compliance errors.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceFailure"
            }
          }
        },
        "required": [
          "complianceStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComplianceResult": {
        "type": "object",
        "description": "A boxed array of *ComplianceResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComplianceFailure": {
        "type": "object",
        "properties": {
          "failureType": {
            "description": "String uniquely identifying the failure.\n",
            "type": "string"
          },
          "message": {
            "description": "Message which describes the compliance failures\nmessage.key serves as a key to the localized\nmessage catalog.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          },
          "expressionName": {
            "description": "Name of the Expression which generated the ComplianceFailure\n",
            "type": "string"
          },
          "failureValues": {
            "description": "If complianceStatus is non-compliant, failureValues will\ncontain values of the non-compliant fields on the host and\nin the profile.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceFailureComplianceFailureValues"
            }
          }
        },
        "required": [
          "failureType",
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComplianceFailure": {
        "type": "object",
        "description": "A boxed array of *ComplianceFailure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceFailure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComplianceFailureComplianceFailureValues": {
        "type": "object",
        "properties": {
          "comparisonIdentifier": {
            "description": "Unique key to a message in the localized message catalog,\nidentifying the fields being compared.\n",
            "type": "string"
          },
          "profileInstance": {
            "description": "Name of the profile instance, in case of non-singleton profiles.\n",
            "type": "string"
          },
          "hostValue": {
            "description": "Value of the non-compliant field on the host.\n",
            "$ref": "#/components/schemas/Any"
          },
          "profileValue": {
            "description": "Value of the non-compliant field in the profile.\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "comparisonIdentifier"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfComplianceFailureComplianceFailureValues": {
        "type": "object",
        "description": "A boxed array of *ComplianceFailureComplianceFailureValues*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceFailureComplianceFailureValues"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileCompositeExpression": {
        "type": "object",
        "description": "DataObject to Compose expressions.\n\nIt is used to group expressions\ntogether. They are similar to a parentheses in an expression.\n",
        "properties": {
          "operator": {
            "description": "Logical operator to be applied between the expressions in\nthe composite expression.\n\ne.g: or, and\n",
            "type": "string"
          },
          "expressionName": {
            "description": "List of expression names that will be used for this composition.\n\nThe individual expressions will return a boolean. The return values\nof the individual expressions will be used to compute the final\nreturn value of the CompositeExpression.\nThe expressions specified in the list can themselves be\nCompositeExpressions.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "operator",
          "expressionName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileExpression"
          }
        ]
      },
      "ArrayOfProfileCompositeExpression": {
        "type": "object",
        "description": "A boxed array of *ProfileCompositeExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileCompositeExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CompositePolicyOption": {
        "type": "object",
        "description": "DataObject represents a composite Policy that is created by the user\nusing different PolicyOptions.\n\nThe options set in the CompositePolicyOption\nshould be derived from the possible options as indicated by the\nCompositePolicyOptionMetadata.\n",
        "properties": {
          "option": {
            "description": "List of policy options that are composed and applicable for\nthis composite policy option.\n\nThe selected PolicyOptions in a CompositePolicyOption will be used in the\npolicy. PolicyOptions need not be specified if they are not desired for\nthe CompositePolicyOption.\nOrder of PolicyOptions in the PolicyOption array is not significant.\nThe host profile policy engine will not respect order of PolicyOptions.\nIt will apply PolicyOptions in a pre-determined order.\nClients of the API must produce PolicyOption in the same order as specified\nin the metadata.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PolicyOption"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PolicyOption"
          }
        ]
      },
      "ArrayOfCompositePolicyOption": {
        "type": "object",
        "description": "A boxed array of *CompositePolicyOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompositePolicyOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileCompositePolicyOptionMetadata": {
        "type": "object",
        "description": "The *ProfileCompositePolicyOptionMetadata* data object represents the metadata information\nfor a composite *PolicyOption*.\n\nThe user will retrieve metadata\ninformation about a composite policy and then combine policy options to produce\nthe composite policy option.\n",
        "properties": {
          "option": {
            "description": "List of optional policy option identifiers that could be combined\nin this composite policy option.\n\nThe policy options should already be\npart of the possible policy options for the policy. See the\n*ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\nlist.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "option"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfilePolicyOptionMetadata"
          }
        ]
      },
      "ArrayOfProfileCompositePolicyOptionMetadata": {
        "type": "object",
        "description": "A boxed array of *ProfileCompositePolicyOptionMetadata*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileCompositePolicyOptionMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileDeferredPolicyOptionParameter": {
        "type": "object",
        "description": "The *ProfileDeferredPolicyOptionParameter* data object contains\ninformation about a single deferred parameter for host configuration.\n- The Server verifies deferred parameter data when it calls the\n  *HostProfile*.*HostProfile.ExecuteHostProfile*\n  method.\n- The client supplies deferred parameter data for host configuration when it calls the\n  *HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task*\n  method.\n- The vCenter Server stores deferred parameter data in answer files\n  (*AnswerFile*.*AnswerFile.userInput*).\n",
        "properties": {
          "inputPath": {
            "description": "Complete path to the *PolicyOption* that defines the parameters.\n",
            "$ref": "#/components/schemas/ProfilePropertyPath"
          },
          "parameter": {
            "description": "List that contains values for the policy parameters.\n\nDuring parameter verification, this property is unspecified\nif the client has not provided the values for this parameter.\nSee *ProfileExecuteResult*.*ProfileExecuteResult.requireInput*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "inputPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileDeferredPolicyOptionParameter": {
        "type": "object",
        "description": "A boxed array of *ProfileDeferredPolicyOptionParameter*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDeferredPolicyOptionParameter"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileExpression": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier of this expression.\n\nThe id has to be unique within a Profile.\nThe id can be used as a key while building composite expressions.\n",
            "type": "string"
          },
          "displayName": {
            "description": "User visible display name\n",
            "type": "string"
          },
          "negated": {
            "description": "Flag indicating if the condition of the expression should be negated.\n\ne.g: conditions like VSwitch0 has vmnic0 connected to it can be turned into\nVSwitch0 doesn't have vmnic0 connected to it.\n",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "displayName",
          "negated"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileExpression": {
        "type": "object",
        "description": "A boxed array of *ProfileExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileExpressionMetadata": {
        "type": "object",
        "description": "DataObject to represent the metadata associated with a SimpleExpression.\n",
        "properties": {
          "expressionId": {
            "description": "Id of the SimpleExpression\n",
            "$ref": "#/components/schemas/ExtendedElementDescription"
          },
          "parameter": {
            "description": "Parameters that can be specified for this SimpleExpression\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileParameterMetadata"
            }
          }
        },
        "required": [
          "expressionId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileExpressionMetadata": {
        "type": "object",
        "description": "A boxed array of *ProfileExpressionMetadata*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileExpressionMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileParameterMetadata": {
        "type": "object",
        "description": "The *ProfileParameterMetadata* data object represents the metadata information\nfor expressions, policy options, and host-specific configuration data.\n",
        "properties": {
          "id": {
            "description": "Identifier for the parameter.\n",
            "$ref": "#/components/schemas/ExtendedElementDescription"
          },
          "type": {
            "description": "Type of the parameter.\n",
            "type": "string"
          },
          "optional": {
            "description": "Whether the parameter is optional.\n",
            "type": "boolean"
          },
          "defaultValue": {
            "description": "Default value that can be used for the parameter.\n",
            "$ref": "#/components/schemas/Any"
          },
          "hidden": {
            "description": "Whether the parameter will not be displayed in UI.\n",
            "type": "boolean"
          },
          "securitySensitive": {
            "description": "Whether the parameter is security sensitive.\n",
            "type": "boolean"
          },
          "readOnly": {
            "description": "Indicates that the parameter value is read-only.\n",
            "type": "boolean"
          },
          "parameterRelations": {
            "description": "Relations with other profile or parameters.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileParameterMetadataParameterRelationMetadata"
            }
          }
        },
        "required": [
          "id",
          "type",
          "optional"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileParameterMetadata": {
        "type": "object",
        "description": "A boxed array of *ProfileParameterMetadata*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileParameterMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileParameterMetadataParameterRelationMetadata": {
        "type": "object",
        "description": "This class to define a relation between the parameter and a profile\nor a parameter, or a constant list of values.\n",
        "properties": {
          "relationTypes": {
            "description": "The types of this relation.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "values": {
            "description": "The valid value list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Any"
            }
          },
          "path": {
            "description": "The property path of the related profile/parameter.\n",
            "$ref": "#/components/schemas/ProfilePropertyPath"
          },
          "minCount": {
            "description": "The minimal count of values to map to.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxCount": {
            "description": "The maximum count of values to map to.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "minCount",
          "maxCount"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileParameterMetadataParameterRelationMetadata": {
        "type": "object",
        "description": "A boxed array of *ProfileParameterMetadataParameterRelationMetadata*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileParameterMetadataParameterRelationMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfilePolicy": {
        "type": "object",
        "description": "The *ProfilePolicy* data object represents a policy.\n",
        "properties": {
          "id": {
            "description": "Identifier for the policy.\n",
            "type": "string"
          },
          "policyOption": {
            "description": "Configuration parameters.\n",
            "$ref": "#/components/schemas/PolicyOption"
          }
        },
        "required": [
          "id",
          "policyOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfilePolicy": {
        "type": "object",
        "description": "A boxed array of *ProfilePolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfilePolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfilePolicyMetadata": {
        "type": "object",
        "description": "The *ProfilePolicyMetadata* data object represents the metadata information\nfor a *ProfilePolicy*.\n",
        "properties": {
          "id": {
            "description": "Identifier for the policy.\n",
            "$ref": "#/components/schemas/ExtendedElementDescription"
          },
          "possibleOption": {
            "description": "Possible policy options that can be set for a policy of the\ngiven kind.\n\n*HostProfile*s and subprofiles\nwill contain selected policy options from this list. See\n*PolicyOption*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfilePolicyOptionMetadata"
            }
          }
        },
        "required": [
          "id",
          "possibleOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfilePolicyMetadata": {
        "type": "object",
        "description": "A boxed array of *ProfilePolicyMetadata*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfilePolicyMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PolicyOption": {
        "type": "object",
        "description": "The *PolicyOption* data object represents one or more configuration\nvalues.\n\nA policy option is one of the configuration options from the\n*ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\nlist.\n",
        "properties": {
          "id": {
            "description": "Identifier for the policy option.\n\nThis value matches one of the\nkeys from the list of possible options in the policy metadata\n(*ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\\[\\].*ProfilePolicyOptionMetadata.id*.*ElementDescription.key*).\n",
            "type": "string"
          },
          "parameter": {
            "description": "Parameters for the policy option.\n\nThis list must include all parameters that are not marked as optional\nin the policy option metadata parameter list\n(*ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\\[\\].*ProfilePolicyOptionMetadata.parameter*\\[\\].*ProfileParameterMetadata.optional*).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPolicyOption": {
        "type": "object",
        "description": "A boxed array of *PolicyOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PolicyOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfilePolicyOptionMetadata": {
        "type": "object",
        "description": "The *ProfilePolicyOptionMetadata* data object contains the metadata information\nfor a *PolicyOption*.\n",
        "properties": {
          "id": {
            "description": "Identifier for the policy option.\n- The <code>id.key</code> value\n  (*ExtendedElementDescription*.*ElementDescription.key*)\n  identifies the policy option type.\n- The <code>id.label</code> property\n  (*ExtendedElementDescription*.*Description.label*)\n  contains a brief localizable message describing the policy option.\n- The <code>id.summary</code> property\n  (*ExtendedElementDescription*.*Description.summary*)\n  contains a localizable summary of the policy option.\n  Summary information can contain embedded variable names which can\n  be replaced with values from the <code>parameter</code> property.\n",
            "$ref": "#/components/schemas/ExtendedElementDescription"
          },
          "parameter": {
            "description": "Metadata about the parameters for the policy option.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileParameterMetadata"
            }
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfilePolicyOptionMetadata": {
        "type": "object",
        "description": "A boxed array of *ProfilePolicyOptionMetadata*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfilePolicyOptionMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileConfigInfo": {
        "type": "object",
        "properties": {
          "name": {
            "description": "Name of the profile\n",
            "type": "string"
          },
          "annotation": {
            "description": "User Provided description of the profile\n",
            "type": "string"
          },
          "enabled": {
            "description": "Flag indicating if the Profile is enabled\n",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "enabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ProfileConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileCreateSpec": {
        "type": "object",
        "description": "Specification describing the parameters during Profile creation\n",
        "properties": {
          "name": {
            "description": "Name of the profile\n",
            "type": "string"
          },
          "annotation": {
            "description": "User Provided description of the profile\n",
            "type": "string"
          },
          "enabled": {
            "description": "Flag indicating if the Profile is enabled\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileCreateSpec": {
        "type": "object",
        "description": "A boxed array of *ProfileCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileDescription": {
        "type": "object",
        "description": "The *ProfileDescription* data object describes a profile.\n\nThe description contains multiple sections. Each section\ndescribes a part of the profile.\n",
        "properties": {
          "section": {
            "description": "Sections which make up the profile description.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDescriptionSection"
            }
          }
        },
        "required": [
          "section"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileDescription": {
        "type": "object",
        "description": "A boxed array of *ProfileDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileDescriptionSection": {
        "type": "object",
        "description": "The *ProfileDescriptionSection* data object\ncontains a profile element description and any messages that may\nbe associated with the profile section.\n",
        "properties": {
          "description": {
            "description": "Localized message data.\n",
            "$ref": "#/components/schemas/ExtendedElementDescription"
          },
          "message": {
            "description": "List of messages that make up the section.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "required": [
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileDescriptionSection": {
        "type": "object",
        "description": "A boxed array of *ProfileDescriptionSection*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDescriptionSection"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileSerializedCreateSpec": {
        "type": "object",
        "description": "The *ProfileSerializedCreateSpec* data object\ndefines a string that contains a serialized representation of a host profile.\n",
        "properties": {
          "profileConfigString": {
            "description": "Representation of the profile in the string form.\n",
            "type": "string"
          }
        },
        "required": [
          "profileConfigString"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileCreateSpec"
          }
        ]
      },
      "ArrayOfProfileSerializedCreateSpec": {
        "type": "object",
        "description": "A boxed array of *ProfileSerializedCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileSerializedCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileMetadata": {
        "type": "object",
        "description": "This data object represents the metadata information of a Profile.\n",
        "properties": {
          "key": {
            "description": "Type of the Profile\n",
            "type": "string"
          },
          "profileTypeName": {
            "description": "Type identifier for the ApplyProfile\n",
            "type": "string"
          },
          "description": {
            "description": "Property which describes the profile\n",
            "$ref": "#/components/schemas/ExtendedDescription"
          },
          "sortSpec": {
            "description": "Property that determines a sorting order for display purposes.\n\nIf\nthe list contains more than one sort spec, then the precedence should\nbe determined by the list order (i.e. sort first by the first spec in\nthe list, then sort by the second spec in the list, etc).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileMetadataProfileSortSpec"
            }
          },
          "profileCategory": {
            "description": "Identifies the profile category that this subprofile is a part of.\n\nThe\nvalue of this string should correspond to the key value of a\n*ProfileCategoryMetadata* object's *ElementDescription.key*\nin its *ProfileCategoryMetadata.id* property.\n",
            "type": "string"
          },
          "profileComponent": {
            "description": "Property indicating that the subprofile described by this\n<code>ProfileMetadata</code> object is declared in the\n*ProfileComponentMetadata.profileTypeNames* of the specified\nprofile component.\n\nThe value of this property should correspond to the key\nvalue of the *ProfileComponentMetadata* object's\n*ElementDescription.key* in its\n*ProfileComponentMetadata.id* property.\nThis property should not be present for subprofiles that are not directly\ndeclared in the *ProfileComponentMetadata.profileTypeNames*\nproperty of a *ProfileComponentMetadata* object.\n",
            "type": "string"
          },
          "operationMessages": {
            "description": "A list of <code>ProfileOperationMessage</code> for this profile.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileMetadataProfileOperationMessage"
            }
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileMetadata": {
        "type": "object",
        "description": "A boxed array of *ProfileMetadata*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileMetadataProfileOperationMessage": {
        "type": "object",
        "description": "Some operations on host profile documents may cause unexpected result.\n\nFor example, deleting a profile instance of vswitch may break the\nnetwork connectivity.\nThis data class provides the localizable message which may be\npresented before or after an operation happens.\n",
        "properties": {
          "operationName": {
            "description": "The operation name.\n",
            "type": "string"
          },
          "message": {
            "description": "The localization message for the operation.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          }
        },
        "required": [
          "operationName",
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileMetadataProfileOperationMessage": {
        "type": "object",
        "description": "A boxed array of *ProfileMetadataProfileOperationMessage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileMetadataProfileOperationMessage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileMetadataProfileSortSpec": {
        "type": "object",
        "properties": {
          "policyId": {
            "description": "The id of the policy used to sort instances of the profile\n",
            "type": "string"
          },
          "parameter": {
            "description": "The parameter to be used for sorting.\n\nNote that if the policy to be\nused for sorting has multiple possible policy options, all possible\npolicy options defined for that policy type must have this parameter.\n",
            "type": "string"
          }
        },
        "required": [
          "policyId",
          "parameter"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileMetadataProfileSortSpec": {
        "type": "object",
        "description": "A boxed array of *ProfileMetadataProfileSortSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileMetadataProfileSortSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfilePropertyPath": {
        "type": "object",
        "description": "The *ProfilePropertyPath* data object represents\nthe path to a profile, policy option, or specific parameter.\n\nIf <code>profilePath</code>,\n<code>policyId</code>, and <code>parameterId</code> are all specified, the\ncombination of the three identifies a particular parameter. If only <code>profilePath</code>\nand <code>policyId</code> are specified, the combination identifies a\nspecific profile policy option. If just the <code>profilePath</code> is\nspecified, the data object identifies a profile instance.\n",
        "properties": {
          "profilePath": {
            "description": "Complete path to the leaf profile, relative to the root of the host profile\ndocument.\n",
            "type": "string"
          },
          "policyId": {
            "description": "Policy identifier.\n",
            "type": "string"
          },
          "parameterId": {
            "description": "Key for a parameter in the policy specified by <code>policyId</code>.\n\nSee *PolicyOption*.*PolicyOption.parameter*\nand *KeyAnyValue.key*.\n",
            "type": "string"
          },
          "policyOptionId": {
            "description": "Policy option identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "profilePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfilePropertyPath": {
        "type": "object",
        "description": "A boxed array of *ProfilePropertyPath*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfilePropertyPath"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileProfileStructure": {
        "type": "object",
        "properties": {
          "profileTypeName": {
            "description": "Identifier for the profile type\n",
            "type": "string"
          },
          "child": {
            "description": "SubProfile properties available for this profile\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileProfileStructureProperty"
            }
          }
        },
        "required": [
          "profileTypeName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileProfileStructure": {
        "type": "object",
        "description": "A boxed array of *ProfileProfileStructure*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileProfileStructure"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileProfileStructureProperty": {
        "type": "object",
        "properties": {
          "propertyName": {
            "description": "Name of the property where this ProfileStructureProperty is being used\n",
            "type": "string"
          },
          "array": {
            "description": "Flag indicating if this property is an Array of profiles\n",
            "type": "boolean"
          },
          "element": {
            "description": "Details about the profile contained within this property\n",
            "$ref": "#/components/schemas/ProfileProfileStructure"
          }
        },
        "required": [
          "propertyName",
          "array",
          "element"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileProfileStructureProperty": {
        "type": "object",
        "description": "A boxed array of *ProfileProfileStructureProperty*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileProfileStructureProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileSimpleExpression": {
        "type": "object",
        "description": "DataObject represents a pre-defined expression\n",
        "properties": {
          "expressionType": {
            "description": "Type of the simple expression to instantiate.\n\nThe expressionType should be derived from the available expressions as\nlisted in the metadata.\n",
            "type": "string"
          },
          "parameter": {
            "description": "The parameters for the expressionType.\n\nThe list of parameters needed for a simple expression can\nbe obtained from the metadata.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "expressionType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileExpression"
          }
        ]
      },
      "ArrayOfProfileSimpleExpression": {
        "type": "object",
        "description": "A boxed array of *ProfileSimpleExpression*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileSimpleExpression"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserInputRequiredParameterMetadata": {
        "type": "object",
        "description": "The *UserInputRequiredParameterMetadata* data object represents policy option metadata\ninformation for configuration data.\n\nThe Profile Engine saves configuration\ndata from the user input options in the host *AnswerFile*.\nSee the *HostProfile.ExecuteHostProfile* and\n*HostProfileManager.ApplyHostConfig_Task* methods.\n",
        "properties": {
          "userInputParameter": {
            "description": "Metadata for user input options.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileParameterMetadata"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfilePolicyOptionMetadata"
          }
        ]
      },
      "ArrayOfUserInputRequiredParameterMetadata": {
        "type": "object",
        "description": "A boxed array of *UserInputRequiredParameterMetadata*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserInputRequiredParameterMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterProfileCompleteConfigSpec": {
        "type": "object",
        "description": "DataObject completely specifying the configuration of\nthe profile.\n",
        "properties": {
          "complyProfile": {
            "description": "User defined compliance profile for the cluster.\n\nIf unset, clear the complyProfile.\n",
            "$ref": "#/components/schemas/ComplianceProfile"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterProfileConfigSpec"
          }
        ]
      },
      "ArrayOfClusterProfileCompleteConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterProfileCompleteConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterProfileCompleteConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterProfileConfigInfo": {
        "type": "object",
        "properties": {
          "complyProfile": {
            "description": "Compliance profile for the cluster\n",
            "$ref": "#/components/schemas/ComplianceProfile"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileConfigInfo"
          }
        ]
      },
      "ArrayOfClusterProfileConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ClusterProfileConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterProfileConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterProfileConfigServiceCreateSpec": {
        "type": "object",
        "description": "DataObject which allows reconfiguration of a profile\nbased on services that will be available on the cluster.\n",
        "properties": {
          "serviceType": {
            "description": "Type of the service for which the ClusterProfile is being requested.\n\nIf more than one service is specified, the created ClusterProfile\nwill cater for all the services.\nPossible values are specified by\n*ClusterProfileServiceType_enum*.\nIf unset, clear the compliance expressions on the profile.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterProfileConfigSpec"
          }
        ]
      },
      "ArrayOfClusterProfileConfigServiceCreateSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterProfileConfigServiceCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterProfileConfigServiceCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterProfileConfigSpec": {
        "type": "object",
        "description": "DataObject which is a baseclass for other configuration\nspecifications.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterProfileCreateSpec"
          }
        ]
      },
      "ArrayOfClusterProfileConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterProfileConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterProfileConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterProfileCreateSpec": {
        "type": "object",
        "description": "Base class for Cluster CreateSpecs\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileCreateSpec"
          }
        ]
      },
      "ArrayOfClusterProfileCreateSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterProfileCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterProfileCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ActiveDirectoryProfile": {
        "type": "object",
        "description": "The *ActiveDirectoryProfile* data object represents Active Directory\nconfiguration.\n\nUse the *ApplyProfile.policy* list for\naccess to configuration data for the Active Directory profile. Use the\n*ApplyProfile.property* list for access to subprofiles, if any.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfActiveDirectoryProfile": {
        "type": "object",
        "description": "A boxed array of *ActiveDirectoryProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActiveDirectoryProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AnswerFile": {
        "type": "object",
        "description": "The *AnswerFile* data object contains host-specific information that a host\nwill use in combination with a *HostProfile* for configuration.\n\nAnswer files are stored on the vCenter Server, along with host profiles.\nAn answer file is always associated with a particular host.\n\nTo supply host-specific data:\n- Specify deferred parameters when you call the\n  *HostProfile*.*HostProfile.ExecuteHostProfile*\n  method. The host profile engine will verify the set of parameters for the\n  additional configuration data.\n- Use the complete required input list\n  (*ProfileExecuteResult*.*ProfileExecuteResult.requireInput*\\[\\])\n  as user input for the\n  *HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task*\n  method. When you apply the profile, the vCenter Server saves the additional configuration\n  data in the *AnswerFile.userInput* list.\n- Use the *HostProfileManager*.*HostProfileManager.UpdateAnswerFile_Task* method. This method will update an existing answer file or create a new one.\n",
        "properties": {
          "userInput": {
            "description": "List containing host-specific configuration data.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDeferredPolicyOptionParameter"
            }
          },
          "createdTime": {
            "description": "Time at which the answer file was created.\n",
            "type": "string",
            "format": "date-time"
          },
          "modifiedTime": {
            "description": "Time at which the answer file was last modified.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "createdTime",
          "modifiedTime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAnswerFile": {
        "type": "object",
        "description": "A boxed array of *AnswerFile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AnswerFileStatusResult": {
        "type": "object",
        "description": "The *AnswerFileStatusResult* data object shows the validity of the\nanswer file associated with a host.\n",
        "properties": {
          "checkedTime": {
            "description": "Time that the answer file status was determined.\n",
            "type": "string",
            "format": "date-time"
          },
          "host": {
            "description": "Host associated with the answer file.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "status": {
            "description": "Status of the answer file.\n\nSee *HostProfileManagerAnswerFileStatus_enum* for valid values.\n",
            "type": "string"
          },
          "error": {
            "description": "If <code>status</code> is <code>invalid</code>, this property contains a list\nof status error objects.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFileStatusError"
            }
          }
        },
        "required": [
          "checkedTime",
          "host",
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAnswerFileStatusResult": {
        "type": "object",
        "description": "A boxed array of *AnswerFileStatusResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFileStatusResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AnswerFileStatusError": {
        "type": "object",
        "description": "The *AnswerFileStatusError* data object describes an answer file\nerror and identifies the profile or policy option with which the error\nis associated.\n",
        "properties": {
          "userInputPath": {
            "description": "Path to a profile or a policy option for host-specific data.\n",
            "$ref": "#/components/schemas/ProfilePropertyPath"
          },
          "errMsg": {
            "description": "Message describing the error.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          }
        },
        "required": [
          "userInputPath",
          "errMsg"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAnswerFileStatusError": {
        "type": "object",
        "description": "A boxed array of *AnswerFileStatusError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFileStatusError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AuthenticationProfile": {
        "type": "object",
        "description": "The *AuthenticationProfile* data object represents the host configuration\nfor authentication.\n\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "properties": {
          "activeDirectory": {
            "description": "Subprofile representing the Active Directory configuration.\n",
            "$ref": "#/components/schemas/ActiveDirectoryProfile"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfAuthenticationProfile": {
        "type": "object",
        "description": "A boxed array of *AuthenticationProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthenticationProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DateTimeProfile": {
        "type": "object",
        "description": "The *DateTimeProfile* data object represents host date and time configuration.\n\nUse the *ApplyProfile.policy* list for access to configuration data\nfor the date and time profile. Use the *ApplyProfile.property* list\nfor access to subprofiles, if any.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfDateTimeProfile": {
        "type": "object",
        "description": "A boxed array of *DateTimeProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DateTimeProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsHostVNicProfile": {
        "type": "object",
        "description": "The *DvsHostVNicProfile* data object describes the IP configuration\nfor a host Virtual NIC connected to a distributed virtual switch.\n\nThe *DvsVNicProfile.ipConfig* property contains the Virtual NIC IP address.\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsVNicProfile"
          }
        ]
      },
      "ArrayOfDvsHostVNicProfile": {
        "type": "object",
        "description": "A boxed array of *DvsHostVNicProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostVNicProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsProfile": {
        "type": "object",
        "description": "The *DvsProfile* data object represents the distributed virtual switch\nto which this host is connected.\n\nIf a profile plug-in defines policies or subprofiles,\nuse the *ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          },
          "name": {
            "description": "Unique identifier for the distributed virtual switch.\n",
            "type": "string"
          },
          "uplink": {
            "description": "List of subprofiles that map physical NICs to uplink ports.\n\nUse the *PnicUplinkProfile.key* property to access\nsubprofiles in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PnicUplinkProfile"
            }
          }
        },
        "required": [
          "key",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfDvsProfile": {
        "type": "object",
        "description": "A boxed array of *DvsProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsServiceConsoleVNicProfile": {
        "type": "object",
        "description": "The *DvsServiceConsoleVNicProfile* data object describes the IP configuration\nfor a service console Virtual NIC connected to a distributed virtual switch.\n\nThe *DvsVNicProfile.ipConfig* property contains the Virtual NIC IP address.\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DvsVNicProfile"
          }
        ]
      },
      "ArrayOfDvsServiceConsoleVNicProfile": {
        "type": "object",
        "description": "A boxed array of *DvsServiceConsoleVNicProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsServiceConsoleVNicProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DvsVNicProfile": {
        "type": "object",
        "description": "The *DvsVNicProfile* data object is the base object\nfor host and service console Virtual NIC subprofiles.\n\nIf a profile plug-in defines additional policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the configuration data.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          },
          "ipConfig": {
            "description": "IP address for the Virtual NIC belonging to a distributed virtual switch.\n",
            "$ref": "#/components/schemas/IpAddressProfile"
          }
        },
        "required": [
          "key",
          "ipConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfDvsVNicProfile": {
        "type": "object",
        "description": "A boxed array of *DvsVNicProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsVNicProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileExecuteResult": {
        "type": "object",
        "description": "The *ProfileExecuteResult* data object contains the results from a\n*HostProfile*.*HostProfile.ExecuteHostProfile*\noperation.\n",
        "properties": {
          "status": {
            "description": "Status of the profile execution operation.\n\nThe value is a string that contains\none of the *ProfileExecuteResultStatus_enum* enumerations.\n",
            "type": "string"
          },
          "configSpec": {
            "description": "Host configuration specification.\n\nThis data is valid only if\nthe <code>status</code> value is <code>success</code>.\nSee *ProfileExecuteResultStatus_enum*.\n\nUse this data object when you apply the configuration\nto a host. See the <code>configSpec</code> parameter to the\n*HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task*\nmethod.\n",
            "$ref": "#/components/schemas/HostConfigSpec"
          },
          "inapplicablePath": {
            "description": "List of property paths.\n\nEach path identifies a policy that does not apply\nto this host. For example, if the precheck policies for a port group are not satisfied,\nthe port group will not be created when you apply the profile to the host.\nBased on this information, the client might not display that part of the profile tree.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "requireInput": {
            "description": "List that describes the required input for host configuration and identifies\nany policy options that still require parameter data.\n\nEach entry in the list\nspecifies the path to a policy and a parameter list. If the call to\n*HostProfile.ExecuteHostProfile* includes deferred parameters,\nthe <code>requireInput</code> entries\n(<code>requireInput\\[\\].</code>*ProfileDeferredPolicyOptionParameter.parameter*\\[\\])\nwill be populated with the parameter data that was passed to the execute method.\nFor policies that still require input data, the parameter list in the corresponding\nentry will be null.\n\nA vSphere client that displays a GUI can use this information to show the host-specific\nconfiguration policy options. The client can highlight required input fields\nand ask the user for data in increments instead of collecting all of the input at once.\nFor example, in the first pass, the client collects a minimum of user input and\nsends that to the Server. The Server evaluates the profile and might decide to\ninvalidate a particular part of the subtree or enable a new\nsubtree in the profile. This would result in a new set of invalid paths\n(*ProfileExecuteResult.inapplicablePath*\\[\\]) and\nrequired input property paths\n(*ProfileDeferredPolicyOptionParameter*.*ProfileDeferredPolicyOptionParameter.inputPath*).\nThe client can make a series of calls to the method until it achieves a success status.\n\nWhen *HostProfile.ExecuteHostProfile* returns a success status,\nthe <code>requireInput</code> list contains the complete list of parameters,\nconsisting of the following data:\n- Deferred parameter values resolved through successive calls to\n  *HostProfile.ExecuteHostProfile*.\n- Default parameter values from the host configuration.\n- User-specified values that override the defaults.\n  \nYou can specify the returned <code>requireInput</code> list in the\n<code>userInput</code> parameter to the\n*HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task*\nmethod. The Server will use the list to update the *AnswerFile*\nassociated with the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDeferredPolicyOptionParameter"
            }
          },
          "error": {
            "description": "List of errors that were encountered during execute.\n\nThis field will be set if status is set to error.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileExecuteError"
            }
          }
        },
        "required": [
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileExecuteResult": {
        "type": "object",
        "description": "A boxed array of *ProfileExecuteResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileExecuteResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileExecuteError": {
        "type": "object",
        "description": "The *ProfileExecuteError* data object\ndescribes an error encountered during host profile execution.\n",
        "properties": {
          "path": {
            "description": "Path to the profile or policy with which the error is associated.\n",
            "$ref": "#/components/schemas/ProfilePropertyPath"
          },
          "message": {
            "description": "Message describing the error.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          }
        },
        "required": [
          "message"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfProfileExecuteError": {
        "type": "object",
        "description": "A boxed array of *ProfileExecuteError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileExecuteError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FirewallProfile": {
        "type": "object",
        "description": "The *FirewallProfile* data object represents a host firewall configuration.\n\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "properties": {
          "ruleset": {
            "description": "List of Rulesets that will be configured for the firewall subprofile.\n\nThe rulesets can be enabled or disabled from the profile.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FirewallProfileRulesetProfile"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfFirewallProfile": {
        "type": "object",
        "description": "A boxed array of *FirewallProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FirewallProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FirewallProfileRulesetProfile": {
        "type": "object",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfFirewallProfileRulesetProfile": {
        "type": "object",
        "description": "A boxed array of *FirewallProfileRulesetProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FirewallProfileRulesetProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostApplyProfile": {
        "type": "object",
        "description": "The *HostApplyProfile* data object provides access to subprofiles\nthat contain configuration data for different host capabilities.\n\nThe Profile Engine will use any configuration data that you supply\nto overwrite the host configuration. See the *HostProfile.ExecuteHostProfile*\nand *HostProfileManager.ApplyHostConfig_Task* methods.\n",
        "properties": {
          "memory": {
            "description": "Memory configuration for the host.\n\nThis may not be valid for all versions of the host.\n",
            "$ref": "#/components/schemas/HostMemoryProfile"
          },
          "storage": {
            "description": "Host storage configuration.\n",
            "$ref": "#/components/schemas/StorageProfile"
          },
          "network": {
            "description": "Network configuration.\n",
            "$ref": "#/components/schemas/NetworkProfile"
          },
          "datetime": {
            "description": "Date and time configuration.\n",
            "$ref": "#/components/schemas/DateTimeProfile"
          },
          "firewall": {
            "description": "Firewall configuration.\n",
            "$ref": "#/components/schemas/FirewallProfile"
          },
          "security": {
            "description": "Security Configuration of the host.\n\nThe security subprofile can include data such as administrator passwords.\n",
            "$ref": "#/components/schemas/SecurityProfile"
          },
          "service": {
            "description": "Host configuration for services.\n\nUse the *ServiceProfile.key* property\nto access a subprofile in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceProfile"
            }
          },
          "option": {
            "description": "List of subprofiles representing advanced configuration options.\n\nUse the *OptionProfile.key* property to access a subprofile\nin the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionProfile"
            }
          },
          "userAccount": {
            "description": "List of subprofiles for user accounts to be configured on the host.\n\nUse the *UserProfile.key* property to access a subprofile\nin the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserProfile"
            }
          },
          "usergroupAccount": {
            "description": "List of subprofiles for user groups to be configured on the host.\n\nUse the *UserGroupProfile.key* property to access a subprofile\nin the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserGroupProfile"
            }
          },
          "authentication": {
            "description": "Authentication Configuration.\n",
            "$ref": "#/components/schemas/AuthenticationProfile"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfHostApplyProfile": {
        "type": "object",
        "description": "A boxed array of *HostApplyProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostApplyProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostMemoryProfile": {
        "type": "object",
        "description": "The *HostMemoryProfile* data object represents\nmemory configuration for the host.\n\nThis may not be valid all versions of the host.\n\nUse the *ApplyProfile.policy* list for access to configuration data\nfor the host memory profile. Use the *ApplyProfile.property* list\nfor access to subprofile configuration data, if any.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfHostMemoryProfile": {
        "type": "object",
        "description": "A boxed array of *HostMemoryProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostMemoryProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostPortGroupProfile": {
        "type": "object",
        "description": "The *HostPortGroupProfile* data object represents the subprofile\nfor a port group that will be used by the ESX host.\n\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "properties": {
          "ipConfig": {
            "description": "IP address configuration for the Host network.\n",
            "$ref": "#/components/schemas/IpAddressProfile"
          }
        },
        "required": [
          "ipConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PortGroupProfile"
          }
        ]
      },
      "ArrayOfHostPortGroupProfile": {
        "type": "object",
        "description": "A boxed array of *HostPortGroupProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroupProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileCompleteConfigSpec": {
        "type": "object",
        "description": "The *HostProfileCompleteConfigSpec* data object\nspecifies the complete configuration for a host profile.\n",
        "properties": {
          "applyProfile": {
            "description": "Profile that contains configuration data for the host.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "customComplyProfile": {
            "description": "User defined compliance profile.\n\nReserved for future use.\n",
            "$ref": "#/components/schemas/ComplianceProfile"
          },
          "disabledExpressionListChanged": {
            "description": "Flag indicating if this configuration specification contains changes\nin the *HostProfileCompleteConfigSpec.disabledExpressionList*.\n\nIf False, the Profile Engine ignores the contents of the disabled expression list.\n",
            "type": "boolean"
          },
          "disabledExpressionList": {
            "description": "List of expressions to be disabled.\n\nEach entry in the list specifies\na *ProfileExpression*.*ProfileExpression.id*.\nAll expressions are enabled by default.\n\nIf you set *HostProfileCompleteConfigSpec.disabledExpressionListChanged*\nto True, the Profile Engine uses the contents of this list to replace the contents\nof the *HostProfile*.*Profile.config*.*HostProfileConfigInfo.disabledExpressionList*.\n\nThe expression list is contained in the\n*HostProfileConfigInfo.defaultComplyProfile*.\nThe Profile Engine automatically generates the default compliance profile\nwhen you create a host profile.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "validatorHost": {
            "description": "Host for profile validation.\n\nThis can be a host on which the profile\nis intended to be used. If you do not specify a validator host,\nthe Profile Engine uses the *HostProfile*.*HostProfile.referenceHost*\nto validate the profile.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "validating": {
            "description": "If \"false\", then the host profile will be saved without being validated.\n\nThe default if not specified is \"true\".\nThis option should be used with caution, since the resulting host profile\nwill not be checked for errors.\n",
            "type": "boolean"
          },
          "hostConfig": {
            "description": "Host profile configuration data and compliance information.\n\nIf *HostProfileCompleteConfigSpec.hostConfig* is set,\nthen the HostApplyProfile\n*HostProfileCompleteConfigSpec.applyProfile* and\nComplianceProfile\n*HostProfileCompleteConfigSpec.customComplyProfile*\nshould not be set in CompleteConfigSpec.\n",
            "$ref": "#/components/schemas/HostProfileConfigInfo"
          }
        },
        "required": [
          "disabledExpressionListChanged"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostProfileConfigSpec"
          }
        ]
      },
      "ArrayOfHostProfileCompleteConfigSpec": {
        "type": "object",
        "description": "A boxed array of *HostProfileCompleteConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileCompleteConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileConfigInfo": {
        "type": "object",
        "description": "The *HostProfileConfigInfo* data object\ncontains host profile data and information about profile compliance.\n",
        "properties": {
          "applyProfile": {
            "description": "Profile data for host configuration.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "defaultComplyProfile": {
            "description": "Default compliance profile.\n\nThe ESX Server uses the <code>applyProfile</code>\n(*HostProfile*.*Profile.config*.*HostProfileConfigInfo.applyProfile*)\nto generate the default compliance profile when you create a host profile.\nWhen the <code>applyProfile</code> is modified, the Server automatically\nupdates the compliance profile to match it.\n",
            "$ref": "#/components/schemas/ComplianceProfile"
          },
          "defaultComplyLocator": {
            "description": "List of compliance locators.\n\nEach locator specifies an association between\nthe <code>applyProfile</code> and the <code>defaultComplyProfile</code>.\nThe association identifies a component profile and the expression generated\nby the profile. vSphere clients can use this data to provide contextual\ninformation to the user.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceLocator"
            }
          },
          "customComplyProfile": {
            "description": "User defined compliance profile.\n\nReserved for future use.\n",
            "$ref": "#/components/schemas/ComplianceProfile"
          },
          "disabledExpressionList": {
            "description": "Disabled expressions in the default compliance profile\n(<code>DefaultComplyProfile</code>).\n\nUse this property to specify which expressions are disabled.\nAll expressions are enabled by default.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "description": "Localized description of the profile.\n",
            "$ref": "#/components/schemas/ProfileDescription"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileConfigInfo"
          }
        ]
      },
      "ArrayOfHostProfileConfigInfo": {
        "type": "object",
        "description": "A boxed array of *HostProfileConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileConfigSpec": {
        "type": "object",
        "description": "*HostProfileConfigSpec* is the base data object\nfor all *HostProfile* configuration specifications.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileCreateSpec"
          }
        ]
      },
      "ArrayOfHostProfileConfigSpec": {
        "type": "object",
        "description": "A boxed array of *HostProfileConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileHostBasedConfigSpec": {
        "type": "object",
        "description": "The *HostProfileHostBasedConfigSpec* data object\nspecifies the host from which configuration data is to be extracted\nand the profile(s) to be created or updated.\n",
        "properties": {
          "host": {
            "description": "ESX host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "useHostProfileEngine": {
            "description": "Flag indicating if the Profile Engine should use the profile\nplug-ins present on the host to create the profile.\n\nIf <code>true</code>, the host Profile Engine uses the vSphere 5.0\n(or later) profile plug-ins. The resulting profile is not compatible\nwith legacy hosts (pre 5.0). If <code>false</code> or not specified,\nthe Profile Engine creates a legacy host profile.\n",
            "type": "boolean"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostProfileConfigSpec"
          }
        ]
      },
      "ArrayOfHostProfileHostBasedConfigSpec": {
        "type": "object",
        "description": "A boxed array of *HostProfileHostBasedConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileHostBasedConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileSerializedHostProfileSpec": {
        "type": "object",
        "description": "The *HostProfileSerializedHostProfileSpec* data object\ncontains a string representation of a host profile.\n\nUse this object when you\ncreate a host profile from a file.\n",
        "properties": {
          "validatorHost": {
            "description": "Host for profile validation.\n\nThis can be a host on which\nthe profile is intended to be used.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "validating": {
            "description": "If \"false\", then the host profile will be saved without being validated.\n\nThe default if not specified is \"true\".\nThis option should be used with caution, since the resulting host profile\nwill not be checked for errors.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileSerializedCreateSpec"
          }
        ]
      },
      "ArrayOfHostProfileSerializedHostProfileSpec": {
        "type": "object",
        "description": "A boxed array of *HostProfileSerializedHostProfileSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileSerializedHostProfileSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileValidationFailureInfo": {
        "type": "object",
        "description": "This defines the validation result for the host profile.\n",
        "properties": {
          "name": {
            "description": "The name of host profile to be validated.\n",
            "type": "string"
          },
          "annotation": {
            "description": "Host profile annotation at update.\n",
            "type": "string"
          },
          "updateType": {
            "description": "Host profile update type.\n\nSee the enumerate class\n<code>UpdateType</code> above for the valid values.\n",
            "type": "string"
          },
          "host": {
            "description": "The host where the host profile is updated from.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "applyProfile": {
            "description": "The host configuration after validation.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "failures": {
            "description": "List of failures in the host profile configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileUpdateFailedUpdateFailure"
            }
          },
          "faults": {
            "description": "The <code>MethodFault</code>s happened at validation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "name",
          "annotation",
          "updateType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProfileValidationFailureInfo": {
        "type": "object",
        "description": "A boxed array of *HostProfileValidationFailureInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileValidationFailureInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSpecification": {
        "type": "object",
        "description": "The host specification data are those needed at host boot time to create and\nconfigure virtual devices and host services.\n\nThe *HostSpecification* data object contains a collection of host sub\nspecification data.\nFor host sub specification data, see\n*HostSubSpecification*\nfor details.\n",
        "properties": {
          "createdTime": {
            "description": "Time at which the host specification was created.\n",
            "type": "string",
            "format": "date-time"
          },
          "lastModified": {
            "description": "Time at which the host specification was last modified.\n\nIf it isn't set,\nit is the same as <code>createdTime</code>.\n",
            "type": "string",
            "format": "date-time"
          },
          "host": {
            "description": "The host that the spec data belongs to.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "subSpecs": {
            "description": "The collection of the host sub specifications.\n\nIt is optional.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSubSpecification"
            }
          },
          "changeID": {
            "description": "The change ID for querying the host specification data updated in a\ntime period.\n\nIt has a format of timestamp:change\\_number, where\ntimestamp is the decimal string of a start time, and change\\_number is\nthe decimal string of an auto incremented variable counting from the\nstart time.\n",
            "type": "string"
          }
        },
        "required": [
          "createdTime",
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSpecification": {
        "type": "object",
        "description": "A boxed array of *HostSpecification*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSpecification"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSubSpecification": {
        "type": "object",
        "description": "Host sub specification data are the data used when create a virtual\ndevice, and/or configure the virtual device and its related\nhost services.\n\nA typical example of host sub specification data is the DVS host view\nspecification, which is used when create DVS host view on an ESXi\nhost and configure the virtual switch on the host.\nThe introduction of this type of data is for improving the\navailability of the ESXi host management. For example, when\nthe VirtualCenter server is not available, an ESXi host will\nhave enough information to reconfigure DVS host view properly\nwhen the ESXi host is booted from stateless or stateless caching.\nHost sub specification data are data for VMware internal data\nstructure used in virtual device creation and configuration.\nThey are different to *AnswerFile*\nwhich are from public knowledge domain or the public API\nof VMware ESXi host services.\nWhen the host sub specification data for a single feature\nare stored in multiple host sub specification data objects,\nit is the responsibility of the host specification source\nin this feature to guarantee the completeness and consistency\nof these host sub specification objects.\n",
        "properties": {
          "name": {
            "description": "The full name of the host sub specification.\n\nThe format of this member\nvariable is:\nCompanyName\\_ProductName\\_SubSpecName.\nThus, name conflict is avoided by containing the\n<code>company name</code>, <code>product name</code>, and <code> sub\nspecification name</code> in this full name.\n",
            "type": "string"
          },
          "createdTime": {
            "description": "Time at which the host sub specification was created.\n",
            "type": "string",
            "format": "date-time"
          },
          "data": {
            "description": "The host sub specification data\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -128,
              "maximum": 127
            }
          },
          "binaryData": {
            "description": "The host sub specification data in Binary for wire efficiency.\n",
            "type": "string",
            "format": "byte"
          }
        },
        "required": [
          "name",
          "createdTime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostSubSpecification": {
        "type": "object",
        "description": "A boxed array of *HostSubSpecification*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSubSpecification"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IpAddressProfile": {
        "type": "object",
        "description": "The *IpAddressProfile* represents the Virtual NIC IP address.\n\nThe *ApplyProfile.policy* property contains\nthe configuration data values for the IP address.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfIpAddressProfile": {
        "type": "object",
        "description": "A boxed array of *IpAddressProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpAddressProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IpRouteProfile": {
        "type": "object",
        "description": "The *IpRouteProfile* data object represents the host IP route configuration.\n\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "properties": {
          "staticRoute": {
            "description": "List of static routes to be configured.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StaticRouteProfile"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfIpRouteProfile": {
        "type": "object",
        "description": "A boxed array of *IpRouteProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpRouteProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NasStorageProfile": {
        "type": "object",
        "description": "The *NasStorageProfile* data object represents one NAS datastore configuration.\n\nUse the *ApplyProfile.policy* list for access to configuration data\nfor the NAS storage profile. Use the *ApplyProfile.property* list\nfor access to subprofile configuration data, if any.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfNasStorageProfile": {
        "type": "object",
        "description": "A boxed array of *NasStorageProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NasStorageProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetStackInstanceProfile": {
        "type": "object",
        "description": "The *NetStackInstanceProfile* data object represents a subprofile\nfor a netStackInstance.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          },
          "dnsConfig": {
            "description": "DnsConfig SubProfile for this instance of the stack.\n",
            "$ref": "#/components/schemas/NetworkProfileDnsConfigProfile"
          },
          "ipRouteConfig": {
            "description": "IpRoute SubProfile for this instance of the stack.\n",
            "$ref": "#/components/schemas/IpRouteProfile"
          }
        },
        "required": [
          "key",
          "dnsConfig",
          "ipRouteConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfNetStackInstanceProfile": {
        "type": "object",
        "description": "A boxed array of *NetStackInstanceProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetStackInstanceProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworkPolicyProfile": {
        "type": "object",
        "description": "The *NetworkPolicyProfile* data object represents a\nnetwork policy.\n\nThe *ApplyProfile.policy* property\ncontains network configuration data values.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfNetworkPolicyProfile": {
        "type": "object",
        "description": "A boxed array of *NetworkPolicyProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworkPolicyProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworkProfile": {
        "type": "object",
        "description": "The *NetworkProfile* data object contains a set of subprofiles for\nnetwork configuration.\n",
        "properties": {
          "vswitch": {
            "description": "List of virtual switch subprofiles.\n\nUse the *VirtualSwitchProfile.key* property to access\na subprofile in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSwitchProfile"
            }
          },
          "vmPortGroup": {
            "description": "List of port groups for use by virtual machines.\n\nUse the *VmPortGroupProfile*.*PortGroupProfile.key*\nproperty to access a port group in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPortGroupProfile"
            }
          },
          "hostPortGroup": {
            "description": "List of port groups for use by the host.\n\nUse the *HostPortGroupProfile*.*PortGroupProfile.key* property\nto access port groups in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPortGroupProfile"
            }
          },
          "serviceConsolePortGroup": {
            "description": "List of port groups for use by the service console.\n\nThe Profile Engine uses this field only when applying a profile\nto a host that has a service console.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceConsolePortGroupProfile"
            }
          },
          "dnsConfig": {
            "description": "DNS (Domain Name System) configuration subprofile.\n",
            "$ref": "#/components/schemas/NetworkProfileDnsConfigProfile"
          },
          "ipRouteConfig": {
            "description": "Subprofile that describes the IP Route\nconfiguration for the VMKernel gateway.\n",
            "$ref": "#/components/schemas/IpRouteProfile"
          },
          "consoleIpRouteConfig": {
            "description": "Subprofile that describes the IP Route configuration\nfor the Service Console gateway.\n",
            "$ref": "#/components/schemas/IpRouteProfile"
          },
          "pnic": {
            "description": "List of subprofiles that represent physical NIC configuration.\n\nUse the *PhysicalNicProfile.key* property to access a\nsubprofile in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicProfile"
            }
          },
          "dvswitch": {
            "description": "List of subprofiles for distributed virtual switches to which this host is connected.\n\nUse the *DvsProfile.key* property to access a subprofile in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsProfile"
            }
          },
          "dvsServiceConsoleNic": {
            "description": "List of subprofiles for service console Virtual NICs connected to a distributed virtual switch.\n\nUse the *DvsServiceConsoleVNicProfile*.*DvsVNicProfile.key* property\nto access a subprofile in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsServiceConsoleVNicProfile"
            }
          },
          "dvsHostNic": {
            "description": "List of subprofiles for host Virtual NICs connected to a distributed virtual switch.\n\nUse the *DvsHostVNicProfile*.*DvsVNicProfile.key* property\nto access a subprofile in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DvsHostVNicProfile"
            }
          },
          "nsxHostNic": {
            "description": "List of subprofiles for host Virtual NICs connected to a NSX logic switch.\n\nUse the *NsxHostVNicProfile*.*NsxHostVNicProfile.key* property\nto access a subprofile in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NsxHostVNicProfile"
            }
          },
          "netStackInstance": {
            "description": "List of NetStackInstance subprofiles.\n\nUse the *NetStackInstanceProfile.key* property to access\na subprofile in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetStackInstanceProfile"
            }
          },
          "opaqueSwitch": {
            "description": "OpaqueSwitch subprofile.\n",
            "$ref": "#/components/schemas/OpaqueSwitchProfile"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfNetworkProfile": {
        "type": "object",
        "description": "A boxed array of *NetworkProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworkProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NetworkProfileDnsConfigProfile": {
        "type": "object",
        "description": "The *NetworkProfileDnsConfigProfile* data object represents DNS configuration\nfor the host.\n\nUse the *ApplyProfile.policy* list for\naccess to configuration data for the DNS profile. Use the\n*ApplyProfile.property* list for access to subprofiles, if any.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfNetworkProfileDnsConfigProfile": {
        "type": "object",
        "description": "A boxed array of *NetworkProfileDnsConfigProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetworkProfileDnsConfigProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NsxHostVNicProfile": {
        "type": "object",
        "description": "The *NsxHostVNicProfile* data object is the base object\nfor host Virtual NIC connected to NSX logic switch subprofiles.\n\nIf a profile plug-in defines additional policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the configuration data.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          },
          "ipConfig": {
            "description": "IP address for the Virtual NIC belonging to a logic switch.\n",
            "$ref": "#/components/schemas/IpAddressProfile"
          }
        },
        "required": [
          "key",
          "ipConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfNsxHostVNicProfile": {
        "type": "object",
        "description": "A boxed array of *NsxHostVNicProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NsxHostVNicProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OpaqueSwitchProfile": {
        "type": "object",
        "description": "The *OpaqueSwitchProfile* data object represents opaque switch\nconfiguration for the host.\n\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfOpaqueSwitchProfile": {
        "type": "object",
        "description": "A boxed array of *OpaqueSwitchProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpaqueSwitchProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OptionProfile": {
        "type": "object",
        "description": "The *OptionProfile* data object encapsulates one advanced configuration.\n\nUse the *ApplyProfile.policy* list for access to configuration data\nfor the option profile. Use the *ApplyProfile.property* list for access\nto subprofile configuration data, if any.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfOptionProfile": {
        "type": "object",
        "description": "A boxed array of *OptionProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PermissionProfile": {
        "type": "object",
        "description": "The *PermissionProfile* data object represents the profile\nfor a permission rule.\n\nUse the *ApplyProfile.policy* list for\naccess to configuration data for the permission profile. Use the\n*ApplyProfile.property* list for access to subprofiles, if any.\n",
        "properties": {
          "key": {
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfPermissionProfile": {
        "type": "object",
        "description": "A boxed array of *PermissionProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PhysicalNicProfile": {
        "type": "object",
        "description": "The *PhysicalNicProfile* data object represents physical NIC configuration.\n\nUse the *ApplyProfile.policy* list for access to configuration data\nfor the physical NIC profile. Use the *ApplyProfile.property* list\nfor access to subprofile configuration data, if any.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfPhysicalNicProfile": {
        "type": "object",
        "description": "A boxed array of *PhysicalNicProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhysicalNicProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PnicUplinkProfile": {
        "type": "object",
        "description": "The *PnicUplinkProfile* data object specifies the mapping between\na physical NIC and an uplink port.\n\nThe *ApplyProfile.policy* property contains\nthe configuration data values.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfPnicUplinkProfile": {
        "type": "object",
        "description": "A boxed array of *PnicUplinkProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PnicUplinkProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PortGroupProfile": {
        "type": "object",
        "description": "*PortGroupProfile* is the base class for the different port group\nsubprofile objects.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the portgroup.\n",
            "type": "string"
          },
          "vlan": {
            "description": "VLAN identifier for the port group.\n",
            "$ref": "#/components/schemas/VlanProfile"
          },
          "vswitch": {
            "description": "Virtual switch to which the port group is connected.\n",
            "$ref": "#/components/schemas/VirtualSwitchSelectionProfile"
          },
          "networkPolicy": {
            "description": "The network policy/policies applicable on the port group.\n",
            "$ref": "#/components/schemas/NetworkPolicyProfile"
          }
        },
        "required": [
          "key",
          "name",
          "vlan",
          "vswitch",
          "networkPolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfPortGroupProfile": {
        "type": "object",
        "description": "A boxed array of *PortGroupProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortGroupProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSwitchSelectionProfile": {
        "type": "object",
        "description": "The *VirtualSwitchSelectionProfile* data object represents\nthe virtual switch that is connected to a port group.\n\nThe *ApplyProfile.policy* property contains\nthe configuration data values for the virtual switch.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfVirtualSwitchSelectionProfile": {
        "type": "object",
        "description": "A boxed array of *VirtualSwitchSelectionProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSwitchSelectionProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VlanProfile": {
        "type": "object",
        "description": "The *VlanProfile* data object represents\nthe VLAN identifier subprofile.\n\nThe *ApplyProfile.policy*\nproperty contains the configuration data values for the VLAN identifier.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfVlanProfile": {
        "type": "object",
        "description": "A boxed array of *VlanProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VlanProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AnswerFileCreateSpec": {
        "type": "object",
        "description": "Base class for host-specific answer file options.\n",
        "properties": {
          "validating": {
            "description": "If \"false\", then the answer file will be saved without being validated.\n\nThe default if not specified is \"true\".\nThis option should be used with caution, since the resulting answer\nfile will not be checked for errors.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfAnswerFileCreateSpec": {
        "type": "object",
        "description": "A boxed array of *AnswerFileCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFileCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AnswerFileOptionsCreateSpec": {
        "type": "object",
        "description": "The *AnswerFileOptionsCreateSpec*\ndata object contains host-specific user input for an answer file.\n",
        "properties": {
          "userInput": {
            "description": "List of parameters that contain host-specific data.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileDeferredPolicyOptionParameter"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/AnswerFileCreateSpec"
          }
        ]
      },
      "ArrayOfAnswerFileOptionsCreateSpec": {
        "type": "object",
        "description": "A boxed array of *AnswerFileOptionsCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFileOptionsCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AnswerFileSerializedCreateSpec": {
        "type": "object",
        "description": "The *AnswerFileSerializedCreateSpec* data object\ncontains a serialized string representation of host-specific data for an answer file.\n",
        "properties": {
          "answerFileConfigString": {
            "description": "Host-specific user input.\n",
            "type": "string"
          }
        },
        "required": [
          "answerFileConfigString"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/AnswerFileCreateSpec"
          }
        ]
      },
      "ArrayOfAnswerFileSerializedCreateSpec": {
        "type": "object",
        "description": "A boxed array of *AnswerFileSerializedCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFileSerializedCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ApplyHostProfileConfigurationResult": {
        "type": "object",
        "description": "The *ApplyHostProfileConfigurationResult* data object contains the remediation\nresults for a host: the time that the remediation happens, the status,\nthe errors, and optinal compliance result after reboot.\n",
        "properties": {
          "startTime": {
            "description": "Time that the host config apply starts.\n",
            "type": "string",
            "format": "date-time"
          },
          "completeTime": {
            "description": "Time that the host config apply completes.\n",
            "type": "string",
            "format": "date-time"
          },
          "host": {
            "description": "Host to be remediated.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "status": {
            "description": "Status of the remediation.\n\nSee\n*ApplyHostProfileConfigurationResultStatus_enum*\nfor valid values.\n",
            "type": "string"
          },
          "errors": {
            "description": "If <code>status</code> is <code>fail</code>, this property contains\na list of status error message objects.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "startTime",
          "completeTime",
          "host",
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfApplyHostProfileConfigurationResult": {
        "type": "object",
        "description": "A boxed array of *ApplyHostProfileConfigurationResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplyHostProfileConfigurationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ApplyHostProfileConfigurationSpec": {
        "type": "object",
        "description": "The data object that contains the objects needed to remediate a host\nin host profile batch apply.\n",
        "properties": {
          "host": {
            "description": "The host to be remediated.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "taskListRequirement": {
            "description": "The task requirements from the results of\n*HostProfileManager.GenerateConfigTaskList* method\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "taskDescription": {
            "description": "Description of tasks that will be performed on the host\nto carry out HostProfile application.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          },
          "rebootStateless": {
            "description": "For a stateless host, there are two approaches to apply a host\nprofile:\n(1) Reboot the host and apply the host profile at boot time.\n\n(2) Apply the host profile directly from VC. We call this as\nregular apply.\nThe variable rebootStateless allows users to choose the first\napproach from the two approaches above:\napply host profile by rebooting this host.\n",
            "type": "boolean"
          },
          "rebootHost": {
            "description": "For regular apply, when some of the tasks requires reboot,\nthat this variable is<code>true</code> indicates that the\nreboot automatically happens in the batch profile apply\nthan that the user will manually reboot the system later.\n\nFor stateless host, this variable takes effect only when\nthe variable <code>rebootStateless</code> above is\n<code>false</code>.\n",
            "type": "boolean"
          },
          "faultData": {
            "description": "This contains the error details.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "host"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileExecuteResult"
          }
        ]
      },
      "ArrayOfApplyHostProfileConfigurationSpec": {
        "type": "object",
        "description": "A boxed array of *ApplyHostProfileConfigurationSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplyHostProfileConfigurationSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileManagerCompositionResult": {
        "type": "object",
        "description": "The data class for host profile composition result.\n",
        "properties": {
          "errors": {
            "description": "The composition errors for all targets, for example, the source\nprofile doesn't exist.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          },
          "results": {
            "description": "The array of\n*HostProfileManagerCompositionResultResultElement*\nfor all the target host profiles.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileManagerCompositionResultResultElement"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProfileManagerCompositionResult": {
        "type": "object",
        "description": "A boxed array of *HostProfileManagerCompositionResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileManagerCompositionResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileManagerCompositionResultResultElement": {
        "type": "object",
        "description": "Composition result for a specific target host profile.\n",
        "properties": {
          "target": {
            "description": "The target host profile.\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "status": {
            "description": "The composition status.\n\nSee *HostProfileManagerCompositionResultResultElementStatus_enum*\nfor details of supported values.\n",
            "type": "string"
          },
          "errors": {
            "description": "The composition errors.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "required": [
          "target",
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProfileManagerCompositionResultResultElement": {
        "type": "object",
        "description": "A boxed array of *HostProfileManagerCompositionResultResultElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileManagerCompositionResultResultElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileManagerCompositionValidationResult": {
        "type": "object",
        "description": "The data class for the host profile composition validation\nresults.\n",
        "properties": {
          "results": {
            "description": "The array of\n*HostProfileManagerCompositionValidationResultResultElement*\nfor all the target host profiles.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileManagerCompositionValidationResultResultElement"
            }
          },
          "errors": {
            "description": "The common error happened at validation.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProfileManagerCompositionValidationResult": {
        "type": "object",
        "description": "A boxed array of *HostProfileManagerCompositionValidationResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileManagerCompositionValidationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileManagerCompositionValidationResultResultElement": {
        "type": "object",
        "description": "The host profile composition validation result for a specific target\nhost profile.\n",
        "properties": {
          "target": {
            "description": "The target host profile.\n\nRefers instance of *Profile*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "status": {
            "description": "The composition validation status.\n\nSee *HostProfileManagerCompositionValidationResultResultElementStatus_enum*\nfor details of supported values.\n",
            "type": "string"
          },
          "errors": {
            "description": "The composition validation errors.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          },
          "sourceDiffForToBeMerged": {
            "description": "When a selected sub profile for composition exists in both the\nsource and target host profile, this member will contain the\nsource side difference for the selected sub profiles.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "targetDiffForToBeMerged": {
            "description": "Similar to the member <code>sourceDiffForToBeMerged</code> above\nbut contains the target side difference.\n\nComparing the same\nconfigurations in these two variables will show the changes for\nthe configurations that exist in both source and target host\nprofile.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "toBeAdded": {
            "description": "The sub profiles doesn't exist in the target and will be added to\nthe target at host profile composition.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "toBeDeleted": {
            "description": "The sub profiles exists in the target but not in the source and will\nbe deleted from the target at host profile composition.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "toBeDisabled": {
            "description": "The sub profiles to be disabled in the target host profiles.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "toBeEnabled": {
            "description": "The sub profiles to be enabled in the target host profiles.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          },
          "toBeReenableCC": {
            "description": "The sub profile to be unset ignoring compliance check\nin the target host profile.\n",
            "$ref": "#/components/schemas/HostApplyProfile"
          }
        },
        "required": [
          "target",
          "status"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProfileManagerCompositionValidationResultResultElement": {
        "type": "object",
        "description": "A boxed array of *HostProfileManagerCompositionValidationResultResultElement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileManagerCompositionValidationResultResultElement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileManagerConfigTaskList": {
        "type": "object",
        "description": "The *HostProfileManagerConfigTaskList* data object\nrepresents a set of tasks to be performed on a host during host profile application.\n",
        "properties": {
          "configSpec": {
            "description": "Set of configuration changes to be applied to the host.\n",
            "$ref": "#/components/schemas/HostConfigSpec"
          },
          "taskDescription": {
            "description": "Description of tasks that will be performed on the host\nto carry out HostProfile application.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          },
          "taskListRequirement": {
            "description": "A set of requirements whose actions must be fulfilled before and/or\nafter the task list is applied on an ESXi host, e.g.\n\nwhether the ESXi\nhost must be in maintenance mode prior to applying the <code>configSpec</code>,\nor whether the host will need to be rebooted after applying the <code>configSpec</code>.\nSee *HostProfileManagerTaskListRequirement_enum* for\ndetails of supported values.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProfileManagerConfigTaskList": {
        "type": "object",
        "description": "A boxed array of *HostProfileManagerConfigTaskList*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileManagerConfigTaskList"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfilesEntityCustomizations": {
        "type": "object",
        "description": "Data type used to contain a representation of host or cluster customization\ndata in a *HostProfilesCustomizationData* object.\n\nSubclasses of this must be defined to provide host or cluster customization\ndata in specific formats.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProfilesEntityCustomizations": {
        "type": "object",
        "description": "A boxed array of *HostProfilesEntityCustomizations*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfilesEntityCustomizations"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostProfileManagerHostToConfigSpecMap": {
        "type": "object",
        "description": "Data class for <code>HostSystem</code>-<code>AnswerFileCreateSpec</code>\nmapping.\n",
        "properties": {
          "host": {
            "description": "The host\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "configSpec": {
            "description": "The corresponding <code>AnswerFileCreateSpec</code>.\n",
            "$ref": "#/components/schemas/AnswerFileCreateSpec"
          }
        },
        "required": [
          "host",
          "configSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostProfileManagerHostToConfigSpecMap": {
        "type": "object",
        "description": "A boxed array of *HostProfileManagerHostToConfigSpecMap*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostProfileManagerHostToConfigSpecMap"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StructuredCustomizations": {
        "type": "object",
        "description": "Implementation of *HostProfilesEntityCustomizations*\nthat maps a cluster or host profile to the *AnswerFile*\nobject containing the host profiles customizations for that entity.\n\nThis\nobject will be used as elements of the\n*HostProfilesEntityCustomizations*.{vim.profile.host.ProfileManager.EntityCustomizations#entityCustomizations}\nwhen the *HostProfilesEntityCustomizations*.{vim.profile.host.ProfileManager.EntityCustomizations#customizationsFormat}\nvalue is \"structured\".\n",
        "properties": {
          "entity": {
            "description": "Entity associated with the host customizations specified in the\n<code>customizations</code> *AnswerFile* object.\n\nIn the current release, this object will always be a host.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "customizations": {
            "description": "Host Profile Customizations for the associated <code>entity</code>.\n\nThis is the same object that would be returned by the\n*HostProfileManager.RetrieveAnswerFile* method\n",
            "$ref": "#/components/schemas/AnswerFile"
          }
        },
        "required": [
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HostProfilesEntityCustomizations"
          }
        ]
      },
      "ArrayOfStructuredCustomizations": {
        "type": "object",
        "description": "A boxed array of *StructuredCustomizations*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StructuredCustomizations"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SecurityProfile": {
        "type": "object",
        "description": "The *SecurityProfile* data object represents host security configuration.\n\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "properties": {
          "permission": {
            "description": "Permission configuration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionProfile"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfSecurityProfile": {
        "type": "object",
        "description": "A boxed array of *SecurityProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecurityProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceConsolePortGroupProfile": {
        "type": "object",
        "description": "The *ServiceConsolePortGroupProfile* data object represents\nthe profile for a port group that will be used by the service console.\n\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "properties": {
          "ipConfig": {
            "description": "IP address configuration for the service console network.\n",
            "$ref": "#/components/schemas/IpAddressProfile"
          }
        },
        "required": [
          "ipConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/PortGroupProfile"
          }
        ]
      },
      "ArrayOfServiceConsolePortGroupProfile": {
        "type": "object",
        "description": "A boxed array of *ServiceConsolePortGroupProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceConsolePortGroupProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ServiceProfile": {
        "type": "object",
        "description": "The *ServiceProfile* data object controls the configuration of a service.\n\nUse the *ApplyProfile.policy* list for access to configuration data\nfor the service profile. Use the *ApplyProfile.property* list for access\nto subprofiles, if any.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfServiceProfile": {
        "type": "object",
        "description": "A boxed array of *ServiceProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StaticRouteProfile": {
        "type": "object",
        "description": "The *StaticRouteProfile* data object represents a single static IP route.\n\nThe *ApplyProfile.policy* property contains\ndata values for static route configuration.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfStaticRouteProfile": {
        "type": "object",
        "description": "A boxed array of *StaticRouteProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StaticRouteProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageProfile": {
        "type": "object",
        "description": "The *StorageProfile* data object represents the host storage configuration.\n\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "properties": {
          "nasStorage": {
            "description": "List of NAS storage subprofiles.\n\nUse the *NasStorageProfile.key* property\nto access a subprofile in the list.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NasStorageProfile"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfStorageProfile": {
        "type": "object",
        "description": "A boxed array of *StorageProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserGroupProfile": {
        "type": "object",
        "description": "The *UserGroupProfile* data object represents a user group.\n\nUse the *ApplyProfile.policy* list for access to configuration data\nfor the user group profile. Use the *ApplyProfile.property* list for access\nto subprofile configuration data, if any.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfUserGroupProfile": {
        "type": "object",
        "description": "A boxed array of *UserGroupProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserGroupProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UserProfile": {
        "type": "object",
        "description": "The *UserProfile* data object represents a user.\n\nUse the *ApplyProfile.policy* list for access to configuration data\nfor the user profile. Use the *ApplyProfile.property* list for access\nto subprofile configuration data, if any.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfUserProfile": {
        "type": "object",
        "description": "A boxed array of *UserProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSwitchProfile": {
        "type": "object",
        "description": "The *VirtualSwitchProfile* data object represents a subprofile\nfor a virtual switch.\n\nIf a profile plug-in defines policies or subprofiles, use the\n*ApplyProfile.policy* or *ApplyProfile.property*\nlist to access the additional configuration data.\n",
        "properties": {
          "key": {
            "description": "Linkable identifier.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the standard virtual switch(VSS).\n",
            "type": "string"
          },
          "link": {
            "description": "Links that are connected to the virtual switch.\n",
            "$ref": "#/components/schemas/LinkProfile"
          },
          "numPorts": {
            "description": "Number of ports on the virtual switch.\n",
            "$ref": "#/components/schemas/NumPortsProfile"
          },
          "networkPolicy": {
            "description": "Network policy/policies for the virtual switch.\n",
            "$ref": "#/components/schemas/NetworkPolicyProfile"
          }
        },
        "required": [
          "key",
          "name",
          "link",
          "numPorts",
          "networkPolicy"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfVirtualSwitchProfile": {
        "type": "object",
        "description": "A boxed array of *VirtualSwitchProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSwitchProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LinkProfile": {
        "type": "object",
        "description": "The LinkProfile data object represents a subprofile\nfor links connected to virtual switch.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfLinkProfile": {
        "type": "object",
        "description": "A boxed array of *LinkProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NumPortsProfile": {
        "type": "object",
        "description": "The NumPortsProfile data object represents a\nsubprofile for the number of ports for a\nvirtual switch\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApplyProfile"
          }
        ]
      },
      "ArrayOfNumPortsProfile": {
        "type": "object",
        "description": "A boxed array of *NumPortsProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumPortsProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPortGroupProfile": {
        "type": "object",
        "description": "The *VmPortGroupProfile* data object represents the subprofile\nfor a port group that will be used by virtual machines.\n\nUse the *ApplyProfile.policy* list for\naccess to configuration data for the virtual machine port group profile. Use the\n*ApplyProfile.property* list for access to subprofiles, if any.\n\nvSphere Servers use *Network* managed objects to represent virtual machine port\ngroups in the vSphere inventory.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/PortGroupProfile"
          }
        ]
      },
      "ArrayOfVmPortGroupProfile": {
        "type": "object",
        "description": "A boxed array of *VmPortGroupProfile*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPortGroupProfile"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AfterStartupTaskScheduler": {
        "type": "object",
        "description": "The *AfterStartupTaskScheduler* data object establishes the time\nthat a scheduled task will run after the vCenter server restarts.\n",
        "properties": {
          "minute": {
            "description": "The delay in minutes after vCenter server is restarted.\n\nThe value must be greater than or equal to 0.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "minute"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskScheduler"
          }
        ]
      },
      "ArrayOfAfterStartupTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *AfterStartupTaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AfterStartupTaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DailyTaskScheduler": {
        "type": "object",
        "description": "The *DailyTaskScheduler* data object sets the time for daily\ntask execution.\n\nYou set the hour and the inherited minute\nproperty to complete the schedule. By default, the scheduled task\nwill run once every day at the specified hour and minute.\n\nIf you set the interval to a value greater than 1, the task will\nexecute at the specified daily interval. (For example, an interval\nof 2 will cause the task to execute at the specified hour and minute\nevery 2 days.)\n",
        "properties": {
          "hour": {
            "description": "The hour at which the *RecurrentTaskScheduler* runs the task.\n\nUse UTC (Coordinated Universal Time) values in the range\n0 to 23, where 0 = 12:00 a.m. (UTC) and 12 = 12:00 p.m. (UTC).\n\nFor vCenter 2.x and prior releases, use the server's local time.\nFor example, use Eastern Standard Time (EST) or Pacific Daylight Time (PDT),\nrather than UTC.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "hour"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/HourlyTaskScheduler"
          }
        ]
      },
      "ArrayOfDailyTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *DailyTaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DailyTaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HourlyTaskScheduler": {
        "type": "object",
        "description": "The *HourlyTaskScheduler* data object sets the time for hourly\ntask execution.\n\nBy default, the scheduled task will run once every hour,\nat the specified minute.\n\nIf you set the interval to a value greater than 1, the task will\nexecute at the specified hourly interval. (For example, an interval\nof 2 will cause the task to execute at the specified minute every 2 hours.)\n",
        "properties": {
          "minute": {
            "description": "The minute at which the *RecurrentTaskScheduler* runs\nthe task.\n\nSpecify the minute value as a UTC (Coordinated Universal Time)\nvalue in the range 0 to 59.\n\nFor vCenter 2.x and prior releases, use the server's local time.\nFor example, use Australia Northern Territory (UTC +9:30) or Indian (UTC +5:30)\ntime values, rather than a UTC value.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "minute"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RecurrentTaskScheduler"
          }
        ]
      },
      "ArrayOfHourlyTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *HourlyTaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HourlyTaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MonthlyByDayTaskScheduler": {
        "type": "object",
        "description": "The *MonthlyByDayTaskScheduler* data object sets the time for monthly\ntask execution.\n\nYou can set the schedule for task execution\non one day during the month, and you complete the schedule by\nsetting the inherited properties for the hour and minute.\n\nBy default the scheduler executes the task on the specified day\nevery month. If you set the interval to a value greater than 1,\nthe task will execute at the specified monthly interval.\n(For example, an interval of 2 will cause the task to execute\non the specified day, hour, and minute every 2 months.)\n",
        "properties": {
          "day": {
            "description": "The day in every month to run the scheduled task.\n\nValid values are 1 to 31.\n\nIn any month where the value of \"day\" exceeds the total number of days\nin the month, the scheduled task will run on the last day of the month.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "day"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MonthlyTaskScheduler"
          }
        ]
      },
      "ArrayOfMonthlyByDayTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *MonthlyByDayTaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MonthlyByDayTaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MonthlyByWeekdayTaskScheduler": {
        "type": "object",
        "description": "The *MonthlyByWeekdayTaskScheduler* data object sets the time for\nmonthly task execution.\n\nYou identify a single day for task execution\nby specifying the week of the month and day of the week, and you\ncomplete the schedule by setting the inherited properties for the\nhour and minute.\n\nBy default, the scheduler executes the task on the specified day\nevery month. If you set the interval to a value greater than 1,\nthe task will execute at the specified monthly interval. (For example,\nan interval of 2 will cause the task to execute on the specified\nday, hour, and minute every 2 months.)\n",
        "properties": {
          "offset": {
            "description": "The week in the month during which the scheduled task is to run.\n",
            "$ref": "#/components/schemas/WeekOfMonth_enum"
          },
          "weekday": {
            "description": "The day in the week when the scheduled task is to run.\n",
            "$ref": "#/components/schemas/DayOfWeek_enum"
          }
        },
        "required": [
          "offset",
          "weekday"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MonthlyTaskScheduler"
          }
        ]
      },
      "ArrayOfMonthlyByWeekdayTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *MonthlyByWeekdayTaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MonthlyByWeekdayTaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MonthlyTaskScheduler": {
        "type": "object",
        "description": "The *MonthlyTaskScheduler* data object is the base type for\nthe monthly schedulers (*MonthlyByDayTaskScheduler* and\n*MonthlyByWeekdayTaskScheduler*).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DailyTaskScheduler"
          }
        ]
      },
      "ArrayOfMonthlyTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *MonthlyTaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MonthlyTaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OnceTaskScheduler": {
        "type": "object",
        "description": "The *OnceTaskScheduler* data object establishes the time for running\na scheduled task only once.\n",
        "properties": {
          "runAt": {
            "description": "The time a task will run.\n\nIf you do not set the time, it executes immediately.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskScheduler"
          }
        ]
      },
      "ArrayOfOnceTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *OnceTaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OnceTaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RecurrentTaskScheduler": {
        "type": "object",
        "description": "The *RecurrentTaskScheduler* data object is the base type for\nthe hierarchy that includes hourly, daily, weekly, and monthly task schedulers.\n",
        "properties": {
          "interval": {
            "description": "How often to run the scheduled task.\n\nThe value must be greater than\nor equal to 1 and less than 1000. The default value is 1.\nThe interval acts as a multiplier for the unit of time associated\nwith a particular scheduler (hours, days, weeks, or months).\nFor example, setting the *HourlyTaskScheduler* interval\nto 4 causes the task to run every 4 hours.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "interval"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskScheduler"
          }
        ]
      },
      "ArrayOfRecurrentTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *RecurrentTaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecurrentTaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskDescription": {
        "type": "object",
        "description": "Static strings for scheduled tasks.\n\nThese strings are locale-specific.\n",
        "properties": {
          "action": {
            "description": "Action class descriptions for a scheduled task.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TypeDescription"
            }
          },
          "schedulerInfo": {
            "description": "Scheduler class description details.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskDetail"
            }
          },
          "state": {
            "description": "*TaskInfo State enum*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "dayOfWeek": {
            "description": "*MonthlyByWeekdayTaskScheduler Days of the week enum description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          },
          "weekOfMonth": {
            "description": "*MonthlyByWeekdayTaskScheduler Week of the month enum description*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementDescription"
            }
          }
        },
        "required": [
          "action",
          "schedulerInfo",
          "state",
          "dayOfWeek",
          "weekOfMonth"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfScheduledTaskDescription": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskDescription*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskDescription"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskDetail": {
        "type": "object",
        "description": "Descriptive detail for each scheduler type.\n",
        "properties": {
          "frequency": {
            "description": "Scheduler frequency description.\n",
            "type": "string"
          }
        },
        "required": [
          "frequency"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/TypeDescription"
          }
        ]
      },
      "ArrayOfScheduledTaskDetail": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskDetail*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskDetail"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskInfo": {
        "type": "object",
        "description": "The scheduled task details.\n",
        "properties": {
          "scheduledTask": {
            "description": "Scheduled task object.\n\nRefers instance of *ScheduledTask*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entity": {
            "description": "The entity on which related events will be logged.\n\nIf the task is scheduled on a ManagedEntity, this\nfield will also reflect the same ManagedEntity.\nIf task is scheduled on a ManagedObject, this field\nwill have information about the entity on which\nthe events will be logged on behalf of the ManagedObject.\nManagedObject itself will be denoted by *ScheduledTaskInfo.taskObject*\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "lastModifiedTime": {
            "description": "The time the scheduled task is created or modified.\n",
            "type": "string",
            "format": "date-time"
          },
          "lastModifiedUser": {
            "description": "Last user that modified the scheduled task.\n",
            "type": "string"
          },
          "nextRunTime": {
            "description": "The next time the scheduled task will run.\n",
            "type": "string",
            "format": "date-time"
          },
          "prevRunTime": {
            "description": "The last time the scheduled task ran.\n",
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "description": "Scheduled task state.\n",
            "$ref": "#/components/schemas/TaskInfoState_enum"
          },
          "error": {
            "description": "The fault code when the scheduled task state is \"error\".\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "result": {
            "description": "The operation result when the scheduled task state is \"success\".\n",
            "$ref": "#/components/schemas/Any"
          },
          "progress": {
            "description": "The task progress when the scheduled task state is \"running\".\n",
            "type": "integer",
            "format": "int32"
          },
          "activeTask": {
            "description": "The running task instance when the scheduled task state is \"running\".\n\nRefers instance of *Task*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "taskObject": {
            "description": "The object on which the scheduled task is defined.\n\nThis field will have information about either the\nManagedEntity or the ManagedObject on which the scheduled\ntask is defined.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "scheduledTask",
          "entity",
          "lastModifiedTime",
          "lastModifiedUser",
          "state",
          "taskObject"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduledTaskSpec"
          }
        ]
      },
      "ArrayOfScheduledTaskInfo": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledTaskSpec": {
        "type": "object",
        "description": "Parameters for scheduled task creation.\n",
        "properties": {
          "name": {
            "description": "Name of the scheduled task.\n",
            "type": "string"
          },
          "description": {
            "description": "Description of the scheduled task.\n",
            "type": "string"
          },
          "enabled": {
            "description": "Flag to indicate whether the scheduled task is enabled or disabled.\n",
            "type": "boolean"
          },
          "scheduler": {
            "description": "The time scheduler that determines when the scheduled task runs.\n",
            "$ref": "#/components/schemas/TaskScheduler"
          },
          "action": {
            "description": "The action of the scheduled task, to be done when the scheduled task runs.\n",
            "$ref": "#/components/schemas/Action"
          },
          "notification": {
            "description": "The email notification.\n\nIf not set, this property is set to empty string, indicating no notification.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "description",
          "enabled",
          "scheduler",
          "action"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfScheduledTaskSpec": {
        "type": "object",
        "description": "A boxed array of *ScheduledTaskSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledTaskSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskScheduler": {
        "type": "object",
        "description": "The *TaskScheduler* data object is the base type for the scheduler objects.\n\nThe hierarchy of scheduler objects is as follows:\n\n        TaskScheduler\n            *AfterStartupTaskScheduler*\n            *OnceTaskScheduler*\n            *RecurrentTaskScheduler*\n                *HourlyTaskScheduler*\n                    *DailyTaskScheduler*\n                        *WeeklyTaskScheduler*\n                        *MonthlyTaskScheduler*\n                            *MonthlyByDayTaskScheduler*\n                            *MonthlyByWeekdayTaskScheduler*\n\nUse a scheduler object to set the time(s) for task execution.\nYou can use two scheduling modes - single execution or\nrecurring execution:\n- Use the *AfterStartupTaskScheduler* or the *OnceTaskScheduler*\n  to schedule a single instance of task execution.\n- Use one of the recurrent task schedulers to schedule\n  hourly, daily, weekly, or monthly task execution.\n  \nAfter you have established the task timing, use the scheduler\nobject for the *ScheduledTaskSpec*\n*ScheduledTaskSpec.scheduler* property value.\n",
        "properties": {
          "activeTime": {
            "description": "The time that the schedule for the task takes effect.\n\nTask activation is distinct from task execution.\nWhen you activate a task, its schedule starts,\nand when the next execution time occurs, the task will run.\nIf you do not set activeTime, the activation time defaults to\nthe time that you create the scheduled task.\n",
            "type": "string",
            "format": "date-time"
          },
          "expireTime": {
            "description": "The time the schedule for the task expires.\n\nIf you do not set expireTime, the schedule does not expire.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *TaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WeeklyTaskScheduler": {
        "type": "object",
        "description": "The *WeeklyTaskScheduler* data object sets the time for weekly\ntask execution.\n\nYou can set the schedule for task execution\non one or more days during the week, and you complete the schedule\nby setting the inherited properties for the hour and minute.\n\nBy default the scheduler executes the task according to the\nspecified day(s) every week.\nIf you set the interval to a value greater than 1, the task will\nexecute at the specified weekly interval. (For example, an interval\nof 2 will cause the task to execute on the specified days every 2 weeks.)\n",
        "properties": {
          "sunday": {
            "description": "The day or days of the week when the scheduled task will run.\n\nAt least one of the days must be true.\n",
            "type": "boolean"
          },
          "monday": {
            "type": "boolean"
          },
          "tuesday": {
            "type": "boolean"
          },
          "wednesday": {
            "type": "boolean"
          },
          "thursday": {
            "type": "boolean"
          },
          "friday": {
            "type": "boolean"
          },
          "saturday": {
            "type": "boolean"
          }
        },
        "required": [
          "sunday",
          "monday",
          "tuesday",
          "wednesday",
          "thursday",
          "friday",
          "saturday"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DailyTaskScheduler"
          }
        ]
      },
      "ArrayOfWeeklyTaskScheduler": {
        "type": "object",
        "description": "A boxed array of *WeeklyTaskScheduler*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeeklyTaskScheduler"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ApplyStorageRecommendationResult": {
        "type": "object",
        "description": "Both *StorageResourceManager.RecommendDatastores* and\n*Datastore.DatastoreEnterMaintenanceMode* methods may invoke Storage DRS\nfor recommendations on placing or evacuating virtual disks.\n\nAll initial placement recommendations, and some enterMaintenanceMode\nrecommendations need to be approved by the user. Recommendations that\nare approved will be applied using the\n*StorageResourceManager.ApplyStorageDrsRecommendation_Task*\nmethod.\nThis class encapsulates the result of applying a subset of the\nrecommendations.\n",
        "properties": {
          "vm": {
            "description": "The result applying the recommendation, if it was successful.\n\nThis is the equivalent of the *TaskInfo.result* key for the\ntask launched when the recommendation was applied.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfApplyStorageRecommendationResult": {
        "type": "object",
        "description": "A boxed array of *ApplyStorageRecommendationResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplyStorageRecommendationResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsAutomationConfig": {
        "type": "object",
        "description": "Storage DRS fine grain automation controls\n",
        "properties": {
          "spaceLoadBalanceAutomationMode": {
            "description": "Specifies the behavior of Storage DRS when it generates\nrecommendations for correcting space load imbalance in a\ndatastore cluster.\n\nSee *StorageDrsPodConfigInfo*. If specified, this option\noverrides the datastore cluster level automation behavior defined in the\n*StorageDrsPodConfigInfo*.\n",
            "type": "string"
          },
          "ioLoadBalanceAutomationMode": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nSpecifies the behavior of Storage DRS when it generates\nrecommendations for correcting I/O load imbalance in a datastore\ncluster.\n\nSee *StorageDrsPodConfigInfo*. If specified, this option\noverrides the datastore cluster level automation behavior defined in the\n*StorageDrsPodConfigInfo*.\n",
            "type": "string"
          },
          "ruleEnforcementAutomationMode": {
            "description": "Specifies the behavior of Storage DRS when it generates\nrecommendations for correcting affinity rule violations in a\ndatastore cluster.\n\nSee *StorageDrsPodConfigInfoBehavior_enum*. If\nspecified, this option overrides the datastore cluster level\nautomation behavior defined in the *StorageDrsPodConfigInfo* for\nrecommendations aimed at fixing rule violations.\n",
            "type": "string"
          },
          "policyEnforcementAutomationMode": {
            "description": "Specifies the behavior of Storage DRS when it generates\nrecommendations for correcting storage and Vm policy violations\nin a datastore cluster.\n\nSee *StorageDrsPodConfigInfoBehavior_enum*. If\nspecified, this option overrides the datastore cluster level\nautomation behavior defined in the *StorageDrsPodConfigInfo* for\nrecommendations aimed at fixing storage policy violations.\n",
            "type": "string"
          },
          "vmEvacuationAutomationMode": {
            "description": "Specifies the behavior of Storage DRS when it generates\nrecommendations for datastore evacuations in a datastore\ncluster.\n\nSee *StorageDrsPodConfigInfoBehavior_enum*. If specified, this\noption overrides the datastore cluster level automation behavior\ndefined in the *StorageDrsPodConfigInfo* for recommendations aimed at\nevacuating Vms from a datastore.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsAutomationConfig": {
        "type": "object",
        "description": "A boxed array of *StorageDrsAutomationConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsAutomationConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsConfigInfo": {
        "type": "object",
        "description": "The *StorageDrsConfigInfo* data object describes storage DRS configuration\nfor a pod *StoragePod*.\n",
        "properties": {
          "podConfig": {
            "description": "Pod-wide configuration of the storage DRS service.\n",
            "$ref": "#/components/schemas/StorageDrsPodConfigInfo"
          },
          "vmConfig": {
            "description": "List of virtual machine configurations for the storage DRS\nservice.\n\nEach entry applies to all the virtual disks of the virtual machine\non this pod.\n\nIf a virtual machine is not specified in this array, the service uses\nthe default settings for that virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsVmConfigInfo"
            }
          }
        },
        "required": [
          "podConfig"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsConfigInfo": {
        "type": "object",
        "description": "A boxed array of *StorageDrsConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsConfigSpec": {
        "type": "object",
        "description": "The *StorageDrsConfigSpec* data object provides a set of update\nspecifications for storage DRS configuration.\n\nTo support\nincremental changes, these properties are all optional.\n",
        "properties": {
          "podConfigSpec": {
            "description": "Changes to the configuration of the storage DRS service.\n",
            "$ref": "#/components/schemas/StorageDrsPodConfigSpec"
          },
          "vmConfigSpec": {
            "description": "Changes to the per-virtual-machine storage DRS settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsVmConfigSpec"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsConfigSpec": {
        "type": "object",
        "description": "A boxed array of *StorageDrsConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HbrDiskMigrationAction": {
        "type": "object",
        "description": "Describes a single HBR secondary disk migration action.\n\nThe storage migration\naction applies either to a single disk or a set of secondary virtual disks.\n",
        "properties": {
          "collectionId": {
            "description": "HMS Service specific collection id\n",
            "type": "string"
          },
          "collectionName": {
            "description": "HMS specific name of this collection\n",
            "type": "string"
          },
          "diskIds": {
            "description": "HBR disk ids of secondary disks moved by this action\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "source": {
            "description": "Source datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destination": {
            "description": "Destination datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "sizeTransferred": {
            "description": "The amount of data to be transferred.\n\nUnit: KB.\n",
            "type": "integer",
            "format": "int64"
          },
          "spaceUtilSrcBefore": {
            "description": "Space utilization on the source datastore before storage migration.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "spaceUtilDstBefore": {
            "description": "Space utilization on the destination datastore before storage migration.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "spaceUtilSrcAfter": {
            "description": "Expected space utilization on the source datastore after storage migration.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "spaceUtilDstAfter": {
            "description": "Expected space utilization on the destination datastore after storage migration.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "ioLatencySrcBefore": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nI/O latency on the source datastore before storage migration.\n\nUnit: millisecond.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "ioLatencyDstBefore": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nI/O latency on the destination datastore before storage migration.\n\nUnit: millisecond.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          }
        },
        "required": [
          "collectionId",
          "collectionName",
          "diskIds",
          "source",
          "destination",
          "sizeTransferred"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAction"
          }
        ]
      },
      "ArrayOfHbrDiskMigrationAction": {
        "type": "object",
        "description": "A boxed array of *HbrDiskMigrationAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HbrDiskMigrationAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsIoLoadBalanceConfig": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nStorage DRS configuration for I/O load balancing.\n",
        "properties": {
          "reservablePercentThreshold": {
            "description": "Storage DRS makes storage migration recommendations if total\nIOPs reservation of all VMs running on a datastore is higher than\nthe specified threshold.\n\nStorage DRS recommends migration out of\nall such datastores, if more than one datastore exceed their reserved\nIOPs threshold.\n\nThe actual Iops used to determine threshold are computed from Storage\nDRS estimation of IOPs capacity of a datastore. The absolute value\nmay change over time, according to storage response to workloads.\n\nThe valid values are in the range of 30 (i.e., 30%) to 100 (i.e., 100%).\nIf not specified, the default value is 60%.\n",
            "type": "integer",
            "format": "int32"
          },
          "reservableIopsThreshold": {
            "description": "Storage DRS makes storage migration recommendations if total\nIOPs reservation of all VMs running on a datastore is higher than\nthe specified threshold.\n\nStorage DRS recommends migration out of\nall such datastores, if more than one datastore exceed their reserved\nIOPs threshold.\n\nThis is an advanced option, and should only be used if Storage DRS\nestimated IOPs capacity is incorrect for datastores. The value\nshould be based on conservative estimate of storage performance,\nand ideally should be set to about 50-60% of worse case peak\nperformance of backing LUN.\n",
            "type": "integer",
            "format": "int32"
          },
          "reservableThresholdMode": {
            "description": "Determines which reservation threshold specification to use.\n\nSee *StorageDrsPodConfigInfoBehavior_enum*. If unspecified, the\nmode is assumed automatic by default. Storage DRS uses\npercentage value in that case.\nIf mode is specified, but corresponding reservationThreshold\nvalue is absent, option specific defaults are used.\n",
            "type": "string"
          },
          "ioLatencyThreshold": {
            "description": "Storage DRS makes storage migration recommendations if\nI/O latency on one (or more) of the datastores is higher than\nthe specified threshold.\n\nUnit: millisecond.\nThe valid values are in the range of 5 to 100. If not specified,\nthe default value is 15.\n",
            "type": "integer",
            "format": "int32"
          },
          "ioLoadImbalanceThreshold": {
            "description": "Storage DRS makes storage migration recommendations if\nI/O load imbalance level is higher than the specified threshold.\n\nUnit: a number.\nThe valid values are in the range of 1 to 100. If not specified,\nthe default value is 5.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsIoLoadBalanceConfig": {
        "type": "object",
        "description": "A boxed array of *StorageDrsIoLoadBalanceConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsIoLoadBalanceConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsOptionSpec": {
        "type": "object",
        "description": "An incremental update to the advance settings.\n",
        "properties": {
          "option": {
            "$ref": "#/components/schemas/OptionValue"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfStorageDrsOptionSpec": {
        "type": "object",
        "description": "A boxed array of *StorageDrsOptionSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsOptionSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PlacementAffinityRule": {
        "type": "object",
        "description": "The *PlacementAffinityRule* data object specifies\naffinity rules for placement\n",
        "properties": {
          "ruleType": {
            "description": "Type of affinity rule.\n\nThe set of possible values are described in\n*PlacementAffinityRuleRuleType_enum*\n",
            "type": "string"
          },
          "ruleScope": {
            "description": "Scope of the affinity rule.\n\nThe set of possible values are described in\n*PlacementAffinityRuleRuleScope_enum*\n",
            "type": "string"
          },
          "vms": {
            "description": "List of virtual machines that are part of this rule.\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "keys": {
            "description": "List of PlacementSpec keys that are part of this rule representing\nvirtual machines yet to be placed.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "ruleType",
          "ruleScope"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPlacementAffinityRule": {
        "type": "object",
        "description": "A boxed array of *PlacementAffinityRule*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlacementAffinityRule"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PlacementRankResult": {
        "type": "object",
        "description": "PlacementRankResult is the class of the result returned by\nthe vCenter Server for rankClustersForPlacement method\n",
        "properties": {
          "key": {
            "description": "Reference key for the placement request\n",
            "type": "string"
          },
          "candidate": {
            "description": "Candidate cluster for the placement problem\n\nRefers instance of *ClusterComputeResource*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "reservedSpaceMB": {
            "description": "The reserved storage space for the candidate cluster after placement\nThe unit is in Megabytes\n",
            "type": "integer",
            "format": "int64"
          },
          "usedSpaceMB": {
            "description": "The expected space usage for the candidate cluster after placement\nThe unit is in Megabytes\n",
            "type": "integer",
            "format": "int64"
          },
          "totalSpaceMB": {
            "description": "The expected total space for the candidate cluster after placement\nThe unit is in Megabytes\n",
            "type": "integer",
            "format": "int64"
          },
          "utilization": {
            "description": "The expected aggregate resource utilization for the candidate cluster\nafter placement\nThe unit is a fractional value between 0 and 1.\n",
            "type": "number",
            "format": "double"
          },
          "faults": {
            "description": "Information about why a given cluster is not recommended for\nplacement\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "key",
          "candidate",
          "reservedSpaceMB",
          "usedSpaceMB",
          "totalSpaceMB",
          "utilization"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPlacementRankResult": {
        "type": "object",
        "description": "A boxed array of *PlacementRankResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlacementRankResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PlacementRankSpec": {
        "type": "object",
        "description": "PlacementRankSpec encapsulates all of the inputs passed to\nthe *StorageResourceManager.RankForPlacement* method.\n",
        "properties": {
          "specs": {
            "description": "List of VM placement specifications for ranking clusters\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlacementSpec"
            }
          },
          "clusters": {
            "description": "List of candidate clusters for the placement request\n\nRefers instances of *ClusterComputeResource*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "rules": {
            "description": "List of affinity rules for the placement request\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlacementAffinityRule"
            }
          },
          "placementRankByVm": {
            "description": "List of preferred clusters for individual VM placement requests\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsPlacementRankVmSpec"
            }
          }
        },
        "required": [
          "specs",
          "clusters"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPlacementRankSpec": {
        "type": "object",
        "description": "A boxed array of *PlacementRankSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlacementRankSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsPlacementRankVmSpec": {
        "type": "object",
        "properties": {
          "vmPlacementSpec": {
            "description": "Individual VM placement specification for ranking clusters\n",
            "$ref": "#/components/schemas/PlacementSpec"
          },
          "vmClusters": {
            "description": "Set of candidate clusters for the placement request\n\nRefers instances of *ClusterComputeResource*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "vmPlacementSpec",
          "vmClusters"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsPlacementRankVmSpec": {
        "type": "object",
        "description": "A boxed array of *StorageDrsPlacementRankVmSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsPlacementRankVmSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsPodConfigInfo": {
        "type": "object",
        "description": "The *StorageDrsPodConfigInfo* data object contains pod-wide configuration information\nfor the storage DRS service.\n",
        "properties": {
          "enabled": {
            "description": "Flag indicating whether or not storage DRS is enabled.\n",
            "type": "boolean"
          },
          "ioLoadBalanceEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nFlag indicating whether or not storage DRS takes into account storage I/O\nworkload when making load balancing and initial placement recommendations.\n",
            "type": "boolean"
          },
          "defaultVmBehavior": {
            "description": "Specifies the pod-wide default storage DRS behavior for virtual machines.\n\nFor currently supported storage DRS behavior, see *StorageDrsPodConfigInfoBehavior_enum*.\nYou can override the default behavior for a virtual machine\nby using the *StorageDrsVmConfigInfo* object.\n",
            "type": "string"
          },
          "loadBalanceInterval": {
            "description": "Specify the interval that storage DRS runs to load balance among datastores\nwithin a storage pod.\n\nUnit: minute.\nThe valid values are from 60 (1 hour) to 43200 (30 days).\nIf not specified, the default value is 480 (8 hours).\n",
            "type": "integer",
            "format": "int32"
          },
          "defaultIntraVmAffinity": {
            "description": "Specifies whether or not each virtual machine in this pod should have its virtual\ndisks on the same datastore by default.\n\nIf set to true, virtual machines will have\nall their virtual disks on the same datastore. If set to false, the virtual disks\nof a virtual machine may or may not be placed on the same datastore.\nIf not set, the default value is true.\nYou can override the default behavior for a virtual machine\nby using the *StorageDrsVmConfigInfo* object.\n",
            "type": "boolean"
          },
          "spaceLoadBalanceConfig": {
            "description": "The configuration settings for load balancing storage space.\n",
            "$ref": "#/components/schemas/StorageDrsSpaceLoadBalanceConfig"
          },
          "ioLoadBalanceConfig": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nThe configuration settings for load balancing I/O workload.\n\nThis takes effect only if *StorageDrsPodConfigInfo.ioLoadBalanceEnabled* is <code>true</code>.\n",
            "$ref": "#/components/schemas/StorageDrsIoLoadBalanceConfig"
          },
          "automationOverrides": {
            "description": "Configuration settings for fine-grain automation overrides on\nthe cluster level setting.\n",
            "$ref": "#/components/schemas/StorageDrsAutomationConfig"
          },
          "rule": {
            "description": "Pod-wide rules.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleInfo"
            }
          },
          "option": {
            "description": "Advanced settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "required": [
          "enabled",
          "ioLoadBalanceEnabled",
          "defaultVmBehavior"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsPodConfigInfo": {
        "type": "object",
        "description": "A boxed array of *StorageDrsPodConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsPodConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsPodConfigSpec": {
        "type": "object",
        "description": "The *StorageDrsPodConfigSpec* data object provides a set of update\nspecifications for pod-wide storage DRS configuration.\n\nTo support\nincremental changes, these properties are all optional.\n",
        "properties": {
          "enabled": {
            "description": "Flag indicating whether or not storage DRS is enabled.\n",
            "type": "boolean"
          },
          "ioLoadBalanceEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nFlag indicating whether or not storage DRS takes into account storage I/O\nworkload when making load balancing and initial placement recommendations.\n",
            "type": "boolean"
          },
          "defaultVmBehavior": {
            "description": "Specifies the pod-wide default storage DRS behavior for virtual machines.\n\nFor currently supported storage DRS behavior, see *StorageDrsPodConfigInfoBehavior_enum*.\nYou can override the default behavior for a virtual machine\nby using the *StorageDrsVmConfigInfo* object.\n",
            "type": "string"
          },
          "loadBalanceInterval": {
            "description": "Specify the interval that storage DRS runs to load balance among datastores\nwithin a storage pod.\n",
            "type": "integer",
            "format": "int32"
          },
          "defaultIntraVmAffinity": {
            "description": "Specifies whether or not each virtual machine in this pod should have its virtual\ndisks on the same datastore by default.\n",
            "type": "boolean"
          },
          "spaceLoadBalanceConfig": {
            "description": "The configuration settings for load balancing storage space.\n",
            "$ref": "#/components/schemas/StorageDrsSpaceLoadBalanceConfig"
          },
          "ioLoadBalanceConfig": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nThe configuration settings for load balancing I/O workload.\n\nThis takes effect only if *StorageDrsPodConfigInfo.ioLoadBalanceEnabled* is <code>true</code>.\n",
            "$ref": "#/components/schemas/StorageDrsIoLoadBalanceConfig"
          },
          "automationOverrides": {
            "description": "Configuration settings for fine-grain automation overrides on\nthe cluster level setting.\n",
            "$ref": "#/components/schemas/StorageDrsAutomationConfig"
          },
          "rule": {
            "description": "Changes to the set of rules.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleSpec"
            }
          },
          "option": {
            "description": "Changes to advance settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsOptionSpec"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsPodConfigSpec": {
        "type": "object",
        "description": "A boxed array of *StorageDrsPodConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsPodConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsPodSelectionSpec": {
        "type": "object",
        "description": "Specification for moving or copying a virtual machine to a different Storage Pod.\n",
        "properties": {
          "initialVmConfig": {
            "description": "An optional list that allows specifying the storage pod location\nfor each virtual disk and the VM configurations and overrides to be\nused during placement.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPodConfigForPlacement"
            }
          },
          "storagePod": {
            "description": "The storage pod where the virtual machine should be located.\n\nRefers instance of *StoragePod*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsPodSelectionSpec": {
        "type": "object",
        "description": "A boxed array of *StorageDrsPodSelectionSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsPodSelectionSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PodDiskLocator": {
        "type": "object",
        "description": "The disk locator class.\n",
        "properties": {
          "diskId": {
            "description": "The disk ID.\n",
            "type": "integer",
            "format": "int32"
          },
          "diskMoveType": {
            "description": "The disk move type.\n",
            "type": "string"
          },
          "diskBackingInfo": {
            "description": "The disk backing info.\n",
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          },
          "profile": {
            "description": "Virtual Disk Profile requirement.\n\nProfiles are solution specific.\nProfile Based Storage Management is a vSphere server extension.\nThe API users who want to provision VMs using Storage Profiles, need to\ninteract with it.\nThis is an optional parameter and if user doesn't specify profile,\nthe default behavior will apply.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          }
        },
        "required": [
          "diskId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPodDiskLocator": {
        "type": "object",
        "description": "A boxed array of *PodDiskLocator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodDiskLocator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmPodConfigForPlacement": {
        "type": "object",
        "description": "Initial VM configuration for the specified pod.\n\nThis configuration will be saved to the pod config\n*StorageDrsConfigInfo*\nwhen the placement recommendations are applied.\n",
        "properties": {
          "storagePod": {
            "description": "The pod that this initial configuration applies to.\n\nSince there could be multiple pods in a single placement request,\nwe may need to specify multiple initial VM configurations, one per\npod.\n\nRefers instance of *StoragePod*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "disk": {
            "description": "Array of PodDiskLocator objects.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodDiskLocator"
            }
          },
          "vmConfig": {
            "description": "The VM configuration for the VM that is being placed.\n",
            "$ref": "#/components/schemas/StorageDrsVmConfigInfo"
          },
          "interVmRule": {
            "description": "The initial interVmRules that should during placement of this\nvirtual machine.\n\nIt may not always be possible to specify that the\nvirtual machine being placed is part of the rule because the\nvirtual machine may not have been created yet. So for simplicity,\nwe assume the virtual machine being placed is always implicitly\npart of any rule specified. It will be explicitly added to the\nrule before it is saved to the pod config.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRuleInfo"
            }
          }
        },
        "required": [
          "storagePod"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmPodConfigForPlacement": {
        "type": "object",
        "description": "A boxed array of *VmPodConfigForPlacement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmPodConfigForPlacement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsSpaceLoadBalanceConfig": {
        "type": "object",
        "description": "Storage DRS configuration for space load balancing.\n",
        "properties": {
          "spaceThresholdMode": {
            "type": "string"
          },
          "spaceUtilizationThreshold": {
            "description": "Storage DRS makes storage migration recommendations if\nspace utilization on one (or more) of the datastores is higher than\nthe specified threshold.\n\nThe valid values are in the range of 50 (i.e., 50%) to 100 (i.e., 100%).\nIf not specified, the default value is 80%.\n",
            "type": "integer",
            "format": "int32"
          },
          "freeSpaceThresholdGB": {
            "description": "Storage DRS makes storage migration recommendations if\nfree space on one (or more) of the datastores falls below\nthe specified threshold.\n\nThe unit is in gigabytes and the minimum value is 1GB.\nThe maximum value is limited by the capacity of the smallest\ndatastore in a datastore cluster.\nIf not specified, the default value is 50GB.\n",
            "type": "integer",
            "format": "int32"
          },
          "minSpaceUtilizationDifference": {
            "description": "Storage DRS considers making storage migration recommendations if\nthe difference in space utilization between the source and destination datastores\nis higher than the specified threshold.\n\nThe valid values are in the range of 1 (i.e., 1%) to 50 (i.e., 50%).\nIf not specified, the default value is 5%.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsSpaceLoadBalanceConfig": {
        "type": "object",
        "description": "A boxed array of *StorageDrsSpaceLoadBalanceConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsSpaceLoadBalanceConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageMigrationAction": {
        "type": "object",
        "description": "Describes a single storage migration action.\n\nThe storage migration\naction applies either to a virtual machine or a set of virtual disks.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine reference.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "relocateSpec": {
            "description": "Specification for moving a virtual machine or a set of virtual disks\nto a different datastore.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
          },
          "source": {
            "description": "Source datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destination": {
            "description": "Destination datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "sizeTransferred": {
            "description": "The amount of data to be transferred.\n\nUnit: KB.\n",
            "type": "integer",
            "format": "int64"
          },
          "spaceUtilSrcBefore": {
            "description": "Space utilization on the source datastore before storage migration.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "spaceUtilDstBefore": {
            "description": "Space utilization on the destination datastore before storage migration.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "spaceUtilSrcAfter": {
            "description": "Expected space utilization on the source datastore after storage migration.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "spaceUtilDstAfter": {
            "description": "Expected space utilization on the destination datastore after storage migration.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "ioLatencySrcBefore": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nI/O latency on the source datastore before storage migration.\n\nUnit: millisecond.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "ioLatencyDstBefore": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nI/O latency on the destination datastore before storage migration.\n\nUnit: millisecond.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          }
        },
        "required": [
          "vm",
          "relocateSpec",
          "source",
          "destination",
          "sizeTransferred"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAction"
          }
        ]
      },
      "ArrayOfStorageMigrationAction": {
        "type": "object",
        "description": "A boxed array of *StorageMigrationAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageMigrationAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StoragePlacementAction": {
        "type": "object",
        "description": "Describes a single storage initial placement action for placing a virtual\nmachine or a set of virtual disks on a datastore.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine reference.\n\nIt is possible that the VM has not been created, in which case,\nthis property is left unset.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "relocateSpec": {
            "description": "Specification for placing a virtual machine or a set of virtual disks\nto a datastore.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
          },
          "destination": {
            "description": "Target datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "spaceUtilBefore": {
            "description": "Current space utilization on the target datastore.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "spaceDemandBefore": {
            "description": "Current space demand on the target datastore.\n\nUnit: percentage. For example, if set to 70.0, space demand is 70%. This\nvalue include the space demanded by thin provisioned VMs. Hence, it may\nbe higher than 100%. If not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "spaceUtilAfter": {
            "description": "Space utilization on the target datastore after placing the virtual disk.\n\nUnit: percentage. For example, if set to 70.0, space utilization is 70%.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "spaceDemandAfter": {
            "description": "Space demand on the target datastore after placing the virtual disk.\n\nUnit: percentage. For example, if set to 70.0, space demand is 70%. This\nvalue include the space demanded by thin provisioned VMs. Hence, it may\nbe higher than 100%. If not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          },
          "ioLatencyBefore": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nCurrent I/O latency on the target datastore.\n\nUnit: millisecond.\nIf not set, the value is not available.\n",
            "type": "number",
            "format": "float"
          }
        },
        "required": [
          "relocateSpec",
          "destination"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterAction"
          }
        ]
      },
      "ArrayOfStoragePlacementAction": {
        "type": "object",
        "description": "A boxed array of *StoragePlacementAction*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoragePlacementAction"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StoragePlacementResult": {
        "type": "object",
        "description": "Both *StorageResourceManager.RecommendDatastores* and\n*Datastore.DatastoreEnterMaintenanceMode* methods may invoke Storage DRS\nfor recommendations on placing or evacuating virtual disks.\n\nStoragePlacementResult is the class of the result returned by\nthe methods.\n",
        "properties": {
          "recommendations": {
            "description": "The list of recommendations that the client needs to approve manually.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterRecommendation"
            }
          },
          "drsFault": {
            "description": "Information about any fault in case Storage DRS failed to make a recommendation.\n",
            "$ref": "#/components/schemas/ClusterDrsFaults"
          },
          "task": {
            "description": "The ID of the task, which monitors the storage placement or datastore entering\nmaintennace mode operation.\n\nRefers instance of *Task*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStoragePlacementResult": {
        "type": "object",
        "description": "A boxed array of *StoragePlacementResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoragePlacementResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StoragePlacementSpec": {
        "type": "object",
        "description": "StoragePlacementSpec encapsulates all of the inputs passed to the\n*StorageResourceManager.RecommendDatastores* method.\n",
        "properties": {
          "type": {
            "description": "The storage placement type.\n\nThe set of possible values is described in\n*StoragePlacementSpecPlacementType_enum*\n",
            "type": "string"
          },
          "priority": {
            "description": "Priority of this placement operation.\n",
            "$ref": "#/components/schemas/VirtualMachineMovePriority_enum"
          },
          "vm": {
            "description": "The relevant virtual machine.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "podSelectionSpec": {
            "description": "Specification for moving a virtual machine or a set of virtual disks\nto a different storage pod.\n",
            "$ref": "#/components/schemas/StorageDrsPodSelectionSpec"
          },
          "cloneSpec": {
            "description": "Specification for a virtual machine cloning operation.\n",
            "$ref": "#/components/schemas/VirtualMachineCloneSpec"
          },
          "cloneName": {
            "description": "Name for cloned virtual machine.\n",
            "type": "string"
          },
          "configSpec": {
            "description": "Configuration for the virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          },
          "relocateSpec": {
            "description": "Specification for relocating a virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
          },
          "resourcePool": {
            "description": "The resource pool to which this virtual machine should be attached.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host for the virtual machine.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "folder": {
            "description": "The target virtual machine folder for the virtual machine.\n\nNote that this is a different folder than the pod(s) that the virtual\nmachine belongs to. The pod mapping represents the storage view of\nthe virtual machine, while the virtual machine folder mapping\nrepresents an inventory view of the virtual machine.\nFor manual VM provisioning operations, this is specified implicitly\nas the object that the *Folder.CreateVM_Task* method is invoked on.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "disallowPrerequisiteMoves": {
            "description": "Specification for whether to disable pre-requisite storage vmotions\nfor storage placements.\n\nIf unset, default behavior is to allow such\nprerequisite moves.\n",
            "type": "boolean"
          },
          "resourceLeaseDurationSec": {
            "description": "Resource lease duration in seconds.\n\nIf the duration is within bounds,\nStorage DRS will hold onto resources needed for applying recommendations\ngenerated as part of that call.\nOnly initial placement recommendations generated by storage DRS can reserve\nresources this way.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "type",
          "podSelectionSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStoragePlacementSpec": {
        "type": "object",
        "description": "A boxed array of *StoragePlacementSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoragePlacementSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskAntiAffinityRuleSpec": {
        "type": "object",
        "description": "Pod-wide anit-affinity rule for virtual disks.\n\nThe set of virtual disks should\nbe placed on different datastores.\n",
        "properties": {
          "diskId": {
            "description": "The list of virtual disks.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "diskId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterRuleInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskAntiAffinityRuleSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskAntiAffinityRuleSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskAntiAffinityRuleSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskRuleSpec": {
        "type": "object",
        "description": "The set of virtual disks that are currently disabled\n",
        "properties": {
          "diskRuleType": {
            "description": "Type of the virtual disks rule.\n\nThe set of possible values are described\nin *VirtualDiskRuleSpecRuleType_enum*\n",
            "type": "string"
          },
          "diskId": {
            "description": "The list of virtual disks for this rule.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "diskRuleType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ClusterRuleInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskRuleSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskRuleSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskRuleSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsVmConfigInfo": {
        "type": "object",
        "description": "Storage DRS configuration for a single virtual machine.\n\nThis makes it\npossible to override the default behavior for an individual virtual machine.\n",
        "properties": {
          "vm": {
            "description": "Reference to the virtual machine.\n\nCan be NULL during initial placement.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "enabled": {
            "description": "Flag to indicate whether or not VirtualCenter is allowed to perform any\nstorage migration or initial placement recommendations for this virtual\nmachine on the pod *StoragePod*.\n\nIf this flag is false, the virtual machine is effectively excluded from\nstorage DRS.\n\nIf no individual DRS specification exists for a virtual machine,\nthis property defaults to true.\n",
            "type": "boolean"
          },
          "behavior": {
            "description": "Specifies the particular storage DRS behavior for this virtual machine.\n\nFor supported values, see *StorageDrsPodConfigInfoBehavior_enum*.\n",
            "type": "string"
          },
          "intraVmAffinity": {
            "description": "Specifies whether or not to have the affinity rule for the virtual disks\nof this virtual machine.\n\nIf not set, the default value is derived from\nthe pod-wide default *StorageDrsPodConfigInfo.defaultIntraVmAffinity*.\n",
            "type": "boolean"
          },
          "intraVmAntiAffinity": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 7.0.\n\nSpecifies the disks for this virtual machine that should be placed\non different datastores.\n\nA VM cannot have both an affinity and an\nanti-affinity rule at the same time. Virtual machine disks that are\nnot in this rule are unconstrained and can be placed either on the\nsame datastore or on a different datastore as other disks from this\nvirtual machine.\n",
            "$ref": "#/components/schemas/VirtualDiskAntiAffinityRuleSpec"
          },
          "virtualDiskRules": {
            "description": "List of the virtual disk rules that can be overridden/created.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskRuleSpec"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfStorageDrsVmConfigInfo": {
        "type": "object",
        "description": "A boxed array of *StorageDrsVmConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsVmConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageDrsVmConfigSpec": {
        "type": "object",
        "description": "Updates the per-virtual-machine storage DRS configuration.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/StorageDrsVmConfigInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfStorageDrsVmConfigSpec": {
        "type": "object",
        "description": "A boxed array of *StorageDrsVmConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorageDrsVmConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppCloneSpec": {
        "type": "object",
        "description": "Specification for a vApp cloning operation.\n",
        "properties": {
          "location": {
            "description": "Location where the destination vApp must be stored\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host for the virtual machines.\n\nThis is often not a required\nparameter. If not specified, the behavior is as follows:\n- If the target pool represents a stand-alone host, that host is used.\n- If the target pool represents a DRS-enabled cluster, a host selected\n  by DRS is used.\n- If the target pool represents a cluster without DRS enabled or a\n  DRS-enabled cluster in manual mode, an InvalidArgument exception is\n  thrown.\n  \nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "resourceSpec": {
            "description": "The resource configuration for the vApp.\n",
            "$ref": "#/components/schemas/ResourceConfigSpec"
          },
          "vmFolder": {
            "description": "The VM Folder to associate the vApp with\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "networkMapping": {
            "description": "Network mappings.\n\nSee *VAppCloneSpecNetworkMappingPair*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppCloneSpecNetworkMappingPair"
            }
          },
          "property": {
            "description": "A set of property values to override.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "resourceMapping": {
            "description": "The resource configuration for the cloned vApp.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppCloneSpecResourceMap"
            }
          },
          "provisioning": {
            "description": "Specify how the VMs in the vApp should be provisioned.\n",
            "type": "string"
          }
        },
        "required": [
          "location"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVAppCloneSpec": {
        "type": "object",
        "description": "A boxed array of *VAppCloneSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppCloneSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppCloneSpecNetworkMappingPair": {
        "type": "object",
        "description": "Maps one network to another as part of the clone process.\n\nInstances of this class are used in the field *VAppCloneSpec.networkMapping*\n",
        "properties": {
          "source": {
            "description": "The source network\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "destination": {
            "description": "The destination network\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "source",
          "destination"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVAppCloneSpecNetworkMappingPair": {
        "type": "object",
        "description": "A boxed array of *VAppCloneSpecNetworkMappingPair*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppCloneSpecNetworkMappingPair"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppCloneSpecResourceMap": {
        "type": "object",
        "description": "Maps source child entities to destination resource pools\nand resource settings.\n\nIf a mapping is not specified,\na child is copied as a direct child of the parent.\n",
        "properties": {
          "source": {
            "description": "Source entity\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "parent": {
            "description": "Resource pool to use for the cloned entity of source.\n\nThis must specify a\nresource pool that is not part of the vApp. If this is specified, a linked\nchild (as opposed to a direct child) is created for the vApp.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "resourceSpec": {
            "description": "An optional resource configuration for the cloned entity of the source.\n\nIf\nnot specified, the same resource configuration as the source is used.\n",
            "$ref": "#/components/schemas/ResourceConfigSpec"
          },
          "location": {
            "description": "A client can optionally specify a datastore in the resource map to\noverride the default datastore location set in *VAppCloneSpecResourceMap.location* field.\n\nThis\nenables cloning to different compute resources that do not have shared\ndatastores.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "source"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVAppCloneSpecResourceMap": {
        "type": "object",
        "description": "A boxed array of *VAppCloneSpecResourceMap*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppCloneSpecResourceMap"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppEntityConfigInfo": {
        "type": "object",
        "description": "This object type describes the behavior of an entity (virtual machine or\nsub-vApp container) in a vApp container.\n\nThe auto-start/auto-stop configurations control the behavior of the\nstart/stop vApp operations.\n\nAn virtual machine entity can be configured to wait for a period of time before\nstarting or to wait to receive a successful heartbeat from a virtual machine\nbefore starting the next virtual machine in the sequence.\n- For a power-on operation, if waitForHeartbeat is true, then the power-on\n  sequence continues after the the first heartbeat has been received. If\n  waitingForGuest is false, the system waits for the specified delay and\n  then continues the power-on sequence.\n- For a power-off operation, if delay is non-zero, the requested power-off\n  action is invoked (powerOff, suspend, guestShutdown) on the virtual\n  machine and the system waits until the number of seconds specified in the\n  delay have passed.\n  \nIf startAction and stopAction for an entity are both set to none, that\nentity does not participate in the sequence.\n\nThe start/stop delay and waitingForGuest is not used if the entity is a\nvApp container. For a vApp the only value values for startAction is none\nor powerOn, and the valid values for stopAction is none or powerOff.\n",
        "properties": {
          "key": {
            "description": "Entity to power on or power off.\n\nThis can be a virtual machine or a vApp.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "tag": {
            "description": "Tag for entity.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "startOrder": {
            "description": "Specifies the start order for this entity.\n\nEntities are started from lower\nnumbers to higher-numbers and reverse on shutdown. Multiple entities with the\nsame start-order can be started in parallel and the order is unspecified. This\nvalue must be 0 or higher.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "integer",
            "format": "int32"
          },
          "startDelay": {
            "description": "Delay in seconds before continuing with the next entity in the order of entities\nto be started.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "integer",
            "format": "int32"
          },
          "waitingForGuest": {
            "description": "Determines if the virtual machine should start after receiving a heartbeat,\nfrom the guest.\n\nWhen a virtual machine is next in the start\norder, the system either waits a specified period of time for a virtual\nmachine to power on or it waits until it receives a successful heartbeat from a\npowered on virtual machine. By default, this is set to false.\n\nThis property has no effect for vApps.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "boolean"
          },
          "startAction": {
            "description": "How to start the entity.\n\nValid settings are none or powerOn. If set to none, then\nthe entity does not participate in auto-start.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "stopDelay": {
            "description": "Delay in seconds before continuing with the next entity in the order\nsequence.\n\nThis is only used if the stopAction is guestShutdown.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "integer",
            "format": "int32"
          },
          "stopAction": {
            "description": "Defines the stop action for the entity.\n\nCan be set to none, powerOff,\nguestShutdown, or suspend. If set to none, then the entity does not participate in\nauto-stop.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "destroyWithParent": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1.\n\nWhether the entity should be removed, when this vApp is removed.\n\nThis is only set for linked children.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVAppEntityConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VAppEntityConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppEntityConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppIPAssignmentInfo": {
        "type": "object",
        "description": "The IPAssignmentInfo class specifies how the guest software gets\nconfigured with IP addresses, including protocol type (IPv4 or IPv6)\nand the life-time of those IP addresses.\n\nA vApp/virtual machine can either use DHCP to acquire an IP\nconfiguration, or it can acquire its IP configuration through the\nuse of the vSphere platform using the OVF environment's properties.\nThe latter is a known as OVF-environment-assigned IP configuration.\n\nGuest software can be constructed to support DHCP , OVF assigned\nIP configuration, or both. The supportedAssignmentScheme property\nlists the supported schemes. This is typically specified by the author\nof a vApp.\n\nThe deployer / operator of a vApp, specifies what IP allocation\npolicy should be used:\n- Using DHCP, if the vApp and deployed network supports it\n- Transient Assignment, if the vApp supports OVF-assigned IP\n  configuration and the network has an IP range configured.\n- Fixed Assignment, if the vApp supports OVF-assigned IP\n  configuration.\n- Fixed Allocated, if the vApp supports OVF-assigned IP\n  configuration and the network has an IP range configured.\n  \nTransient and fixed assignment differs in the life time of the IP\nallocation. For transient, IP addresses are automatically assigned on\npower-on and released on power-off. For fixed, the IP\naddresses are explicitly specified by the deployer and does not change\nbetween a power-on/power-off.\nFixed allocated is a hybrid of transient and fixed assignment. IP\naddresses are allocated at first power-on and remain allocated on power-off.\n\nThe IPAssignment settings are global to a deployment. Thus, if a vApp or\nvirtual machine is part of another vApp, then the settings are ignored,\nand the ones for the top-most vApp container is used.\n",
        "properties": {
          "supportedAllocationScheme": {
            "description": "Specifies the IP allocation schemes supported by the guest software.\n\nWhen updating this field, an empty array will be interpreted as no changes.\nAn array of the form \\[\"\"\\] will clear all settings. Otherwise, the supplied\nvalue will overwrite the current setting.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ipAllocationPolicy": {
            "description": "Specifies how IP allocation should be managed by the VI platform.\n\nThis is\ntypically specified by the deployer. The set of valid options for the policy\nis based on the capabilities of the vApp software, as specified by the\nsupportedAllocationSchemes property.\n\nReconfigure privilege: VApp.InstanceConfig\n",
            "type": "string"
          },
          "supportedIpProtocol": {
            "description": "Specifies the IP protocols supported by the guest software.\n\nWhen updating this field, an empty array will be interpreted as no changes.\nAn array of the form \\[\"\"\\] will clear all settings. Otherwise, the supplied\nvalue will overwrite the current setting.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ipProtocol": {
            "description": "Specifies the chosen IP protocol for this deployment.\n\nThis must be one of the\nvalues in the supportedIpProtocol field.\n\nReconfigure privilege: VApp.InstanceConfig\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVAppIPAssignmentInfo": {
        "type": "object",
        "description": "A boxed array of *VAppIPAssignmentInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppIPAssignmentInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IpPool": {
        "type": "object",
        "description": "Specifications of the network configuration to be used on a\nnetwork.\n\nThis is used to generate IP addresses and for self-customization\nof vApps.\n",
        "properties": {
          "id": {
            "description": "Unique ID, generated by the server.\n\nThis is used to identify the pool in\nsubsequent lookups or updates. The generated value is also returned by the *IpPoolManager.CreateIpPool* method.\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "Pool name.\n\nThe pool name must be unique within the datacenter.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element is escaped. Similarly, any % (percent) character used in\nthis name element is escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n",
            "type": "string"
          },
          "ipv4Config": {
            "description": "IPv4 configuration.\n\nThis configuration is always present on the pool. To disable allocation, set the\nipPoolEnabled flag of the config to false.\n",
            "$ref": "#/components/schemas/IpPoolIpPoolConfigInfo"
          },
          "ipv6Config": {
            "description": "IPv6 configuration.\n\nThis configuration is always present on the pool. To disable allocation, set the\nipPoolEnabled flag of the config to false.\n",
            "$ref": "#/components/schemas/IpPoolIpPoolConfigInfo"
          },
          "dnsDomain": {
            "description": "DNS Domain.\n\nFor example, vmware.com. This can be an empty string if no\ndomain is configured.\n",
            "type": "string"
          },
          "dnsSearchPath": {
            "description": "DNS Search Path.\n\nFor example, eng.vmware.com;vmware.com\n",
            "type": "string"
          },
          "hostPrefix": {
            "description": "Prefix for hostnames.\n",
            "type": "string"
          },
          "httpProxy": {
            "description": "The HTTP proxy to use on this network, e.g., &lt;host&gt;:&lt;port&gt;\n",
            "type": "string"
          },
          "networkAssociation": {
            "description": "The networks that are associated with this IP pool\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpPoolAssociation"
            }
          },
          "availableIpv4Addresses": {
            "description": "The number of IPv4 addresses available for allocation.\n",
            "type": "integer",
            "format": "int32"
          },
          "availableIpv6Addresses": {
            "description": "The number of IPv6 addresses available for allocation.\n",
            "type": "integer",
            "format": "int32"
          },
          "allocatedIpv4Addresses": {
            "description": "The number of allocated IPv4 addresses.\n",
            "type": "integer",
            "format": "int32"
          },
          "allocatedIpv6Addresses": {
            "description": "The number of allocated IPv6 addresses.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIpPool": {
        "type": "object",
        "description": "A boxed array of *IpPool*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpPool"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IpPoolAssociation": {
        "type": "object",
        "description": "Information about a network or portgroup that is associated to an IP pool.\n",
        "properties": {
          "network": {
            "description": "The network object\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "networkName": {
            "description": "The name of the network or portgroup\n\nThis field is only used when querying existing IP pools. It is ignored when\ncreating or updating pools.\n",
            "type": "string"
          }
        },
        "required": [
          "networkName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIpPoolAssociation": {
        "type": "object",
        "description": "A boxed array of *IpPoolAssociation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpPoolAssociation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IpPoolIpPoolConfigInfo": {
        "type": "object",
        "description": "Specifications of either IPv4 or IPv6 configuration to be used\non this network.\n\nThis is a part of network configuration.\n\nIPv4 addresses are in dot-decimal notation, e.g.: 192.0.2.235\n\nIPv6 addresses are in colon-hexadecimal notation,\ne.g.: 2001:0db8:85a3::0370:7334\n",
        "properties": {
          "subnetAddress": {
            "description": "Address of the subnet.\n\nFor example:\n- IPv4: 192.168.5.0\n- IPv6: 2001:0db8:85a3::\n",
            "type": "string"
          },
          "netmask": {
            "description": "Netmask\n\nFor example:\n- IPv4: 255.255.255.0\n- IPv6: ffff:ffff:ffff::\n",
            "type": "string"
          },
          "gateway": {
            "description": "Gateway.\n\nThis can be an empty string - if no gateway is configured.\n\nExamples:\n- IPv4: 192.168.5.1\n- IPv6: 2001:0db8:85a3::1\n",
            "type": "string"
          },
          "range": {
            "description": "IP range.\n\nThis is specified as a set of ranges separated with commas.\nOne range is given by a start address, a hash (#), and the length\nof the range.\n\nFor example:\n- 192.0.2.235 # 20 is the IPv4 range from 192.0.2.235 to 192.0.2.254\n- 2001::7334 # 20 is the IPv6 range from 2001::7334 to 2001::7347\n",
            "type": "string"
          },
          "dns": {
            "description": "DNS servers\n\nFor example:\n- IPv4: \\[\"10.20.0.1\", \"10.20.0.2\"\\]\n- IPv6: \\[\"2001:0db8:85a3::0370:7334\", \"2001:0db8:85a3::0370:7335\"\\]\n  \nIf an empty list is passed, the existing value remains unchanged. To clear this\nlist, pass an array containing the empty string as it's only element.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dhcpServerAvailable": {
            "description": "Whether a DHCP server is available on this network.\n",
            "type": "boolean"
          },
          "ipPoolEnabled": {
            "description": "IP addresses can only be allocated from the range if the IP pool is\nenabled.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfIpPoolIpPoolConfigInfo": {
        "type": "object",
        "description": "A boxed array of *IpPoolIpPoolConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IpPoolIpPoolConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppOvfSectionInfo": {
        "type": "object",
        "description": "The OvfSection encapsulates uninterpreted meta-data sections in\nan OVF descriptor.\n\nWhen an OVF package is imported, non-required /\nnon-interpreted sections will be stored as OvfSection object. During\nthe creation of an OVF package, these sections will be placed in the\nOVF descriptor.\n",
        "properties": {
          "key": {
            "description": "A unique key to identify a section.\n",
            "type": "integer",
            "format": "int32"
          },
          "namespace": {
            "description": "The namespace for the value in xsi:type attribute.\n",
            "type": "string"
          },
          "type": {
            "description": "The value of the xsi:type attribute not including the namespace prefix.\n",
            "type": "string"
          },
          "atEnvelopeLevel": {
            "description": "Whether this is a global envelope section\n",
            "type": "boolean"
          },
          "contents": {
            "description": "The XML fragment including the top-level &lt;Section...&gt; element.\n\nThe\nfragment is self-contained will all required namespace definitions.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVAppOvfSectionInfo": {
        "type": "object",
        "description": "A boxed array of *VAppOvfSectionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppOvfSectionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppOvfSectionSpec": {
        "type": "object",
        "description": "An incremental update to the OvfSection list.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/VAppOvfSectionInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfVAppOvfSectionSpec": {
        "type": "object",
        "description": "A boxed array of *VAppOvfSectionSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppOvfSectionSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppProductInfo": {
        "type": "object",
        "description": "Information that describes what product a vApp contains, for example,\nthe software that is installed in the contained virtual machines.\n",
        "properties": {
          "key": {
            "description": "A unique key for the product section\n",
            "type": "integer",
            "format": "int32"
          },
          "classId": {
            "description": "Class name for this attribute.\n\nValid values for classId:\nAny string except any white-space characters.\n",
            "type": "string"
          },
          "instanceId": {
            "description": "Class name for this attribute.\n\nValid values for instanceId:\nAny string except any white-space characters.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the product.\n",
            "type": "string"
          },
          "vendor": {
            "description": "Vendor of the product.\n",
            "type": "string"
          },
          "version": {
            "description": "Short version of the product, for example, 1.0.\n",
            "type": "string"
          },
          "fullVersion": {
            "description": "Full-version of the product, for example, 1.0-build 12323.\n",
            "type": "string"
          },
          "vendorUrl": {
            "description": "URL to vendor homepage.\n",
            "type": "string"
          },
          "productUrl": {
            "description": "URL to product homepage.\n",
            "type": "string"
          },
          "appUrl": {
            "description": "URL to entry-point for application.\n\nThis is often specified using\na macro, for example, http://${app.ip}/, where app.ip is a defined property\non the virtual machine or vApp container.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVAppProductInfo": {
        "type": "object",
        "description": "A boxed array of *VAppProductInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppProductInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppProductSpec": {
        "type": "object",
        "description": "An incremental update to the Product information list.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/VAppProductInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfVAppProductSpec": {
        "type": "object",
        "description": "A boxed array of *VAppProductSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppProductSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppPropertyInfo": {
        "type": "object",
        "description": "A vApp Property description, including deployment values\n",
        "properties": {
          "key": {
            "description": "A unique integer key for the property.\n",
            "type": "integer",
            "format": "int32"
          },
          "classId": {
            "description": "class name for this property\n\nValid values for classId:\nAny string except any white-space characters\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "instanceId": {
            "description": "class name for this property\n\nValid values for instanceId:\nAny string except any white-space characters\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "id": {
            "description": "Name of property.\n\nIn the OVF environment, the property is listed as\n\\[classId.\\]id\\[.instanceId\\]. The \\[classId.\\]name\\[.instanceId\\] must be unique.\n\nThis field cannot be empty for a property. Thus, it must be specified at creation\nand cannot be set to the empty string.\n\nValid values for id:\nAny string except any white-space characters\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "category": {
            "description": "A user-visible description the category the property belongs to.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "label": {
            "description": "The display name for the property.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "type": {
            "description": "Describes the valid format of the property.\n\nA type must be one of:\n- string : A generic string. Max length 65535 (64k).\n- string(x..) : A string with minimum character length x.\n- string(..y) : A string with maximum character length y.\n- string(x..y) : A string with minimum character length x and maximum\n  character length y.\n- string\\[\"choice1\", \"choice2\", \"choice3\"\\] : A set of choices. \" inside a choice\n  must be either \\\\\" or ' e.g \"start\\\\\"middle\\\\\"end\" or \"start'middle'end\" and\n  a \\\\ inside a string choice must be encoded as \\\\\\\\ e.g. \"start\\\\\\\\end\".\n- int : An integer value. Is semantically equivalent to\n  int(-2147483648..2147483647) e.g. signed int32.\n- int(x..y): An integer value with a minimum size x and a maximum size y.\n  For example int(0..255) is a number between 0 and 255 both incl. This is\n  also a way to specify that the number must be a uint8. There is always a lower\n  and lower bound. Max number of digits is 100 including any sign. If exported to OVF the\n  value will be truncated to max of uint64 or int64.\n- real : IEEE 8-byte floating-point value.\n- real(x..y) : IEEE 8-byte floating-point value with a minimum size x and a\n  maximum size y. For example real(-1.5..1.5) must be a number between -1.5 and 1.5.\n  Because of the nature of float some conversions can truncate the value.\n  Real must be encoded according to CIM:\n  RealValue = \\[ \"+\" | \"-\" } \\*decimalDigit \".\" 1\\*decimalDigit\n  \\[ (\"e\" | \"E\" ) \\[ \"+\" | \"-\" \\] 1\\*decimalDigit \\] \\]\n- boolean : A boolean. The value can be True or False\n- password : A generic string. Max length 65535 (64k).\n- password(x..) : A string with minimum character length x.\n- password(..y) : A string with maximum character length y.\n- password(x..y) : A string with minimum character length x and maximum\n  character length y.\n- ip : An IPv4 address in dot-decimal notation or an IPv6 address in\n  colon-hexadecimal notation.\n- ip:network : An IP address in dot-notation (IPv4) and colon-hexadecimal (IPv6)\n  on a particular network. The behavior of this type depends on the\n  ipAllocationPolicy. See below.\n- expression: The default value specifies an expression that is calculated\n  by the system.\n  \nFor properties of type 'password', the value field and default value field will\nalways be returned as an empty string when queried. Thus, it is a write-only property.\nTypically, a client application will also render these as a text field with hidden\ntext and double prompting.\n  \nAn expression follows the general patterns of either ${arg} or ${cmd:arg}. The\nlist of supported expressions are listed below:\n- ${&lt;name&gt;} : This expression evaluates to the same value as the named\n  property in the parent vApp. A parent vApp is the\n  first vApp in the ancestry chain (resource pools are\n  skipped). If no parent vApp exists or the property is\n  not defined on the parent vApp, the expression\n  evaluates to the empty value.\n- ${subnet:&lt;network&gt;} : The subnet value of the given network.\n- ${netmask:&lt;network&gt;} : The netmask value of the given network.\n- ${gateway:&lt;network&gt;} : The gateway value of the given network.\n- ${autoIp:&lt;network&gt;} : An auto-assigned network address on the given\n  network\n- ${net:&lt;network&gt;} : The name of the network\n- ${domainName:&lt;network&gt;} : The DNS domain name, e.g., vmware.com, of\n  the given network.\n- ${searchPath:&lt;network&gt;} : The DNS search path, e.g.,\n  eng.vmware.com;vmware.com, of the given\n  network.\n- ${hostPrefix:&lt;network&gt;}: The host prefix on a given network, e.g.,\n  \"voe-\"\n- ${dns:network}: A comma-separated string of configured network addresses\n- ${httpProxy:network}: The hostname:port for a proxy on the network\n- ${vimIp:} : The IP address of the VIM API provider server. This would\n  typical be an ESX Server or VirtualCenter Server.\n  \nA vApp will fail to start if any of the properties cannot be computed. For\nexample, if a property reference a gateway on a network, for which is has not\nbeen specified. The value of the computed computation is assigned to the 'value'\nfield upon start of the vApp or virtual machine. The value is cleared once\nthe vApp or virtual machine is not-running.\n\nThe system provides three ways of specifying IP addresses:\n- ip,\n- ip:network type,\n- ${ip:network} expression.\n  \nThe _ip_ types are typically used to specify an IP addressed to an\nexternal system. Thus, these are not used by a virtual ethernet adapter\nwithin the guest itself. Both the ip:network expression and the ${ip:network}\nexpression are intended as a way to obtain an IP address for a virtual machine\nin a vApp.\n\nThe behavior of ip:network type is controlled by the ipAssignPolicy, as\ndescribed in the following table:\n<table>\n<tr>\n<td>**Policy**</td>\n<td>ip:&lt;network&gt; type</td>\n</tr>\n<tr>\n<td>DHCP</td>\n<td>The user is not prompted to enter a value. The variable is set to the\nempty string during power-on, and later updated with the IP value reported\nby the guest software.\n</td>\n</tr>\n<tr>\n<td>Transient</td>\n<td>The user is not prompted to enter a value. An IP address is allocated by\nthe platform and is assigned to the variable which is available to the\nguest. The IP address is released at power-off.</td>\n</tr>\n<tr>\n<td>Fixed</td>\n<td>The user is prompted to enter a value. This value is available to the\nguest.</td>\n</tr>\n<tr>\n<td>Fixed Allocated</td>\n<td>The user is not prompted to enter a value. An IP address is allocated by\nthe platform and is assigned to the variable which is available to the\nguest. The IP address remains allocated at power-off, and are only\nreleased if the property is deleted or the vApp is destroyed.</td>\n</tr>\n</table>\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "typeReference": {
            "description": "Contains extra configuration data depending on the property type.\n\nFor types that\nrefer to network names the type reference is the managed object reference\nof the network.\n",
            "type": "string"
          },
          "userConfigurable": {
            "description": "Whether the property is user-configurable or a system property.\n\nThis is not used\nif the type is expression.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "boolean"
          },
          "defaultValue": {
            "description": "This either contains the default value of a field (used if value is empty\nstring), or the expression if the type is \"expression\".\n\nSee comment for the\n",
            "type": "string",
            "format": "password"
          },
          "value": {
            "description": "The value of the field at deployment time.\n\nFor expressions, this will contain\nthe value that has been computed.\n\nReconfigure privilege: VApp.InstanceConfig\n",
            "type": "string",
            "format": "password"
          },
          "description": {
            "description": "A description of the field.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVAppPropertyInfo": {
        "type": "object",
        "description": "A boxed array of *VAppPropertyInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppPropertyInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppPropertySpec": {
        "type": "object",
        "description": "An incremental update to the Property list.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/VAppPropertyInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfVAppPropertySpec": {
        "type": "object",
        "description": "A boxed array of *VAppPropertySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppPropertySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppConfigInfo": {
        "type": "object",
        "description": "Configuration of a vApp container.\n",
        "properties": {
          "entityConfig": {
            "description": "Configuration of sub-entities (virtual machine or vApp).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppEntityConfigInfo"
            }
          },
          "annotation": {
            "description": "Description for the vApp.\n",
            "type": "string"
          },
          "instanceUuid": {
            "description": "vCenter-specific 128-bit UUID of a vApp, represented as a hexademical\nstring.\n\nThis identifier is used by vCenter to uniquely identify all\nvApp instances.\n",
            "type": "string"
          },
          "managedBy": {
            "description": "Specifies that this vApp is managed by a VC Extension.\n\nSee the\n*managedBy* property in the\nVAppConfigSpec for more details.\n",
            "$ref": "#/components/schemas/ManagedByInfo"
          }
        },
        "required": [
          "annotation"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigInfo"
          }
        ]
      },
      "ArrayOfVAppConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VAppConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VAppConfigSpec": {
        "type": "object",
        "description": "Configuration of a vApp\n",
        "properties": {
          "entityConfig": {
            "description": "Configuration of sub-entities (virtual machine or vApp container).\n\nReconfigure privilege: See EntityConfigInfo\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppEntityConfigInfo"
            }
          },
          "annotation": {
            "description": "Description for the vApp.\n\nReconfigure privilege: VApp.Rename.\n",
            "type": "string"
          },
          "instanceUuid": {
            "description": "vCenter-specific 128-bit UUID of a vApp, represented as a hexadecimal\nstring.\n\nThis identifier is used by vCenter to uniquely identify all\nvApp instances in the Virtual Infrastructure environment.\n\nNormally, this property is not set by a client, allowing the\nVirtual Infrastructure environment to assign or change it when\nVirtualCenter detects an identifier conflict between vApps.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "string"
          },
          "managedBy": {
            "description": "Specifies that this vApp is managed by a VC Extension.\n\nThis information is primarily used in the Client to show a custom icon for\nmanaged vApps, and a description of the function of the vApp. If no extension\ncan be found with the extension key in the *managedBy*\nobject, or the type is not found in the\n*managedEntityInfo* list of the\nextension, the default vApp icon is used, and no description is shown.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "$ref": "#/components/schemas/ManagedByInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VmConfigSpec"
          }
        ]
      },
      "ArrayOfVAppConfigSpec": {
        "type": "object",
        "description": "A boxed array of *VAppConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualAppImportSpec": {
        "type": "object",
        "description": "A VAppImportSpec is used by *ResourcePool.importVApp* when importing vApps (single VM or multi-VM).\n\nIt provides all information needed to import a *VirtualApp*.\n\nSee also *ImportSpec*.\n",
        "properties": {
          "name": {
            "description": "The name of the vApp\n",
            "type": "string"
          },
          "vAppConfigSpec": {
            "description": "vApp configuration\n",
            "$ref": "#/components/schemas/VAppConfigSpec"
          },
          "resourcePoolSpec": {
            "description": "Resource pool specification.\n\nIf resourcePoolSpec.entity is specified, that resource pool is used as the parent\nresource pool and the vApp will be made a linked child to the parent vApp. This\nfield is ignored for the root node in an ImportSpec tree.\nUse of resourcePoolSpec.entity for creating linked children is deprecated as of\nvSphere API 5.1.\n",
            "$ref": "#/components/schemas/ResourceConfigSpec"
          },
          "child": {
            "description": "Contains a list of children (*VirtualMachine*s and\n*VirtualApp*s).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportSpec"
            }
          }
        },
        "required": [
          "name",
          "vAppConfigSpec",
          "resourcePoolSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ImportSpec"
          }
        ]
      },
      "ArrayOfVirtualAppImportSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualAppImportSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualAppImportSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigInfo": {
        "type": "object",
        "description": "VM Configuration.\n",
        "properties": {
          "product": {
            "description": "Information about the package content.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppProductInfo"
            }
          },
          "property": {
            "description": "List of properties\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppPropertyInfo"
            }
          },
          "ipAssignment": {
            "description": "IP assignment policy and DHCP support configuration.\n",
            "$ref": "#/components/schemas/VAppIPAssignmentInfo"
          },
          "eula": {
            "description": "End User Liceses Agreements.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ovfSection": {
            "description": "List of uninterpreted OVF meta-data sections.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppOvfSectionInfo"
            }
          },
          "ovfEnvironmentTransport": {
            "description": "List the transports to use for properties.\n\nSupported values are: iso and\ncom.vmware.guestInfo.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "installBootRequired": {
            "description": "Specifies whether the VM needs an initial boot before the deployment is complete.\n\nNot relevant for vApps. This means that the value is always false when reading the\nconfiguration and is ignored when setting the configuration.\n\nIf a vApp requires an install boot (because one of its VMs does), this is visible\non the *VirtualAppSummary.installBootRequired* field of the vApp.\n",
            "type": "boolean"
          },
          "installBootStopDelay": {
            "description": "Specifies the delay in seconds to wait for the VM to power off after the initial\nboot (used only if installBootRequired is true).\n\nA value of 0 means wait forever.\n\nNot relevant for vApps. This means that the value is always false when reading the\nconfiguration and is ignored when setting the configuration.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "ipAssignment",
          "installBootRequired",
          "installBootStopDelay"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VmConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VmConfigSpec": {
        "type": "object",
        "description": "vApp related configuration of a VM.\n",
        "properties": {
          "product": {
            "description": "Information about the product.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppProductSpec"
            }
          },
          "property": {
            "description": "List of properties.\n\nAdding and editing properties requires various privileges depending on which fields\nare affected. See *VAppPropertyInfo* for details.\n\nDeleting properties requires the privilege VApp.ApplicationConfig.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppPropertySpec"
            }
          },
          "ipAssignment": {
            "description": "IP assignment policy and DHCP support configuration.\n\nReconfigure privilege: See *VAppIPAssignmentInfo*\n",
            "$ref": "#/components/schemas/VAppIPAssignmentInfo"
          },
          "eula": {
            "description": "End User Liceses Agreements.\n\nIf this list is set, it replaces all exiting licenses. An empty list will not\nmake any changes to installed licenses. A list with a single element {\"\"} will\nremove all licenses and leave an empty list.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ovfSection": {
            "description": "List of uninterpreted OVF meta-data sections.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VAppOvfSectionSpec"
            }
          },
          "ovfEnvironmentTransport": {
            "description": "List the transports to use for properties.\n\nSupported values are: iso and\ncom.vmware.guestInfo.\n\nIf this list is set, it replaces all exiting entries. An empty list will not make\nany changes. A list with a single element {\"\"} will clear the list of transports.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "installBootRequired": {
            "description": "If this is on a VirtualMachine object, it specifies whether the VM needs an\ninitial boot before the deployment is complete.\n\nIf this is on a vApp object,\nit indicates than one or more VMs needs an initial reboot. This flag is\nautomatically reset once the reboot has happened.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "boolean"
          },
          "installBootStopDelay": {
            "description": "Specifies the delay in seconds to wait for the VM to power off after the initial\nboot (used only if installBootRequired is true).\n\nA value of 0 means wait forever.\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVmConfigSpec": {
        "type": "object",
        "description": "A boxed array of *VmConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VmConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterNetworkConfigSpec": {
        "type": "object",
        "description": "The Cluster network config spec allows specification of\nthe second network adapter is used for communication between\nthe nodes of a VCHA cluster.\n",
        "properties": {
          "networkPortGroup": {
            "description": "The portgroup that is associated with the VCHA Cluster IP\naddress for VCHA cluster traffic for the second adapter to be\nadded to the Active vCenter.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "ipSettings": {
            "description": "VCHA Cluster network configuration of the node.\n\nAll cluster communication (state replication, heartbeat,\ncluster messages) happens over this network.\nOnly a single Gateway IPv4 Address is supported.\nIPAddress and NetMask must be specified or an InvalidArgument\nexception will be reported.\n",
            "$ref": "#/components/schemas/CustomizationIPSettings"
          }
        },
        "required": [
          "networkPortGroup",
          "ipSettings"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfClusterNetworkConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ClusterNetworkConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterNetworkConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FailoverNodeInfo": {
        "type": "object",
        "properties": {
          "clusterIpSettings": {
            "description": "VCHA Cluster network configuration of the node.\n\nAll cluster communication (state replication, heartbeat,\ncluster messages) happens over this network.\n",
            "$ref": "#/components/schemas/CustomizationIPSettings"
          },
          "failoverIp": {
            "description": "Failover IP address that this node will assume after the failover\nto serve client requests.\n\nEach failover node can have a different\nfailover IP address.\n",
            "$ref": "#/components/schemas/CustomizationIPSettings"
          },
          "biosUuid": {
            "description": "BIOS UUID for the node.\n\nIt is set only if the VCHA Cluster was\nformed using automatic provisioning by the deploy API.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterIpSettings"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFailoverNodeInfo": {
        "type": "object",
        "description": "A boxed array of *FailoverNodeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FailoverNodeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NodeDeploymentSpec": {
        "type": "object",
        "description": "The NodeDeploymentSpec class defines location\nspecification of the nodes the VCHA Cluster along with Management\nvCenter Server information that manages node VM.\n",
        "properties": {
          "esxHost": {
            "description": "ESX host on which the VM is to be deployed.\n\nFor behavior when an esxHost is not specified,\n\nSee also *VirtualMachineRelocateSpec.host*.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastore": {
            "description": "Datastore used for deploying the VM.\n\nFor behavior when a datastore is not specified,\n\nSee also *VirtualMachineRelocateSpec.datastore*.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "publicNetworkPortGroup": {
            "description": "Name of the portgroup that is associated with the public IP address\nwhere clients connect to vCenter Server.\n\nIf a portgroup is not\nspecified same portgroup present on source is used to deploy the VM\nwith an assumption that portgroup is present on destination.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "clusterNetworkPortGroup": {
            "description": "Name of the portgroup that is associated with the VCHA Cluster IP\naddress where clients connect to vCenter Server.\n\nIf a portgroup is not\nspecified same portgroup present on source is used to deploy the VM\nwith an assumption that portgroup is present on destination.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "folder": {
            "description": "Folder in which the VM is to be created.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "resourcePool": {
            "description": "ResourcePool that will be used to deploy this node.\n\nIf the ResourcePool is not specified, the root resource pool for the\nhost will be used.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "managementVc": {
            "description": "Management vCenter Server managing this VM.\n\nIf the managementVc is not specified, managementVc specified as\npart of SourceNodeSpec is used.\n",
            "$ref": "#/components/schemas/ServiceLocator"
          },
          "nodeName": {
            "description": "nodeName here refers to a name that will be assigned to the VM to which\nthis node will be deployed to.\n",
            "type": "string"
          },
          "ipSettings": {
            "description": "VCHA Cluster network configuration of the node.\n\nAll cluster communication (state replication, heartbeat,\ncluster messages) happens over this network.\n",
            "$ref": "#/components/schemas/CustomizationIPSettings"
          }
        },
        "required": [
          "folder",
          "nodeName",
          "ipSettings"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNodeDeploymentSpec": {
        "type": "object",
        "description": "A boxed array of *NodeDeploymentSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NodeDeploymentSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NodeNetworkSpec": {
        "type": "object",
        "description": "The NodeNetworkSpec class defines network specification of a node\nin the VCHA Cluster.\n",
        "properties": {
          "ipSettings": {
            "description": "VCHA Cluster network configuration of the node.\n\nAll cluster communication (state replication, heartbeat,\ncluster messages) happens over this network.\n",
            "$ref": "#/components/schemas/CustomizationIPSettings"
          }
        },
        "required": [
          "ipSettings"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfNodeNetworkSpec": {
        "type": "object",
        "description": "A boxed array of *NodeNetworkSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NodeNetworkSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PassiveNodeDeploymentSpec": {
        "type": "object",
        "description": "The PassiveNodeDeploymentSpec class defines VCHA Cluster configuration\nof the Passive node VM in the VCHA Cluster.\n",
        "properties": {
          "failoverIpSettings": {
            "description": "Failover IP address that this node must assume after the failover\nto serve client requests.\n\nIf not specified, it will assume the public\nIP address of the Active vCenter Server.\n",
            "$ref": "#/components/schemas/CustomizationIPSettings"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/NodeDeploymentSpec"
          }
        ]
      },
      "ArrayOfPassiveNodeDeploymentSpec": {
        "type": "object",
        "description": "A boxed array of *PassiveNodeDeploymentSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PassiveNodeDeploymentSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PassiveNodeNetworkSpec": {
        "type": "object",
        "description": "The PassiveNodeNetworkSpec class defines VCHA Failover and Cluster\nnetwork configuration of the Passive node VM in the VCHA Cluster.\n",
        "properties": {
          "failoverIpSettings": {
            "description": "Failover IP address that this node must assume after the failover\nto serve client requests.\n\nIf not specified, it will assume the public\nIP address of the Active vCenter Server.\n",
            "$ref": "#/components/schemas/CustomizationIPSettings"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/NodeNetworkSpec"
          }
        ]
      },
      "ArrayOfPassiveNodeNetworkSpec": {
        "type": "object",
        "description": "A boxed array of *PassiveNodeNetworkSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PassiveNodeNetworkSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SourceNodeSpec": {
        "type": "object",
        "description": "The SourceNodeSpec class defines specification of\nthe source node that is used to initiate the configuration or\ndeployment for VCHA.\n",
        "properties": {
          "managementVc": {
            "description": "Credentials for the management vCenter Server that is managing\nthis node.\n",
            "$ref": "#/components/schemas/ServiceLocator"
          },
          "activeVc": {
            "description": "VirtualMachine reference for this vCenter Server.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "managementVc",
          "activeVc"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSourceNodeSpec": {
        "type": "object",
        "description": "A boxed array of *SourceNodeSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SourceNodeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VchaClusterConfigInfo": {
        "type": "object",
        "description": "The VchaClusterConfigInfo class contains\nconfiguration information of the three nodes of a VCHA\nCluster.\n",
        "properties": {
          "failoverNodeInfo1": {
            "description": "Node configuration information for the VCHA Cluster\n",
            "$ref": "#/components/schemas/FailoverNodeInfo"
          },
          "failoverNodeInfo2": {
            "description": "Node configuration information for the VCHA Cluster\n",
            "$ref": "#/components/schemas/FailoverNodeInfo"
          },
          "witnessNodeInfo": {
            "description": "Node configuration information for the VCHA Cluster\n",
            "$ref": "#/components/schemas/WitnessNodeInfo"
          },
          "state": {
            "description": "Current state of VCHA Cluster.\n\n*VchaState_enum* lists all\npossible states.\nIf the state is invalid or notConfigured, the other fields in this\nobject will be unset.\n",
            "type": "string"
          }
        },
        "required": [
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVchaClusterConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VchaClusterConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VchaClusterConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VchaClusterConfigSpec": {
        "type": "object",
        "description": "The VchaClusterConfigSpec class contains IP addresses of\nPassive and Witness nodes to configure and form the VCHA Cluster.\n\nPassive and Witness nodes are assumed to be pre-configured\nto allow access to them over the specified IP addresses.\nActive Node IP address is not required as it is retrieved from\nthe already configured interface on VCHA Cluster network.\n",
        "properties": {
          "passiveIp": {
            "description": "IP Address of Passive node in the VCHA Cluster network.\n",
            "type": "string"
          },
          "witnessIp": {
            "description": "IP Address of Witness node in the VCHA Cluster network.\n",
            "type": "string"
          }
        },
        "required": [
          "passiveIp",
          "witnessIp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVchaClusterConfigSpec": {
        "type": "object",
        "description": "A boxed array of *VchaClusterConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VchaClusterConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VchaClusterDeploymentSpec": {
        "type": "object",
        "description": "The VchaClusterDeploymentSpec class contains\ndeployment information for creating and configuring a VCHA Cluster.\n",
        "properties": {
          "passiveDeploymentSpec": {
            "description": "Deployment spec for the Passive node\n",
            "$ref": "#/components/schemas/PassiveNodeDeploymentSpec"
          },
          "witnessDeploymentSpec": {
            "description": "Deployment spec for the Witness node\n",
            "$ref": "#/components/schemas/NodeDeploymentSpec"
          },
          "activeVcSpec": {
            "description": "Active vCenter Server specification required to deploy\nVCHA Cluster.\n",
            "$ref": "#/components/schemas/SourceNodeSpec"
          },
          "activeVcNetworkConfig": {
            "description": "The Cluster network config spec allows creation and configuration of\nthe second Network adapter of the Active or Source VCenter.\n\nThe second network adapter is used for communication between\nthe nodes of a VCHA cluster.\n",
            "$ref": "#/components/schemas/ClusterNetworkConfigSpec"
          }
        },
        "required": [
          "passiveDeploymentSpec",
          "witnessDeploymentSpec",
          "activeVcSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVchaClusterDeploymentSpec": {
        "type": "object",
        "description": "A boxed array of *VchaClusterDeploymentSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VchaClusterDeploymentSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VchaClusterNetworkSpec": {
        "type": "object",
        "description": "The VchaClusterNetworkSpec class contains network\nconfiguration information for a VCHA Cluster.\n",
        "properties": {
          "witnessNetworkSpec": {
            "description": "Network spec for the Witness node.\n",
            "$ref": "#/components/schemas/NodeNetworkSpec"
          },
          "passiveNetworkSpec": {
            "description": "Network spec for the Passive node.\n",
            "$ref": "#/components/schemas/PassiveNodeNetworkSpec"
          }
        },
        "required": [
          "witnessNetworkSpec",
          "passiveNetworkSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVchaClusterNetworkSpec": {
        "type": "object",
        "description": "A boxed array of *VchaClusterNetworkSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VchaClusterNetworkSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WitnessNodeInfo": {
        "type": "object",
        "description": "The WitnessNodeInfo class defines configuration\ninformation for the Witness node in the cluster\n",
        "properties": {
          "ipSettings": {
            "description": "VCHA Cluster network configuration of the Witness node.\n",
            "$ref": "#/components/schemas/CustomizationIPSettings"
          },
          "biosUuid": {
            "description": "BIOS UUID for the node.\n\nIt is set only if the VCHA Cluster was\nformed using automatic provisioning by the deploy API.\n",
            "type": "string"
          }
        },
        "required": [
          "ipSettings"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfWitnessNodeInfo": {
        "type": "object",
        "description": "A boxed array of *WitnessNodeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WitnessNodeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VchaClusterHealth": {
        "type": "object",
        "description": "The VchaClusterHealth class describes the overall\nVCHA Cluster health.\n\nHealth information include the last known runtime\ninformation about the VCHA Cluster along with health messages and any\nadditional information applicable to the current VCHA Cluster health.\nIf the cluster state is healthy, there will not be any health messages\nor additional information provided.\n",
        "properties": {
          "runtimeInfo": {
            "description": "Runtime information of the VCHA Cluster\n",
            "$ref": "#/components/schemas/VchaClusterRuntimeInfo"
          },
          "healthMessages": {
            "description": "A collection of Messages describing the reason for a non-healthy\nCluster.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          },
          "additionalInformation": {
            "description": "A collection of additional information regarding the health messages.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "required": [
          "runtimeInfo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVchaClusterHealth": {
        "type": "object",
        "description": "A boxed array of *VchaClusterHealth*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VchaClusterHealth"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VchaClusterRuntimeInfo": {
        "type": "object",
        "description": "The VchaClusterRuntimeInfo class describes the\nruntime information of a VCHA Cluster.\n\nThis includes the last known\nstate of the cluster and last known states of each node.\n",
        "properties": {
          "clusterState": {
            "description": "Last known state of the VCHA Cluster.\n\n*VchaClusterState* lists all possible states.\n",
            "type": "string"
          },
          "nodeInfo": {
            "description": "Runtime information for each node in the VCHA Cluster.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VchaNodeRuntimeInfo"
            }
          },
          "clusterMode": {
            "description": "Operational mode of the VCHA Cluster.\n\n*VchaClusterMode*\nlists all possible modes.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterState",
          "clusterMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVchaClusterRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *VchaClusterRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VchaClusterRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VchaNodeRuntimeInfo": {
        "type": "object",
        "description": "The VchaNodeRuntimeInfo class describes a node's\nruntime information in a VCHA Cluster.\n",
        "properties": {
          "nodeState": {
            "description": "Last known state of the node.\n\n*VchaNodeState*\nlists all possible states.\n",
            "type": "string"
          },
          "nodeRole": {
            "description": "Last known role of the node.\n\n*VchaNodeRole*\nlists all possible roles.\n",
            "type": "string"
          },
          "nodeIp": {
            "description": "IP address for the node in the replication network.\n",
            "type": "string"
          }
        },
        "required": [
          "nodeState",
          "nodeRole",
          "nodeIp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVchaNodeRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *VchaNodeRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VchaNodeRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineAffinityInfo": {
        "type": "object",
        "description": "Specification of scheduling affinity.\n\nScheduling affinity is used for explicitly specifying which\nprocessors or NUMA nodes may be used by a virtual machine.\n",
        "properties": {
          "affinitySet": {
            "description": "List of nodes (processors for CPU, NUMA nodes for memory) that\nmay be used by the virtual machine.\n\nIf the array is empty when\nmodifying the affinity setting, then any existing affinity is removed.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineAffinityInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineAffinityInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineAffinityInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineBaseIndependentFilterSpec": {
        "type": "object",
        "description": "The BaseIndependentFilterSpec is base class for two different types\nof independent filter specs *VirtualMachineIndependentFilterSpec*\nand *VirtualMachineEmptyIndependentFilterSpec* which are used to specify\nindependent filters to be attached/removed on VMs virtual disk.\n\n***Since:*** vSphere API Release 7.0.2.1\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineBaseIndependentFilterSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineBaseIndependentFilterSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.2.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBaseIndependentFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineBootOptions": {
        "type": "object",
        "description": "The *VirtualMachineBootOptions* data object defines the boot-time\nbehavior of a virtual machine.\n\nYou can use the delay options to specify a time interval\nduring which you can enter the virtual machine BIOS setup.\nThese options provide a solution for the situation that occurs\nwhen the console attaches to the virtual machine after\nthe boot sequence has passed the BIOS setup entry point.\n",
        "properties": {
          "bootDelay": {
            "description": "Delay in milliseconds before starting the boot sequence.\n\nThe boot delay specifies a time interval between virtual machine\npower on or restart and the beginning of the boot sequence.\n",
            "type": "integer",
            "format": "int64"
          },
          "enterBIOSSetup": {
            "description": "If set to <code>true</code>, the virtual machine\nautomatically enters BIOS setup the next time it boots.\n\nThe virtual machine resets this flag to <code>false</code>\nso that subsequent boots proceed normally.\n",
            "type": "boolean"
          },
          "efiSecureBootEnabled": {
            "description": "If set to <code>true</code>, the virtual machine's firmware will\nperform signature checks of any EFI images loaded during startup, and\nwill refuse to start any images which do not pass those signature\nchecks.\n\nWhen creating a new VM:\n\\- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,\nand this flag is set to <code>false</code> error is returned.\n\\- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to\n<code>true</code>, the value of this flag is set to <code>true</code>.\n",
            "type": "boolean"
          },
          "bootRetryEnabled": {
            "description": "If set to <code>true</code>, a virtual machine that fails\nto boot will try again after the *VirtualMachineBootOptions.bootRetryDelay*\ntime period has expired.\n\nWhen <code>false</code>,\nthe virtual machine waits indefinitely for you to initiate\nboot retry.\n",
            "type": "boolean"
          },
          "bootRetryDelay": {
            "description": "Delay in milliseconds before a boot retry.\n\nThe boot retry delay\nspecifies a time interval between virtual machine boot failure\nand the subsequent attempt to boot again. The virtual machine\nuses this value only if *VirtualMachineBootOptions.bootRetryEnabled* is true.\n",
            "type": "integer",
            "format": "int64"
          },
          "bootOrder": {
            "description": "Boot order.\n\nListed devices are used for booting. After list\nis exhausted, default BIOS boot device algorithm is used for\nbooting.\nNote that order of the entries in the list is important:\ndevice listed first is used for boot first, if that one\nfails second entry is used, and so on.\nPlatform may have some internal limit on the number of devices\nit supports. If bootable device is not reached before platform's\nlimit is hit, boot will fail. At least single entry is supported\nby all products supporting boot order settings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableDevice"
            }
          },
          "networkBootProtocol": {
            "description": "Protocol to attempt during PXE network boot or NetBoot.\n\nSee also *VirtualMachineBootOptionsNetworkBootProtocolType_enum*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineBootOptions": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineBootOptions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBootOptions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineBootOptionsBootableCdromDevice": {
        "type": "object",
        "description": "Bootable CDROM.\n\nFirst CDROM with bootable media found is used.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableDevice"
          }
        ]
      },
      "ArrayOfVirtualMachineBootOptionsBootableCdromDevice": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineBootOptionsBootableCdromDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableCdromDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineBootOptionsBootableDevice": {
        "type": "object",
        "description": "Bootable device.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineBootOptionsBootableDevice": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineBootOptionsBootableDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineBootOptionsBootableDiskDevice": {
        "type": "object",
        "description": "Bootable disk.\n",
        "properties": {
          "deviceKey": {
            "description": "*Key*\nproperty of the bootable harddisk.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "deviceKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableDevice"
          }
        ]
      },
      "ArrayOfVirtualMachineBootOptionsBootableDiskDevice": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineBootOptionsBootableDiskDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableDiskDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineBootOptionsBootableEthernetDevice": {
        "type": "object",
        "description": "Bootable ethernet adapter.\n\nPXE boot is attempted from the device.\n",
        "properties": {
          "deviceKey": {
            "description": "*Key*\nproperty of the bootable ethernet adapter.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "deviceKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableDevice"
          }
        ]
      },
      "ArrayOfVirtualMachineBootOptionsBootableEthernetDevice": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineBootOptionsBootableEthernetDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableEthernetDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineBootOptionsBootableFloppyDevice": {
        "type": "object",
        "description": "Bootable floppy disk.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableDevice"
          }
        ]
      },
      "ArrayOfVirtualMachineBootOptionsBootableFloppyDevice": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineBootOptionsBootableFloppyDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBootOptionsBootableFloppyDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineCapability": {
        "type": "object",
        "description": "This data object type contains information about the\noperation/capabilities of a virtual machine\n",
        "properties": {
          "snapshotOperationsSupported": {
            "description": "Indicates whether or not a virtual machine supports snapshot operations.\n",
            "type": "boolean"
          },
          "multipleSnapshotsSupported": {
            "description": "Indicates whether or not a virtual machine supports multiple snapshots.\n\nThis value is not set when the virtual machine is unavailable, for instance,\nwhen it is being created or deleted.\n",
            "type": "boolean"
          },
          "snapshotConfigSupported": {
            "description": "Indicates whether or not a virtual machine supports snapshot config.\n",
            "type": "boolean"
          },
          "poweredOffSnapshotsSupported": {
            "description": "Indicates whether or not a virtual machine supports snapshot operations in\npoweredOff state.\n\nThis flag doesn't affect vim.VirtualMachine.GetSnapshot,\nwhich is always supported.\n",
            "type": "boolean"
          },
          "memorySnapshotsSupported": {
            "description": "Indicates whether or not a virtual machine supports memory snapshots.\n",
            "type": "boolean"
          },
          "revertToSnapshotSupported": {
            "description": "Indicates whether or not a virtual machine supports reverting to a snapshot.\n",
            "type": "boolean"
          },
          "quiescedSnapshotsSupported": {
            "description": "Indicates whether or not a virtual machine supports quiesced snapshots.\n",
            "type": "boolean"
          },
          "disableSnapshotsSupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0. The value returned from the server is\nalways false.\n\nIndicates whether or not snapshots can be disabled.\n",
            "type": "boolean"
          },
          "lockSnapshotsSupported": {
            "description": "Indicates whether or not the snapshot tree can be locked.\n",
            "type": "boolean"
          },
          "consolePreferencesSupported": {
            "description": "Indicates whether console preferences can be set for this virtual machine.\n",
            "type": "boolean"
          },
          "cpuFeatureMaskSupported": {
            "description": "Indicates whether CPU feature requirements masks can be set for this\nvirtual machine.\n\nMasking for hardware version 9 and newer virtual\nmachines is controlled by *VirtualMachineCapability.featureRequirementSupported*.\n",
            "type": "boolean"
          },
          "s1AcpiManagementSupported": {
            "description": "Indicates whether or not a virtual machine supports ACPI S1 settings management.\n",
            "type": "boolean"
          },
          "settingScreenResolutionSupported": {
            "description": "Indicates whether of not this virtual machine supports\nsetting the screen resolution of the console window.\n\nThis capability depends on the guest operating system\nconfigured for this virtual machine.\n",
            "type": "boolean"
          },
          "toolsAutoUpdateSupported": {
            "description": "Supports tools auto-update.\n",
            "type": "boolean"
          },
          "vmNpivWwnSupported": {
            "description": "Supports virtual machine NPIV WWN.\n",
            "type": "boolean"
          },
          "npivWwnOnNonRdmVmSupported": {
            "description": "Supports assigning NPIV WWN to virtual machines that don't have RDM disks.\n",
            "type": "boolean"
          },
          "vmNpivWwnDisableSupported": {
            "description": "Indicates whether the NPIV disabling operation is supported the virtual machine.\n",
            "type": "boolean"
          },
          "vmNpivWwnUpdateSupported": {
            "description": "Indicates whether the update of NPIV WWNs are supported on the virtual machine.\n",
            "type": "boolean"
          },
          "swapPlacementSupported": {
            "description": "Flag indicating whether the virtual machine has a configurable\n*swapfile placement policy*.\n",
            "type": "boolean"
          },
          "toolsSyncTimeSupported": {
            "description": "Indicates whether asking tools to sync time with the host is supported.\n",
            "type": "boolean"
          },
          "virtualMmuUsageSupported": {
            "description": "Indicates whether or not the use of nested page table hardware support\ncan be explicitly set.\n",
            "type": "boolean"
          },
          "diskSharesSupported": {
            "description": "Indicates whether resource settings for disks can be\napplied to this virtual machine.\n",
            "type": "boolean"
          },
          "bootOptionsSupported": {
            "description": "Indicates whether boot options can be configured\nfor this virtual machine.\n",
            "type": "boolean"
          },
          "bootRetryOptionsSupported": {
            "description": "Indicates whether automatic boot retry can be\nconfigured for this virtual machine.\n",
            "type": "boolean"
          },
          "settingVideoRamSizeSupported": {
            "description": "Flag indicating whether the video ram size of this virtual machine\ncan be configured.\n",
            "type": "boolean"
          },
          "settingDisplayTopologySupported": {
            "description": "Indicates whether of not this virtual machine supports\nsetting the display topology of the console window.\n\nThis capability depends on the guest operating system\nconfigured for this virtual machine.\n",
            "type": "boolean"
          },
          "recordReplaySupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0.\n\nIndicates whether record and replay functionality is supported on this\nvirtual machine.\n",
            "type": "boolean"
          },
          "changeTrackingSupported": {
            "description": "Indicates that change tracking is supported for virtual disks of this\nvirtual machine.\n\nHowever, even if change tracking is supported, it might\nnot be available for all disks of the virtual machine. For example,\npassthru raw disk mappings or disks backed by any Ver1BackingInfo cannot\nbe tracked.\n",
            "type": "boolean"
          },
          "multipleCoresPerSocketSupported": {
            "description": "Indicates whether multiple virtual cores per socket is supported on this VM.\n",
            "type": "boolean"
          },
          "hostBasedReplicationSupported": {
            "description": "Indicates that host based replication is supported on this virtual\nmachine.\n\nHowever, even if host based replication is supported,\nit might not be available for all disk types. For example, passthru\nraw disk mappings can not be replicated.\n",
            "type": "boolean"
          },
          "guestAutoLockSupported": {
            "description": "Indicates whether features like guest OS auto-lock and MKS connection\ncontrols are supported for this virtual machine.\n",
            "type": "boolean"
          },
          "memoryReservationLockSupported": {
            "description": "Indicates whether\n*memoryReservationLockedToMax*\nmay be set to true for this virtual machine.\n",
            "type": "boolean"
          },
          "featureRequirementSupported": {
            "description": "Indicates whether featureRequirement feature is supported.\n",
            "type": "boolean"
          },
          "poweredOnMonitorTypeChangeSupported": {
            "description": "Indicates whether a monitor type change is supported while this virtual\nmachine is in the poweredOn state.\n",
            "type": "boolean"
          },
          "seSparseDiskSupported": {
            "description": "Indicates whether this virtual machine supports the Flex-SE\n(space-efficient, sparse) format for virtual disks.\n",
            "type": "boolean"
          },
          "nestedHVSupported": {
            "description": "Indicates whether this virtual machine supports nested hardware-assisted\nvirtualization.\n",
            "type": "boolean"
          },
          "vPMCSupported": {
            "description": "Indicates whether this virtual machine supports virtualized CPU performance\ncounters.\n",
            "type": "boolean"
          },
          "secureBootSupported": {
            "description": "Indicates whether secureBoot is supported for this virtual machine.\n",
            "type": "boolean"
          },
          "perVmEvcSupported": {
            "description": "Indicates whether this virtual machine supports Per-VM EVC mode.\n",
            "type": "boolean"
          },
          "virtualMmuUsageIgnored": {
            "description": "Indicates that *VirtualMachineFlagInfo.virtualMmuUsage* is\nignored by this virtual machine, always operating as if \"on\" was selected.\n",
            "type": "boolean"
          },
          "virtualExecUsageIgnored": {
            "description": "Indicates that *VirtualMachineFlagInfo.virtualExecUsage* is\nignored by this virtual machine, always operating as if \"hvOn\" was selected.\n",
            "type": "boolean"
          },
          "diskOnlySnapshotOnSuspendedVMSupported": {
            "description": "Indicates whether this virtual machine supports creating disk-only snapshots\nin suspended state.\n\nIf this capability is not set, the snapshot of a\nvirtual machine in suspended state will always include memory.\n",
            "type": "boolean"
          },
          "suspendToMemorySupported": {
            "description": "Indicates whether this virtual machine supports suspending to memory.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "toolsSyncTimeAllowSupported": {
            "description": "Indicates support for allowing or disallowing all tools time\nsync with host.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "boolean"
          },
          "sevSupported": {
            "description": "Indicates support for AMD-SEV (Secure Encrypted Virtualization).\n\nSEV is\nsupported when set to true, and unsupported otherwise.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "boolean"
          },
          "pmemFailoverSupported": {
            "description": "Indicates support for failover to a dfferent host on VM's with pmem.\n\nFailover is supported when set to true, and unsupported otherwise.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "requireSgxAttestationSupported": {
            "description": "Whether the VM supports requiring SGX remote attestation.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "changeModeDisksSupported": {
            "description": "Indicates support for change mode on virtual disks\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "vendorDeviceGroupSupported": {
            "description": "Indicates support for Vendor Device Groups\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "snapshotOperationsSupported",
          "multipleSnapshotsSupported",
          "snapshotConfigSupported",
          "poweredOffSnapshotsSupported",
          "memorySnapshotsSupported",
          "revertToSnapshotSupported",
          "quiescedSnapshotsSupported",
          "disableSnapshotsSupported",
          "lockSnapshotsSupported",
          "consolePreferencesSupported",
          "cpuFeatureMaskSupported",
          "s1AcpiManagementSupported",
          "settingScreenResolutionSupported",
          "toolsAutoUpdateSupported",
          "vmNpivWwnSupported",
          "npivWwnOnNonRdmVmSupported",
          "vmNpivWwnDisableSupported",
          "vmNpivWwnUpdateSupported",
          "swapPlacementSupported",
          "toolsSyncTimeSupported",
          "virtualMmuUsageSupported",
          "diskSharesSupported",
          "bootOptionsSupported",
          "bootRetryOptionsSupported",
          "settingVideoRamSizeSupported",
          "settingDisplayTopologySupported",
          "recordReplaySupported",
          "changeTrackingSupported",
          "multipleCoresPerSocketSupported",
          "hostBasedReplicationSupported",
          "guestAutoLockSupported",
          "memoryReservationLockSupported",
          "featureRequirementSupported",
          "poweredOnMonitorTypeChangeSupported",
          "seSparseDiskSupported",
          "nestedHVSupported",
          "vPMCSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineCapability": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineCapability*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCapability"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineCdromInfo": {
        "type": "object",
        "description": "CdromInfo class contains information about a physical CD-ROM drive on the host.\n",
        "properties": {
          "description": {
            "description": "Description of the physical device.\n\nThis is set only by the server.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineCdromInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineCdromInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCdromInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineCertThumbprint": {
        "type": "object",
        "description": "Describes a single certificate thumbprint that can be used to verify\nthe identity of the host before connecting to a running virtual machine.\n\n***Since:*** vSphere API Release 7.0.3.1\n",
        "properties": {
          "thumbprint": {
            "description": "The thumbprint of the certificate of the host to which we are\nconnecting.\n",
            "type": "string"
          },
          "hashAlgorithm": {
            "description": "The hash algorithm used to generate the thumbprint.\n\n*VirtualMachineCertThumbprintHashAlgorithm_enum* lists the set of supported values.\n",
            "type": "string"
          }
        },
        "required": [
          "thumbprint"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineCertThumbprint": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineCertThumbprint*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCertThumbprint"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineCloneSpec": {
        "type": "object",
        "description": "Specification for a virtual machine cloning operation.\n",
        "properties": {
          "location": {
            "description": "A type of RelocateSpec that specifies the location of resources the\nnewly cloned virtual machine will use.\n\nThe location specifies:\n- A datastore where the virtual machine will be located on physical\n  storage.\n  This is always provided because it indicates where the newly\n  created clone will be copied.\n- a resource pool and optionally a host. The resource pool\n  determines what compute resources will be available to the clone\n  and the host indicates which machine will host the clone.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
          },
          "template": {
            "description": "Specifies whether or not the new virtual machine should be marked as a\ntemplate.\n",
            "type": "boolean"
          },
          "config": {
            "description": "An optional specification of changes to the virtual hardware.\n\nFor example, this can be used to, (but not limited to) reconfigure the\nnetworks the virtual switches are hooked up to in the cloned virtual\nmachine.\nUse *VirtualMachineRelocateSpec.deviceChange* in\n*VirtualMachineCloneSpec.location*\nfor specifying any virtual device changes for disks and networks.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          },
          "customization": {
            "description": "An optional guest operating system customization specification.\n\nThis value is ignored if a template is being created.\n",
            "$ref": "#/components/schemas/CustomizationSpec"
          },
          "powerOn": {
            "description": "Specifies whether or not the new VirtualMachine should be powered on\nafter creation.\n\nAs part of a customization, this flag is normally set\nto true, since the first power-on operation completes the customization\nprocess. This flag is ignored if a template is being created.\n",
            "type": "boolean"
          },
          "snapshot": {
            "description": "Snapshot reference from which to base the clone.\n\nIf this parameter is set, the clone is based off of the snapshot\npoint. This means that the newly created virtual machine will\nhave the same configuration as the virtual machine at the time\nthe snapshot was taken.\n\nIf this property is not set then the clone is based off of the\nvirtual machine's current configuration.\n\nSetting this is only supported if the host this virtual machine\nis currently residing on\n*supports cloning from a snapshot point*. Such support does not need to\nexist on the destination host for the clone.\n\nSetting this is only supported if the virtual machine supports\nreporting snapshot configuration information. See *VirtualMachineCapability.snapshotConfigSupported*. Such support does not need\nto exist on the destination host for the clone.\n\nRefers instance of *VirtualMachineSnapshot*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "memory": {
            "description": "Flag indicating whether to retain a copy of the source virtual machine's\nmemory state in the clone.\n\nRetaining the memory state during\nclone results in a clone in suspended state with all network adapters\nremoved to avoid network conflicts, except those with a\nVirtualEthernetCard.addressType of \"manual\".\nUsers of this flag should take special care so that, when adding a network\nadapter back to the clone, the VM is not resumed on the same VM network\nas the source VM, or else MAC address conflicts could occur.\nWhen cloning between two hosts with different CPUs outside an EVC cluster,\nusers of this flag should be aware that vCenter does not verify\nCPU compatibility between the clone's memory state and the target host\nprior to the clone operation, so the clone may fail to resume\nuntil it is migrated to a host with a compatible CPU.\n\nThis flag is ignored if the snapshot parameter is unset. This flag\nonly applies for a snapshot taken on a running or suspended\nvirtual machine with the 'memory' parameter set to true, because otherwise\nthe snapshot has no memory state. This flag defaults to false.\n",
            "type": "boolean"
          },
          "tpmProvisionPolicy": {
            "description": "Provisioning policy for virtual TPM devices during VM clone operations.\n\nThe list of supported values is defined in *VirtualMachineCloneSpecTpmProvisionPolicy_enum*.\n\nIf unset - a globally defined policy is used, which by default is set to\n'copy'.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          }
        },
        "required": [
          "location",
          "template",
          "powerOn"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineCloneSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineCloneSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCloneSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConfigInfo": {
        "type": "object",
        "description": "The ConfigInfo data object type encapsulates the configuration settings and\nvirtual hardware for a virtual machine.\n\nThis type holds all the information\nthat is present in the .vmx configuration file for the virtual machine.\n",
        "properties": {
          "changeVersion": {
            "description": "The changeVersion is a unique identifier for a given version\nof the configuration.\n\nEach change to the configuration\nupdates this value. This is typically implemented as an ever\nincreasing count or a time-stamp. However, a client should\nalways treat this as an opaque string.\n",
            "type": "string"
          },
          "modified": {
            "description": "Last time a virtual machine's configuration was modified.\n",
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "description": "Display name of the virtual machine.\n\nAny / (slash), \\\\ (backslash), character used in this\nname element is escaped. Similarly, any % (percent) character used in\nthis name element is escaped, unless it is used to start an escape\nsequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or\n%5c, and a percent is escaped as %25.\n",
            "type": "string"
          },
          "guestFullName": {
            "description": "This is the full name of the guest operating system for the virtual machine.\n\nFor example: Windows 2000 Professional.\n\nSee also *VirtualMachineConfigInfo.alternateGuestName*.\n",
            "type": "string"
          },
          "version": {
            "description": "The version string for this virtual machine.\n",
            "type": "string"
          },
          "uuid": {
            "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string\nin \"12345678-abcd-1234-cdef-123456789abc\" format.\n",
            "type": "string"
          },
          "createDate": {
            "description": "Time the virtual machine's configuration was created.\n",
            "type": "string",
            "format": "date-time"
          },
          "instanceUuid": {
            "description": "VirtualCenter-specific 128-bit UUID of a virtual machine, represented\nas a hexademical string.\n\nThis identifier is used by VirtualCenter to\nuniquely identify all virtual machine instances, including those that\nmay share the same SMBIOS UUID.\n",
            "type": "string"
          },
          "npivNodeWorldWideName": {
            "description": "A 64-bit node WWN (World Wide Name).\n\nThese WWNs are paired with the\n*VirtualMachineConfigInfo.npivPortWorldWideName* to be used by the NPIV VPORTs instantiated for the\nvirtual machine on the physical HBAs of the host. A pair of node and port WWNs\nserves as a unique identifier in accessing a LUN, so that it can be monitored or\ncontrolled by the storage administrator.\n\nIf this property contains a single node WWN, the same node WWN is used to pair\nwith all port WWNs listed in *VirtualMachineConfigInfo.npivPortWorldWideName*. If this property or\n*VirtualMachineConfigInfo.npivPortWorldWideName* is empty or unset, NPIV WWN is disabled for the\nvirtual machine.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "npivPortWorldWideName": {
            "description": "A 64-bit port WWN (World Wide Name).\n\nFor detail description on WWN, see\n*VirtualMachineConfigInfo.npivNodeWorldWideName*.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "npivWorldWideNameType": {
            "description": "The source that provides/generates the assigned WWNs.\n\nSee also *VirtualMachineConfigInfoNpivWwnType_enum*.\n",
            "type": "string"
          },
          "npivDesiredNodeWwns": {
            "description": "The NPIV node WWNs to be extended from the original list of WWN nummbers.\n\nThis\nproperty should be set to desired number which is an aggregate of existing\nplus new numbers. Desired Node WWNs should always be greater than the existing\nnumber of node WWNs\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "npivDesiredPortWwns": {
            "description": "The NPIV port WWNs to be extended from the original list of WWN nummbers.\n\nThis\nproperty should be set to desired number which is an aggregate of existing\nplus new numbers. Desired Node WWNs should always be greater than the existing\nnumber of port WWNs\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "npivTemporaryDisabled": {
            "description": "This property is used to enable or disable the NPIV capability on a desired\nvirtual machine on a temporary basis.\n\nWhen this property is set NPIV Vport\nwill not be instantiated by the VMX process of the Virtual Machine. When this\nproperty is set port WWNs and node WWNs in the VM configuration are preserved.\n",
            "type": "boolean"
          },
          "npivOnNonRdmDisks": {
            "description": "This property is used to check whether the NPIV can be enabled on the Virtual\nmachine with non-rdm disks in the configuration, so this is potentially not\nenabling npiv on vmfs disks.\n\nAlso this property is used to check whether RDM\nis required to generate WWNs for a virtual machine.\n",
            "type": "boolean"
          },
          "locationId": {
            "description": "Hash incorporating the virtual machine's config file location\nand the UUID of the host assigned to run the virtual machine.\n",
            "type": "string"
          },
          "template": {
            "description": "Flag indicating whether or not a virtual machine is a template.\n",
            "type": "boolean"
          },
          "guestId": {
            "description": "Guest operating system configured on a virtual machine.\n\nThis is a guest identifier that can be used to access the\n*GuestOsDescriptor*\nlist for information about default configuration.\nFor more information on possible values, see\n*VirtualMachineGuestOsIdentifier*.\n",
            "type": "string"
          },
          "alternateGuestName": {
            "description": "Used as display name for the operating system if guestId is `other`\nor `other-64`.\n\nSee also *VirtualMachineConfigInfo.guestFullName*.\n",
            "type": "string"
          },
          "annotation": {
            "description": "Description for the virtual machine.\n",
            "type": "string"
          },
          "files": {
            "description": "Information about the files associated with a virtual machine.\n\nThis information does not include files for specific virtual disks or\nsnapshots.\n",
            "$ref": "#/components/schemas/VirtualMachineFileInfo"
          },
          "tools": {
            "description": "Configuration of VMware Tools running in the guest operating system.\n",
            "$ref": "#/components/schemas/ToolsConfigInfo"
          },
          "flags": {
            "description": "Additional flags for a virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineFlagInfo"
          },
          "consolePreferences": {
            "description": "Legacy console viewer preferences when doing power operations.\n",
            "$ref": "#/components/schemas/VirtualMachineConsolePreferences"
          },
          "defaultPowerOps": {
            "description": "Configuration of default power operations.\n",
            "$ref": "#/components/schemas/VirtualMachineDefaultPowerOpInfo"
          },
          "rebootPowerOff": {
            "description": "Whether the next reboot will result in a power off.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "hardware": {
            "description": "Processor, memory, and virtual devices for a virtual machine.\n",
            "$ref": "#/components/schemas/VirtualHardware"
          },
          "vcpuConfig": {
            "description": "Vcpu configuration.\n\nThe <code>vcpuConfig</code> array is indexed\nby vcpu number.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVcpuConfig"
            }
          },
          "cpuAllocation": {
            "description": "Resource limits for CPU.\n",
            "$ref": "#/components/schemas/ResourceAllocationInfo"
          },
          "memoryAllocation": {
            "description": "Resource limits for memory.\n",
            "$ref": "#/components/schemas/ResourceAllocationInfo"
          },
          "latencySensitivity": {
            "description": "The latency-sensitivity of the virtual machine.\n",
            "$ref": "#/components/schemas/LatencySensitivity"
          },
          "memoryHotAddEnabled": {
            "description": "Whether memory can be added while this virtual machine is running.\n",
            "type": "boolean"
          },
          "cpuHotAddEnabled": {
            "description": "Whether virtual processors can be added while this\nvirtual machine is running.\n",
            "type": "boolean"
          },
          "cpuHotRemoveEnabled": {
            "description": "Whether virtual processors can be removed while this\nvirtual machine is running.\n",
            "type": "boolean"
          },
          "hotPlugMemoryLimit": {
            "description": "The maximum amount of memory, in MB, than can be added to a\nrunning virtual machine.\n\nThis value is determined by the\nvirtual machine and is specified only if\n*VirtualMachineConfigInfo.memoryHotAddEnabled*\nis set to true.\n",
            "type": "integer",
            "format": "int64"
          },
          "hotPlugMemoryIncrementSize": {
            "description": "Memory, in MB that can be added to a running virtual machine\nmust be in increments of this value and needs be a\nmultiple of this value.\n\nThis value is determined by the virtual machine and is specified\nonly if *VirtualMachineConfigSpec.memoryHotAddEnabled*\nhas been set to true.\n",
            "type": "integer",
            "format": "int64"
          },
          "cpuAffinity": {
            "description": "Affinity settings for CPU.\n",
            "$ref": "#/components/schemas/VirtualMachineAffinityInfo"
          },
          "memoryAffinity": {
            "deprecated": true,
            "description": "Deprecated since vSphere 6.0.\n\nAffinity settings for memory.\n",
            "$ref": "#/components/schemas/VirtualMachineAffinityInfo"
          },
          "networkShaper": {
            "deprecated": true,
            "description": "Deprecated from vSphere 5.5, shaping policy on VM is not supported.\n\nResource limits for network.\n",
            "$ref": "#/components/schemas/VirtualMachineNetworkShaperInfo"
          },
          "extraConfig": {
            "description": "Additional configuration information for the virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          },
          "cpuFeatureMask": {
            "description": "Specifies CPU feature compatibility masks that override the\ndefaults from the *GuestOsDescriptor*\nof the virtual machine's guest OS.\n\nAs of vSphere API 6.5 *FeatureMask*\nis the recommended method for masking virtual machines with\nhardware version 9 and above (newer). They can be viewed via\n*featureMask*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuIdInfo"
            }
          },
          "datastoreUrl": {
            "description": "Enumerates the set of datastores that this virtual machine is\nstored on, as well as the URL identification for each of these.\n\nChanges to datastores do not generate property updates on this\nproperty. However, when this property is retrieved it returns the\ncurrent datastore information.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConfigInfoDatastoreUrlPair"
            }
          },
          "swapPlacement": {
            "description": "Virtual machine swapfile placement policy.\n\nThis will be unset if the\nvirtual machine's\n*swapPlacementSupported*\ncapability is false. If swapPlacementSupported is true, the default\npolicy is \"inherit\".\n\nSee also *VirtualMachineConfigInfoSwapPlacementType_enum*.\n",
            "type": "string"
          },
          "bootOptions": {
            "description": "Configuration options for the boot behavior of the virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineBootOptions"
          },
          "ftInfo": {
            "description": "Fault Tolerance settings for this virtual machine.\n",
            "$ref": "#/components/schemas/FaultToleranceConfigInfo"
          },
          "repConfig": {
            "description": "vSphere Replication settings for this virtual machine.\n\nNote this may become deprecated in the future releases. We discourage\nany unnecessary dependency on this field.\n",
            "$ref": "#/components/schemas/ReplicationConfigSpec"
          },
          "vAppConfig": {
            "description": "vApp meta-data for the virtual machine\n",
            "$ref": "#/components/schemas/VmConfigInfo"
          },
          "vAssertsEnabled": {
            "description": "Indicates whether user-configured virtual asserts will be\ntriggered during virtual machine replay.\n",
            "type": "boolean"
          },
          "changeTrackingEnabled": {
            "description": "Indicates whether changed block tracking for this VM's disks\nis active.\n",
            "type": "boolean"
          },
          "firmware": {
            "description": "Information about firmware type for this Virtual Machine.\n\nPossible values are described in\n*GuestOsDescriptorFirmwareType_enum*\nWhen creating a new VM:\n\\- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code> and\nthis property is set to <code>bios</code>, error is returned.\n\\- If this property is unset and vim.vm.FlagInfo.vbsEnabled is set\nto <code>true</code>, this property is set to <code>efi</code>.\n",
            "type": "string"
          },
          "maxMksConnections": {
            "description": "Indicates the maximum number of active remote display connections\nthat the virtual machine will support.\n",
            "type": "integer",
            "format": "int32"
          },
          "guestAutoLockEnabled": {
            "description": "Indicates whether the guest operating system will logout any active\nsessions whenever there are no remote display connections open to\nthe virtual machine.\n",
            "type": "boolean"
          },
          "managedBy": {
            "description": "Specifies that this VM is managed by a VC Extension.\n\nSee the\n*managedBy* property in the ConfigSpec\nfor more details.\n",
            "$ref": "#/components/schemas/ManagedByInfo"
          },
          "memoryReservationLockedToMax": {
            "description": "If set true, memory resource reservation for this virtual machine will always be\nequal to the virtual machine's memory size; increases in memory size will be\nrejected when a corresponding reservation increase is not possible.\n",
            "type": "boolean"
          },
          "initialOverhead": {
            "description": "Set of values to be used only to perform admission control when\ndetermining if a host has sufficient resources for the virtual\nmachine to power on.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigInfoOverheadInfo"
          },
          "nestedHVEnabled": {
            "description": "Indicates whether this VM is configured to use nested\nhardware-assisted virtualization.\n",
            "type": "boolean"
          },
          "vPMCEnabled": {
            "description": "Indicates whether this VM have vurtual CPU performance counters\nenabled.\n",
            "type": "boolean"
          },
          "scheduledHardwareUpgradeInfo": {
            "description": "Configuration of scheduled hardware upgrades and result from last\nattempt to run scheduled hardware upgrade.\n\nSee also *ScheduledHardwareUpgradeInfo*.\n",
            "$ref": "#/components/schemas/ScheduledHardwareUpgradeInfo"
          },
          "forkConfigInfo": {
            "description": "Fork configuration of this virtual machines.\n\nIf unset, this virtual machine\nis not configured for fork.\n\nSee also *VirtualMachineForkConfigInfo*.\n",
            "$ref": "#/components/schemas/VirtualMachineForkConfigInfo"
          },
          "vFlashCacheReservation": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nSpecifies the total vFlash resource reservation for the vFlash caches associated\nwith this VM's virtual disks, in bytes.\n\nThis reservation must be allocated to power on the VM.\nSee *VirtualMachineRuntimeInfo.vFlashCacheAllocation* for allocated\nreservation when VM is powered on.\n",
            "type": "integer",
            "format": "int64"
          },
          "vmxConfigChecksum": {
            "description": "A checksum of vmx config file.\n",
            "type": "string",
            "format": "byte"
          },
          "messageBusTunnelEnabled": {
            "description": "Whether to allow tunneling of clients from the guest VM into the\ncommon message bus on the host network.\n",
            "type": "boolean"
          },
          "vmStorageObjectId": {
            "description": "Virtual Machine Object Identifier.\n\nWith Object-based Storage systems, Virtual Machine home directory\nis backed by an object.\nThis identifier will be set only if VM directory resided on\nobject-based storage systems.\n",
            "type": "string"
          },
          "swapStorageObjectId": {
            "description": "Virtual Machine Swap Object Identifier.\n\nWith Object-based Storage systems, VM's Swap is backed by an object.\nThis identifier will be set only if VM swap resided on\nobject-based storage systems.\n",
            "type": "string"
          },
          "keyId": {
            "description": "Virtual Machine cryptographic options.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "guestIntegrityInfo": {
            "description": "Guest integrity platform configuration\n",
            "$ref": "#/components/schemas/VirtualMachineGuestIntegrityInfo"
          },
          "migrateEncryption": {
            "description": "An enum describing whether encrypted vMotion is required for this VM.\n\nSee *VirtualMachineConfigSpecEncryptedVMotionModes_enum* for allowed values.\nThis defaults to opportunistic for a regular VM, and will be set to\nrequired for an encrypted VM.\n",
            "type": "string"
          },
          "sgxInfo": {
            "description": "Configuration of SGX, Software Guard Extensions for the VM.\n",
            "$ref": "#/components/schemas/VirtualMachineSgxInfo"
          },
          "contentLibItemInfo": {
            "description": "Content Library Item info.\n",
            "$ref": "#/components/schemas/VirtualMachineContentLibraryItemInfo"
          },
          "ftEncryptionMode": {
            "description": "An enum describing whether encrypted Fault Tolerance is required for this\nVM.\n\nSee *VirtualMachineConfigSpecEncryptedFtModes_enum* for allowed values.\n\\- This defaults to opportunistic for a regular VM, and will be set to\nrequired for an encrypted VM.\n\\- If this property is unset, the mode of encrypted Fault Tolerance\nwill be set to opportunistic.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          },
          "guestMonitoringModeInfo": {
            "description": "GMM configuration\n",
            "$ref": "#/components/schemas/VirtualMachineGuestMonitoringModeInfo"
          },
          "sevEnabled": {
            "description": "SEV (Secure Encrypted Virtualization) enabled or not.\n\nSEV is enabled\nwhen set to true, and disabled otherwise.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "boolean"
          },
          "numaInfo": {
            "description": "vNUMA info.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/VirtualMachineVirtualNumaInfo"
          },
          "pmemFailoverEnabled": {
            "description": "Property to indicate PMem HA failover configuration.\n\n\\- When set to TRUE, VMs configured to use PMem\nwill be failed over to other hosts by HA, but the data\nin NVDIMM is not persistent.\n\\- When set to FALSE, VMs configured to use PMem will not\nbe failed over to other hosts by HA.\nProperty is currently only applicable to VMs with NVDimms and\nwill fail to set True if vPMem disks are present.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "vmxStatsCollectionEnabled": {
            "description": "Indicates whether VMXStats Collection is enabled/disabled.\n\n\\- If TRUE, VMXStats is enabled for the VM and a scoreboard\nfile is created to store stats for various VMX components.\n\\- If FALSE, VMXStats is disabled for the VM and there is\nno scoreboard file created.\n\n***Since:*** vSphere API Release 7.0.3.1\n",
            "type": "boolean"
          },
          "vmOpNotificationToAppEnabled": {
            "description": "Indicates whether operation notification to applications is\nenabled/disabled.\n\n\\- When set to TRUE, application running inside the VM will be\nnotified of operations for which they have registered.\n\\- If unset or FALSE, new applications are not allowed to register\nfor notifications and RPCs will no longer be supported from\nalready registered applications.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "vmOpNotificationTimeout": {
            "description": "Operation notification timeout in seconds.\n\n\\- Specifies the maximum time the application can take to\nprepare for the operation after its been notified. This value is used\nonly if *VirtualMachineConfigInfo.vmOpNotificationToAppEnabled* is set to TRUE.\n\\- If *VirtualMachineConfigInfo.vmOpNotificationTimeout* is unset, then it defaults to\ncluster/host timeout.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int64"
          },
          "deviceSwap": {
            "description": "Status of the device swap operation.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/VirtualMachineVirtualDeviceSwap"
          },
          "pmem": {
            "description": "Virtual persistent memory info.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "$ref": "#/components/schemas/VirtualMachineVirtualPMem"
          },
          "deviceGroups": {
            "description": "Assignable hardware device groups.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/VirtualMachineVirtualDeviceGroups"
          },
          "fixedPassthruHotPlugEnabled": {
            "description": "Indicates whether support to add and remove fixed passthrough\ndevices when the VM is running is enabled.\n\nWhen the virtual machine is powered on, this indicates if\nsupport for hot adding and removing fixed passthrough devices\nwas enabled prior to power on. Otherwise, it indicates whether\nit will be enabled when the VM is powered on.\nNOTE: When setting this to true, the memory reservation should\nbe equal to the guest memory size or the option to reserve all\nguest memory should be selected. If unset, the current value is\nleft unchanged.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          },
          "metroFtEnabled": {
            "description": "Indicates whether FT Metro Cluster is enabled/disabled.\n\n\\- If TRUE, FT Metro Cluster is enabled for the VM. An implicit\nAnti-HostGroup will be generated from HostGroup defined for FT\nprimary, then affine the primary with one HostGroup and affine the\nsecondary with another HostGroup.\n\\- If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT\nprimary and secondary will be put in the same HostGroup.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          },
          "metroFtHostGroup": {
            "description": "Indicate the Host Group (*ClusterHostGroup*) for FT\nMetro Cluster enabled Virtual Machine.\n\nBased on the selected Host Group, FT can divide the hosts in the cluster\ninto two groups and ensure to place FT primary and FT secondary in\ndifferent groups.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          }
        },
        "required": [
          "changeVersion",
          "modified",
          "name",
          "guestFullName",
          "version",
          "uuid",
          "template",
          "guestId",
          "alternateGuestName",
          "files",
          "flags",
          "defaultPowerOps",
          "hardware"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConfigInfoDatastoreUrlPair": {
        "type": "object",
        "description": "Contains the name of a datastore, and its local file path on the host\ncurrently affiliated with this virtual machine.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineConfigInfoDatastoreUrlPair": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConfigInfoDatastoreUrlPair*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConfigInfoDatastoreUrlPair"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConfigInfoOverheadInfo": {
        "type": "object",
        "description": "Information about virtualization overhead required to power on the\nvirtual machine on the registered host.\n",
        "properties": {
          "initialMemoryReservation": {
            "description": "Memory overhead required for virtual machine to be powered on (in bytes).\n",
            "type": "integer",
            "format": "int64"
          },
          "initialSwapReservation": {
            "description": "Disk space required for virtual machine to be powered on (in bytes).\n\nThis space is used by virtualization infrastructure to swap out\nvirtual machine process memory. Location of the file is specified by\nsched.swap.vmxSwapDir virtual machinge advanced config option or\nin case it is not specified - current virtual machine home directory\nis being used.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineConfigInfoOverheadInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConfigInfoOverheadInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConfigInfoOverheadInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConfigOption": {
        "type": "object",
        "description": "This configuration data object type contains information about the execution\nenvironment for a virtual machine.\n\nThis includes information about which features are\nsupported, such as:\n- Which guest operating systems are supported.\n- How devices are emulated. For example, that a CD-ROM drive can be emulated\n  with a file or that a serial port can be emulated with a pipe.\n  \nVirtualCenter can provide a broader environment than any single physical host. This\nis a departure from traditional virtualization approaches, which rely on the host\nsystem to define the environment for virtual machines. This data object describes\nenvironment capabilities and is used by VirtualCenter to choose hosts on which to run\nvirtual machines.\n",
        "properties": {
          "version": {
            "description": "The version corresponding to this configOption.\n",
            "type": "string"
          },
          "description": {
            "description": "A description string for this configOption.\n",
            "type": "string"
          },
          "guestOSDescriptor": {
            "description": "List of supported guest operating systems.\n\nThe choice of guest operating system may limit the set of valid devices.\nFor example, you cannot select Vmxnet with all guest operating systems.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestOsDescriptor"
            }
          },
          "guestOSDefaultIndex": {
            "description": "Index into guestOsDescriptor array denoting the default guest\noperating system.\n",
            "type": "integer",
            "format": "int32"
          },
          "hardwareOptions": {
            "description": "Processor, memory, and virtual device options for a virtual machine.\n",
            "$ref": "#/components/schemas/VirtualHardwareOption"
          },
          "capabilities": {
            "description": "Capabilities supported by a virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineCapability"
          },
          "datastore": {
            "description": "The datastore options for this virtual machine.\n",
            "$ref": "#/components/schemas/DatastoreOption"
          },
          "defaultDevice": {
            "description": "The list of virtual devices that are created on a virtual machine by default.\n\nClients should not create these devices.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDevice"
            }
          },
          "supportedMonitorType": {
            "description": "The monitor types supported by a host.\n\nThe acceptable monitor types\nare enumerated by *VirtualMachineFlagInfoMonitorType_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supportedOvfEnvironmentTransport": {
            "description": "Specifies the supported property transports that are\navailable for the OVF environment\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supportedOvfInstallTransport": {
            "description": "Specifies the supported transports for the OVF\ninstallation phase.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "propertyRelations": {
            "description": "The relations between the properties of the virtual\nmachine config spec.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachinePropertyRelation"
            }
          }
        },
        "required": [
          "version",
          "description",
          "guestOSDescriptor",
          "guestOSDefaultIndex",
          "hardwareOptions",
          "capabilities",
          "datastore",
          "supportedMonitorType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineConfigOption": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConfigOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConfigOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConfigOptionDescriptor": {
        "type": "object",
        "description": "Contains the definition of a unique key that can be used to\nretrieve a configOption object.\n",
        "properties": {
          "key": {
            "description": "A unique key used to identify a configOption object in this\n*EnvironmentBrowser*.\n",
            "type": "string"
          },
          "description": {
            "description": "A description of the configOption object.\n",
            "type": "string"
          },
          "host": {
            "description": "List of hosts to which this descriptor applies.\n\nList of hosts is not set when descriptor is returned\nfrom *Datacenter.queryDatacenterConfigOptionDescriptor*.\n\nRefers instances of *HostSystem*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "createSupported": {
            "description": "Indicates whether the associated set of configuration options\ncan be used for virtual machine creation on a given host or\ncluster.\n",
            "type": "boolean"
          },
          "defaultConfigOption": {
            "description": "Indicates whether the associated set of virtual machine\nconfiguration options is the default one for a given host or\ncluster.\n\nLatest version is marked as default unless\nother version is specified via\n*ComputeResourceConfigInfo.defaultHardwareVersionKey*\nor *DatacenterConfigInfo.defaultHardwareVersionKey*.\nIf this setting is TRUE, virtual machine creates will use the\nassociated set of configuration options, unless a config version is\nexplicitly specified in the *ConfigSpec*.\n",
            "type": "boolean"
          },
          "runSupported": {
            "description": "Indicates whether the associated set of configuration options\ncan be used to power on a virtual machine on a given host or\ncluster.\n",
            "type": "boolean"
          },
          "upgradeSupported": {
            "description": "Indicates whether the associated set of configuration options\ncan be used as a virtual hardware upgrade target.\n",
            "type": "boolean"
          }
        },
        "required": [
          "key",
          "createSupported",
          "defaultConfigOption",
          "runSupported",
          "upgradeSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineConfigOptionDescriptor": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConfigOptionDescriptor*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConfigOptionDescriptor"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConfigSpec": {
        "type": "object",
        "description": "This data object type encapsulates configuration settings\nwhen creating or reconfiguring a virtual machine.\n\nTo support incremental changes,\nthese properties are all optional. If an optional property is unset,\nor any nested optional property is unset, the property will not\nbe changed unless 'unset' is a valid value for the property. To determine\nwhether 'unset' is a valid value for a particular property, refer to\nthe documentation for that property.\n",
        "properties": {
          "changeVersion": {
            "description": "If specified, the changes are only applied if the current changeVersion matches\nthe specified changeVersion.\n\nThis field can be used to guard against updates that\nhave happened between when configInfo is read and when it is applied.\n\nFor more information about how configurations are uniquely identified, see\n*VirtualMachineConfigInfo.changeVersion*.\n",
            "type": "string"
          },
          "name": {
            "description": "Display name of the virtual machine.\n\nAny % (percent) character used in this name parameter must be escaped, unless it\nis used to start an escape sequence. Clients may also escape any other characters\nin this name parameter. Snapshots of virtual machines that have spaces in their\nnames and are associated with ESX 2.x servers are not supported. Therefore, if you\nwant the option to take snapshots of this virtual machine and you are associating\nit with an ESX 2.x server, do not use spaces in the name.\n\nReconfigure privilege: VirtualMachine.Config.Rename\n",
            "type": "string"
          },
          "version": {
            "description": "The version string for this virtual machine.\n\nThis is used only while\ncreating a new virtual machine, and can be updated by invoking\n*VirtualMachine.UpgradeVM_Task* for this virtual\nmachine.\n",
            "type": "string"
          },
          "createDate": {
            "description": "Creation date of a virtual machine represented in DateTime format.\n\nThis property is populated by the vCenter Server with the date\nand time of creation of the virtual machine. Values provided by the\nclient will be ignored.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "type": "string",
            "format": "date-time"
          },
          "uuid": {
            "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string\nin \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nNormally, this property is not set by a client, allowing the\nVirtual Infrastructure environment to assign a UUID when\nthe virtual machine is created. However, in some rare cases,\nsuch as a manual copy of a virtual machine, it may be necessary\nto set this property.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "type": "string"
          },
          "instanceUuid": {
            "description": "VirtualCenter-specific 128-bit UUID of a virtual machine, represented\nas a hexadecimal string.\n\nThis identifier is used by VirtalCenter\nto uniquely identify all virtual machine instances in the Virtual\nInfrastructure environment, including those that may share the same\nSMBIOS UUID.\n\nNormally, this property is not set by a client, allowing the\nVirtual Infrastructure environment to assign or change it when\nVirtualCenter detects an identifier conflict between virtual\nmachines. This identifier can be modified even when a virtual\nmachine is powered on. Clients can specify that vCenter Server\nreassign a new identifier by a providing an empty string. Reassigning\nthe identifer is not allowed for Fault Tolerance virtual machines.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "type": "string"
          },
          "npivNodeWorldWideName": {
            "description": "The NPIV node WWN to be assigned to a virtual machine.\n\nThis property should only\nbe used or set when the value of *VirtualMachineConfigSpec.npivWorldWideNameOp* property is \"set\".\nOtherwise, an *InvalidVmConfig* fault will be thrown. If the\nspecified node WWN is currently being used by another virtual machine, a\n*VmWwnConflict* fault will be thrown.\n\nFor detail description on WWN, see *VirtualMachineConfigInfo.npivNodeWorldWideName*.\n\nReconfigure privilege: VirtualMachine.Config.Settings.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "npivPortWorldWideName": {
            "description": "The NPIV port WWN to be assigned to a virtual machine.\n\nThis property should only\nbe used or set when the value of *VirtualMachineConfigSpec.npivWorldWideNameOp* property is \"set\".\nOtherwise, an *InvalidVmConfig* fault will be thrown. If the\nspecified port WWN is currently being used by another virtual machine, a\n*VmWwnConflict* fault will be thrown.\n\nFor detail description on WWN, see *VirtualMachineConfigInfo.npivPortWorldWideName*.\n\nReconfigure privilege: VirtualMachine.Config.Settings.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "npivWorldWideNameType": {
            "description": "This property is used internally in the communication between the\nVirtualCenter server and ESX Server to indicate the source for\n*VirtualMachineConfigSpec.npivNodeWorldWideName* and\n*VirtualMachineConfigSpec.npivPortWorldWideName* when *VirtualMachineConfigSpec.npivWorldWideNameOp* is \"set\".\n\nThis property should only be set by the VirtualCenter server.\n\nIf this property is set in a call to a VirtualCenter server,\nan *InvalidVmConfig* fault will always be thrown. In a\ncall to an ESX Server host, an *InvalidVmConfig*\nfault will be thrown if the value of *VirtualMachineConfigSpec.npivWorldWideNameOp* is not set to\n\"set\".\n\nReconfigure privilege: VirtualMachine.Config.Settings.\n",
            "type": "string"
          },
          "npivDesiredNodeWwns": {
            "description": "The NPIV node WWNs to be extended from the original list of WWN nummbers.\n\nThis\nproperty should be set to desired number which is an aggregate of existing\nplus new numbers. Desired Node WWNs should always be greater than the existing\nnumber of node WWNs\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "npivDesiredPortWwns": {
            "description": "The NPIV port WWNs to be extended from the original list of WWN nummbers.\n\nThis\nproperty should be set to desired number which is an aggregate of existing\nplus new numbers. Desired Node WWNs should always be greater than the existing\nnumber of port WWNs\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          },
          "npivTemporaryDisabled": {
            "description": "This property is used to enable or disable the NPIV capability on a desired\nvirtual machine on a temporary basis.\n\nWhen this property is set NPIV Vport\nwill not be instantiated by the VMX process of the Virtual Machine. When this\nproperty is set port WWNs and node WWNs in the VM configuration are preserved.\n\nReconfigure privilege: VirtualMachine.Config.Settings.\n",
            "type": "boolean"
          },
          "npivOnNonRdmDisks": {
            "description": "This property is used to check whether the NPIV can be enabled on the Virtual\nmachine with non-rdm disks in the configuration, so this is potentially not\nenabling npiv on vmfs disks.\n\nAlso this property is used to check whether RDM\nis required to generate WWNs for a virtual machine.\n",
            "type": "boolean"
          },
          "npivWorldWideNameOp": {
            "description": "The flag to indicate what type of NPIV WWN operation is going to be performed\non the virtual machine.\n\nIf unset, it indicates no change to existing NPIV WWN\nassignment (or not assigned) in the virtual machine.\n\nReconfigure privilege: VirtualMachine.Config.Settings.\n\nSee also *VirtualMachineConfigSpecNpivWwnOp_enum*.\n",
            "type": "string"
          },
          "locationId": {
            "description": "128-bit hash based on the virtual machine's configuration file location\nand the UUID of the host assigned to run the virtual machine.\n\nNormally, this property is not set by a client, allowing the\nVirtual Infrastructure environment to assign a location ID when\nthe virtual machine is created. However, if the virtual machine's\nconfiguration file has been manually moved, it may be desirable to clear this\nproperty, setting it to an empty string, so the property is regenerated.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "type": "string"
          },
          "guestId": {
            "description": "Short guest operating system identifier.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "type": "string"
          },
          "alternateGuestName": {
            "description": "Full name for guest, if guestId is specified as `other`\nor `other-64`.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "type": "string"
          },
          "annotation": {
            "description": "User-provided description of the virtual machine.\n\nBecause this property\nis optional in the virtual machine configuration, it is necessary\nto pass an explicit empty string in a ConfigSpec object to remove an annotation\nthat is already present in the *VirtualMachineConfigInfo*\nfor a virtual machine.\n\nReconfigure privilege: VirtualMachine.Config.Rename\n",
            "type": "string"
          },
          "files": {
            "description": "Information about virtual machine files.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "$ref": "#/components/schemas/VirtualMachineFileInfo"
          },
          "tools": {
            "description": "Configuration of VMware Tools running in the guest operating system.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "$ref": "#/components/schemas/ToolsConfigInfo"
          },
          "flags": {
            "description": "Additional flags for a virtual machine.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "$ref": "#/components/schemas/VirtualMachineFlagInfo"
          },
          "consolePreferences": {
            "description": "Legacy console viewer preferences that are used with power operations.\n\nFor\nexample, power on.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "$ref": "#/components/schemas/VirtualMachineConsolePreferences"
          },
          "powerOpInfo": {
            "description": "Configuration for default power operations.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "$ref": "#/components/schemas/VirtualMachineDefaultPowerOpInfo"
          },
          "rebootPowerOff": {
            "description": "Whether the next reboot will result in a power off.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "numCPUs": {
            "description": "Number of virtual processors in a virtual machine.\n\nReconfigure privilege: VirtualMachine.Config.CpuCount\n",
            "type": "integer",
            "format": "int32"
          },
          "vcpuConfig": {
            "description": "Vcpu configuration.\n\nThe <code>vcpuConfig</code> array is indexed\nby vcpu number.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVcpuConfig"
            }
          },
          "numCoresPerSocket": {
            "description": "Number of cores among which to distribute\nCPUs in this virtual machine.\n\nSet \"numCoresPerSocket\" with a non-zero value\nto manually configure coresPerSocket size.\nSet \"numCoresPerSocket\" with zero to remove any manual size\nif present, and use default coresPerSocket behavior.\nLeave \"numCoresPerSocket\" unset to continue with existing\nconfiguration (either manual or default).\n",
            "type": "integer",
            "format": "int32"
          },
          "memoryMB": {
            "description": "Size of a virtual machine's memory, in MB.\n\nReconfigure privilege: VirtualMachine.Config.Memory\n",
            "type": "integer",
            "format": "int64"
          },
          "memoryHotAddEnabled": {
            "description": "Indicates whether or not memory can be added to the virtual\nmachine while it is running.\n\nThis attribute can only be set when the virtual machine is\npowered-off.\n\nReconfigure privilege: VirtualMachine.Config.Memory\n",
            "type": "boolean"
          },
          "cpuHotAddEnabled": {
            "description": "Indicates whether or not virtual processors can be added to\nthe virtual machine while it is running.\n\nThis attribute can only be set when the virtual machine is\npowered-off.\n\nReconfigure privilege: VirtualMachine.Config.CpuCount\n",
            "type": "boolean"
          },
          "cpuHotRemoveEnabled": {
            "description": "Indicates whether or not virtual processors can be removed\nfrom the virtual machine while it is running.\n\nThis attribute can only be set when the virtual machine is\npowered-off.\n\nReconfigure privilege: VirtualMachine.Config.CpuCount\n",
            "type": "boolean"
          },
          "virtualICH7MPresent": {
            "description": "Does this virtual machine have Virtual Intel I/O Controller Hub 7\n",
            "type": "boolean"
          },
          "virtualSMCPresent": {
            "description": "Does this virtual machine have System Management Controller\n",
            "type": "boolean"
          },
          "deviceChange": {
            "description": "Set of virtual devices being modified by the configuration operation.\n\nReconfigure privileges:\n- VirtualMachine.Config.Resource if setting the \"shares\" property of\n  a new or existing VirtualDisk device\n- VirtualMachine.Config.RawDevice if adding, removing, or modifying a\n  raw device (also required when creating a virtual machine)\n- VirtualMachine.Config.HostUSBDevice if adding, removing, or\n  modifying a VirtualUSB device backed by a host USB device (also\n  required when creating a virtual machine).\n- VirtualMachine.Interact.DeviceConnection if setting the \"connectable\"\n  property of a connectable device\n- VirtualMachine.Interact.SetCDMedia if setting the \"backing\" property\n  of a VirtualCdrom device\n- VirtualMachine.Interact.SetFloppyMedia if setting the \"backing\" property\n  of a VirtualFloppy device\n- VirtualMachine.Config.EditDevice if setting any property of a\n  non-CDROM non-Floppy device\n- VirtualMachine.Config.AddExistingDisk if adding a VirtualDisk, and\n  the fileOperation is unset (also required when creating a virtual machine)\n- VirtualMachine.Config.AddNewDisk if adding a VirtualDisk and the\n  fileOperation is set (also required when creating a virtual machine)\n- VirtualMachine.Config.RemoveDisk if removing a VirtualDisk device\n- VirtualMachine.Config.AddRemoveDevice if adding or removing any\n  device other than disk, raw, or USB device.\n- Network.Assign if if setting the \"backing\" property of a\n  VirtualEthernetCard device.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceConfigSpec"
            }
          },
          "cpuAllocation": {
            "description": "Resource limits for CPU.\n\nReconfigure privilege: VirtualMachine.Config.Resource\n",
            "$ref": "#/components/schemas/ResourceAllocationInfo"
          },
          "memoryAllocation": {
            "description": "Resource limits for memory.\n\nReconfigure privilege: VirtualMachine.Config.Resource\n",
            "$ref": "#/components/schemas/ResourceAllocationInfo"
          },
          "latencySensitivity": {
            "description": "The latency-sensitivity setting of the virtual machine.\n\nReconfigure privilege: VirtualMachine.Config.Resource\n",
            "$ref": "#/components/schemas/LatencySensitivity"
          },
          "cpuAffinity": {
            "description": "Affinity settings for CPU.\n\nReconfigure privilege: VirtualMachine.Config.Resource\n",
            "$ref": "#/components/schemas/VirtualMachineAffinityInfo"
          },
          "memoryAffinity": {
            "deprecated": true,
            "description": "Deprecated since vSphere 6.0.\n\nAffinity settings for memory.\n\nReconfigure privilege: VirtualMachine.Config.Resource\n",
            "$ref": "#/components/schemas/VirtualMachineAffinityInfo"
          },
          "networkShaper": {
            "deprecated": true,
            "description": "Deprecated from vSphere 5.5, shaping policy on VM is not supported.\n\nResource limits for network.\n\nReconfigure privilege: VirtualMachine.Config.Resource\n",
            "$ref": "#/components/schemas/VirtualMachineNetworkShaperInfo"
          },
          "cpuFeatureMask": {
            "description": "Specifies the CPU feature compatibility masks.\n\nReconfigure privilege: VirtualMachine.Config.Settings\nAs of vSphere API 6.5 *FeatureMask*\nis the recommended method for masking virtual machines with\nhardware version 9 and above (newer).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCpuIdInfoSpec"
            }
          },
          "extraConfig": {
            "description": "Additional configuration information for the virtual machine.\n\nThis describes a set of modifications to the additional options. If the key is\nalready present, it will be reset with the new value provided. Otherwise, a new\noption is added. Keys with empty values will be removed.\n\nConfiguration keys that would conflict with parameters that are explicitly\nconfigurable through other fields in the ConfigSpec object are silently ignored.\n\nReconfigure privilege: VirtualMachine.Config.AdvancedConfig\n(also required when setting this property while creating a virtual machine)\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          },
          "swapPlacement": {
            "description": "Virtual machine swapfile placement policy.\n\nThis may only be set if the\n*swapPlacementSupported*\ncapability is true for this virtual machine. Any change to this policy\nwill take effect the next time the virtual machine powers on, resumes\nfrom a suspended state, or migrates while powered on.\n\nReconfigure privilege: VirtualMachine.Config.SwapPlacement\n(also required when setting this property while creating a virtual machine)\n\nSee also *VirtualMachineConfigInfoSwapPlacementType_enum*.\n",
            "type": "string"
          },
          "bootOptions": {
            "description": "Settings that control the boot behavior of the virtual\nmachine.\n\nThese settings take effect during the next power-on\nof the virtual machine.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "$ref": "#/components/schemas/VirtualMachineBootOptions"
          },
          "vAppConfig": {
            "description": "Configuration of vApp meta-data for a virtual machine\n",
            "$ref": "#/components/schemas/VmConfigSpec"
          },
          "ftInfo": {
            "description": "Fault Tolerance settings for this virtual machine.\n",
            "$ref": "#/components/schemas/FaultToleranceConfigInfo"
          },
          "repConfig": {
            "description": "vSphere Replication settings.\n\nNote this may become deprecated in the future releases. We\ndiscourage any unnecessary dependency on this field.\n",
            "$ref": "#/components/schemas/ReplicationConfigSpec"
          },
          "vAppConfigRemoved": {
            "description": "Set to true, if the vApp configuration should be removed\n\nReconfigure privilege: VApp.ApplicationConfig\n",
            "type": "boolean"
          },
          "vAssertsEnabled": {
            "description": "Indicates whether user-configured virtual asserts will be\ntriggered during virtual machine replay.\n\nThis setting takes\neffect during the next replay of the virtual machine.\n\nEnabling this functionality can potentially cause some\nperformance overhead during virtual machine execution.\n",
            "type": "boolean"
          },
          "changeTrackingEnabled": {
            "description": "Setting to control enabling/disabling changed block tracking for\nthe virtual disks of this VM.\n\nThis may only be set if the\n*changeTrackingSupported*\ncapability is true for this virtual machine. Any change to this property\nwill take effect the next time the virtual machine powers on, resumes\nfrom a suspended state, performs a snapshot create/delete/revert operation\nor migrates while powered on.\n\nReconfigure privilege: VirtualMachine.Config.ChangeTracking\n(also required when setting this property while creating a virtual machine)\n",
            "type": "boolean"
          },
          "firmware": {
            "description": "Set the desired firmware type for this Virtual Machine.\n\nPossible values are described in\n*GuestOsDescriptorFirmwareType_enum*\n",
            "type": "string"
          },
          "maxMksConnections": {
            "description": "If set, this setting limits the maximum number of active remote\ndisplay connections that the virtual machine will support to\nthe specified value.\n\nReconfigure privilege: VirtualMachine.Config.MksControl\n",
            "type": "integer",
            "format": "int32"
          },
          "guestAutoLockEnabled": {
            "description": "If set to True, this causes the guest operating system to automatically\nlogout any active sessions whenever there are no remote display\nconnections open to the virtual machine.\n\nReconfigure privilege: VirtualMachine.Config.MksControl\n",
            "type": "boolean"
          },
          "managedBy": {
            "description": "Specifies that this VM is managed by a VC Extension.\n\nThis information is primarily used in the Client to show a custom icon for\nmanaged virtual machines, and a description of the function of the virtual\nmachine. If no extension can be found with the extension key in the\n*managedBy* object, or the type is not found\nin the *managedEntityInfo* list of the\nextension, the default virtual machine icon is used, and no description is\nshown.\nTo unset this field pass a *ManagedByInfo* object with an\nempty *extensionKey*.\n\nReconfigure privilege: VirtualMachine.Config.ManagedBy\n",
            "$ref": "#/components/schemas/ManagedByInfo"
          },
          "memoryReservationLockedToMax": {
            "description": "If set true, memory resource reservation for this virtual machine will always be\nequal to the virtual machine's memory size; increases in memory size will be\nrejected when a corresponding reservation increase is not possible.\n\nThis feature\nmay only be enabled if it is currently possible to reserve all of the virtual machine's memory.\n\nReconfigure privilege: VirtualMachine.Config.Resource\n",
            "type": "boolean"
          },
          "nestedHVEnabled": {
            "description": "Specifies that this VM will use nested hardware-assisted virtualization.\n\nWhen creating a new VM:\n\\- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,\nand this flag is set to <code>false</code> error is returned.\n\\- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to\n<code>true</code>, the value of this flag is set to <code>true</code>.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "type": "boolean"
          },
          "vPMCEnabled": {
            "description": "Specifies that this VM will have virtual CPU performance counters\nenabled.\n\nReconfigure privilege: VirtualMachine.Config.Settings\n",
            "type": "boolean"
          },
          "scheduledHardwareUpgradeInfo": {
            "description": "Configuration of scheduled hardware upgrades.\n\nReconfigure privilege: VirtualMachine.Config.UpgradeVirtualHardware\n\nSee also *ScheduledHardwareUpgradeInfo*.\n",
            "$ref": "#/components/schemas/ScheduledHardwareUpgradeInfo"
          },
          "vmProfile": {
            "description": "Virtual Machine Profile requirement.\n\nProfiles are solution specific.\nProfile Based Storage Management is a vSphere server extension.\nAPI users who want to provision VMs using Storage Profiles, need to\ninteract with it.\nThis is an optional parameter and if user doesn't specify profile,\nthe default behavior will apply.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "messageBusTunnelEnabled": {
            "description": "Whether to allow tunneling of clients from the guest VM into the\ncommon message bus on the host network.\n",
            "type": "boolean"
          },
          "crypto": {
            "description": "Virtual Machine cryptographic options.\n\nThe cryptographic options are inherited to all disks of the VM.\nThe cryptographic options for a disk can be different by setting\nits CryptoSpec.\n",
            "$ref": "#/components/schemas/CryptoSpec"
          },
          "migrateEncryption": {
            "description": "An enum describing whether encrypted vMotion is required for this VM.\n\nSupported values are listed in *VirtualMachineConfigSpecEncryptedVMotionModes_enum*.\nThis defaults to opportunistic for a regular VM, and will be set to\nrequired for an encrypted VM.\n",
            "type": "string"
          },
          "sgxInfo": {
            "description": "Configuration of SGX, Software Guard Extensions for the VM.\n",
            "$ref": "#/components/schemas/VirtualMachineSgxInfo"
          },
          "ftEncryptionMode": {
            "description": "An enum describing whether encrypted Fault Tolerance is required\nfor this VM.\n\nSupported values are listed in *VirtualMachineConfigSpecEncryptedFtModes_enum*.\n\\- This defaults to opportunistic for a regular VM, and will be set to\nrequired for an encrypted VM.\n\\- If this property is unset, the mode of encrypted Fault Tolerance\nwill be set to opportunistic.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "string"
          },
          "guestMonitoringModeInfo": {
            "description": "Configuration of GMM, Guest Monitoring Mode for the VM.\n",
            "$ref": "#/components/schemas/VirtualMachineGuestMonitoringModeInfo"
          },
          "sevEnabled": {
            "description": "SEV (Secure Encrypted Virtualization) enabled or not.\n\nSEV is enabled when\nset to true, and disabled otherwise.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "boolean"
          },
          "virtualNuma": {
            "description": "Virtual NUMA information for this VM.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/VirtualMachineVirtualNuma"
          },
          "motherboardLayout": {
            "description": "One of motherboardLayout choices.\n\nDefault is i440bxHostBridge. See\n*VirtualHardware.motherboardLayout*\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          },
          "pmemFailoverEnabled": {
            "description": "Property to enable/disable PMem HA failover.\n\n\\- When set to TRUE, VMs configured to use PMem\nwill be failed over to other hosts by HA, but the data\nin NVDIMM is not persistent.\n\\- When set to FALSE, VMs configured to use PMem will not\nbe failed over to other hosts by HA.\nProperty is currently only applicable to VMs with NVDimms and\nwill fail to set True if vPMem disks are present.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "vmxStatsCollectionEnabled": {
            "description": "Property to enable/disable VMXStats Collection.\n\n\\- Setting this property is only allowed when the VM is powered off\nand will fail otherwise.\n\\- When set to TRUE, VMs will be configured to create a\nscoreboard file to store certain stats for various VMX\ncomponents.\n\n***Since:*** vSphere API Release 7.0.3.1\n",
            "type": "boolean"
          },
          "vmOpNotificationToAppEnabled": {
            "description": "Property to enable/disable operation notification to applications.\n\n\\- When set to TRUE, application running inside the VM will be\nnotified of operations for which they have registered.\n\\- If unset defaults to FALSE, no notifications are sent to the\napplication.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "boolean"
          },
          "vmOpNotificationTimeout": {
            "description": "Operation notification timeout in seconds.\n\n\\- Specifies the maximum time duration the applications may take to\nprepare for the operation after its been notified. This value is used\nonly if *VirtualMachineConfigSpec.vmOpNotificationToAppEnabled* is set to TRUE.\n\\- Timeout has to be a non-zero positive value for applications to\nbe able to register and get notifications.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int64"
          },
          "deviceSwap": {
            "description": "Status of the device swap operation.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/VirtualMachineVirtualDeviceSwap"
          },
          "simultaneousThreads": {
            "description": "Number of SMT (Simultaneous multithreading) threads.\n\n\\- Set \"simultaneousThreads\" with a non-zero value to configure threads.\n\\- If unset, then use system defaults.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int32"
          },
          "pmem": {
            "description": "Configuration for virtual persistent memory.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "$ref": "#/components/schemas/VirtualMachineVirtualPMem"
          },
          "deviceGroups": {
            "description": "Assignable hardware device groups.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/VirtualMachineVirtualDeviceGroups"
          },
          "fixedPassthruHotPlugEnabled": {
            "description": "Indicates whether support to add and remove fixed passthrough\ndevices when the VM is running should be enabled.\n\nThis property can only be set when the VM is powered off. If set,\nadditional setup will be performed when the VM is powered on\nso that hot adding and removing fixed passthrough devices will\nbe possible.\nNOTE: When setting this to true, the memory reservation should\nbe equal to the guest memory size or the option to reserve all\nguest memory should be selected. If unset, the current value\nis left unchanged.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          },
          "metroFtEnabled": {
            "description": "Indicates whether FT Metro Cluster is enabled/disabled.\n\n\\- If TRUE, FT Metro Cluster is enabled for the VM. An implicit\nAnti-HostGroup will be generated from HostGroup defined for FT\nprimary, then affine the primary with one HostGroup and affine the\nsecondary with another HostGroup.\n\\- If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT\nprimary and secondary will be put in the same HostGroup.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          },
          "metroFtHostGroup": {
            "description": "Indicate the Host Group (*ClusterHostGroup*) for FT\nMetro Cluster enabled Virtual Machine.\n\nBased on the selected Host Group, FT can divide the hosts in the cluster\ninto two groups and ensure to place FT primary and FT secondary in\ndifferent groups.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineConfigSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineCpuIdInfoSpec": {
        "type": "object",
        "description": "Wrapper class to support incremental updates of the cpuFeatureMask.\n\nAs of vSphere API 6.5 *VirtualMachineConfigSpec.extraConfig* is the recommended method\nfor setting the mask for a virtual machine with hardware version 9 and\nabove (newer). They can be viewed via\n*featureMask*.\n",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/HostCpuIdInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrayUpdateSpec"
          }
        ]
      },
      "ArrayOfVirtualMachineCpuIdInfoSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineCpuIdInfoSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCpuIdInfoSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ConfigTarget": {
        "type": "object",
        "description": "The ConfigTarget class contains information about \"physical\" devices that can\nbe used to back virtual devices.\n",
        "properties": {
          "numCpus": {
            "description": "Number of logical CPUs that can be used to run virtual machines.\n\nIf invoked against a cluster, this is the total number of logical CPUs\navailable in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "numCpuCores": {
            "description": "Number of physical CPU cores that are available to run virtual machines.\n\nIf invoked against a cluster, this is the total number of physical CPUs\navailable in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "numNumaNodes": {
            "description": "Number of NUMA nodes.\n\nIf invoked against a cluster, this is the total number of NUMA nodes\navailable in the cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxCpusPerHost": {
            "description": "Maximum number of CPUs available on a single host.\n\nFor standalone hosts, this value will be the same as numCpus.\n",
            "type": "integer",
            "format": "int32"
          },
          "smcPresent": {
            "description": "Presence of System Management Controller, indicates the host is\nApple hardware, and thus capable of running Mac OS guest as VM.\n",
            "type": "boolean"
          },
          "datastore": {
            "description": "List of datastores available for virtual disks and associated storage.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDatastoreInfo"
            }
          },
          "network": {
            "description": "List of networks available for virtual network adapters.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineNetworkInfo"
            }
          },
          "opaqueNetwork": {
            "description": "List of opaque networks available for virtual network adapters.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpaqueNetworkTargetInfo"
            }
          },
          "distributedVirtualPortgroup": {
            "description": "List of networks available from DistributedVirtualSwitch for virtual\nnetwork adapters.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualPortgroupInfo"
            }
          },
          "distributedVirtualSwitch": {
            "description": "List of distributed virtual switch available for virtual network\nadapters.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributedVirtualSwitchInfo"
            }
          },
          "cdRom": {
            "description": "List of CD-ROM devices available for use by virtual CD-ROMs.\n\nUsed for\n*VirtualCdromAtapiBackingInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCdromInfo"
            }
          },
          "serial": {
            "description": "List of serial devices available to support virtualization.\n\nUsed for\n*VirtualSerialPortDeviceBackingInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSerialInfo"
            }
          },
          "parallel": {
            "description": "List of parallel devices available to support virtualization.\n\nUsed for\n*VirtualParallelPortDeviceBackingInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineParallelInfo"
            }
          },
          "sound": {
            "description": "List of sound devices available to support virtualization.\n\nUsed for\n*VirtualSoundCardDeviceBackingInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSoundInfo"
            }
          },
          "usb": {
            "description": "List of USB devices on the host that are available to support\nvirtualization.\n\nUsed for\n*VirtualUSBUSBBackingInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineUsbInfo"
            }
          },
          "floppy": {
            "description": "List of floppy devices available for use by virtual floppies.\n\nUsed for\n*VirtualFloppyDeviceBackingInfo*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFloppyInfo"
            }
          },
          "legacyNetworkInfo": {
            "description": "Legacy switch names when using the LegacyNetworkBacking types.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineLegacyNetworkSwitchInfo"
            }
          },
          "scsiPassthrough": {
            "description": "List of generic SCSI devices.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineScsiPassthroughInfo"
            }
          },
          "scsiDisk": {
            "description": "List of physical SCSI disks that can be used as targets for raw disk mapping\nbackings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineScsiDiskDeviceInfo"
            }
          },
          "ideDisk": {
            "description": "List of physical IDE disks that can be used as targets for raw disk backings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineIdeDiskDeviceInfo"
            }
          },
          "maxMemMBOptimalPerf": {
            "description": "Maximum recommended memory size, in MB, for creating a new virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "supportedMaxMemMB": {
            "description": "Maximum supported memory size, in MB, for creating a new virtual machine.\n\nMaximum allowed size is smaller of this and limit in\n*GuestOsDescriptor.supportedMaxMemMB*. When invoked on the\ncluster, maximum size that can be created on at least one host\nin the cluster is reported.\n",
            "type": "integer",
            "format": "int32"
          },
          "resourcePool": {
            "description": "Information about the current available resources on the current resource pool\nfor a virtual machine.\n\nThis field is only populated from an Environment browser\nobtained from a virtual machine.\n",
            "$ref": "#/components/schemas/ResourcePoolRuntimeInfo"
          },
          "autoVmotion": {
            "description": "Information whether a virtual machine with this ConfigTarget can auto vmotion.\n\nThis field is only populated from an Environment browser obtained from a\nvirtual machine.\n",
            "type": "boolean"
          },
          "pciPassthrough": {
            "description": "List of generic PCI devices.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachinePciPassthroughInfo"
            }
          },
          "sriov": {
            "description": "List of SRIOV devices.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSriovInfo"
            }
          },
          "vFlashModule": {
            "description": "List of vFlash modules.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVFlashModuleInfo"
            }
          },
          "sharedGpuPassthroughTypes": {
            "description": "List of shared GPU passthrough types.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachinePciSharedGpuPassthroughInfo"
            }
          },
          "availablePersistentMemoryReservationMB": {
            "description": "Maximum available persistent memory reservation on a compute resource\nin MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "dynamicPassthrough": {
            "description": "List of Dynamic DirectPath PCI devices.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDynamicPassthroughInfo"
            }
          },
          "sgxTargetInfo": {
            "description": "Intel SGX information.\n",
            "$ref": "#/components/schemas/VirtualMachineSgxTargetInfo"
          },
          "precisionClockInfo": {
            "description": "List of host clock resources available to support virtual precision\nclock device.\n\nUsed for\n*VirtualPrecisionClockSystemClockBackingInfo*\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachinePrecisionClockInfo"
            }
          },
          "sevSupported": {
            "description": "Indicates whether the compute resource is capable of running AMD Secure\nEncrypted Virtualization (SEV) enabled virtual machines.\n\nThe compute\nresource supports SEV when this value is set to true.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "boolean"
          },
          "vgpuDeviceInfo": {
            "description": "List of vGPU device capabilities.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVgpuDeviceInfo"
            }
          },
          "vgpuProfileInfo": {
            "description": "List of vGPU profile attributes.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVgpuProfileInfo"
            }
          },
          "vendorDeviceGroupInfo": {
            "description": "List of PCI Vendor Device Groups.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVendorDeviceGroupInfo"
            }
          },
          "maxSimultaneousThreads": {
            "description": "Max SMT (Simultaneous multithreading) threads.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int32"
          },
          "dvxClassInfo": {
            "description": "List of Device Virtualization Extensions (DVX) classes.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDvxClassInfo"
            }
          }
        },
        "required": [
          "numCpus",
          "numCpuCores",
          "numNumaNodes",
          "smcPresent",
          "maxMemMBOptimalPerf"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfConfigTarget": {
        "type": "object",
        "description": "A boxed array of *ConfigTarget*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConfigTarget"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConsolePreferences": {
        "type": "object",
        "description": "Preferences for the legacy console application that affect the way it behaves during power\noperations on the virtual machine.\n",
        "properties": {
          "powerOnWhenOpened": {
            "description": "Power on the virtual machine when it is opened in the console.\n",
            "type": "boolean"
          },
          "enterFullScreenOnPowerOn": {
            "description": "Enter full screen mode when this virtual machine is powered on.\n",
            "type": "boolean"
          },
          "closeOnPowerOffOrSuspend": {
            "description": "Close the console application when the virtual machine is powered off\nor suspended.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineConsolePreferences": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConsolePreferences*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConsolePreferences"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineContentLibraryItemInfo": {
        "type": "object",
        "description": "Describes the content library item information\nassociated with the virtual machine.\n",
        "properties": {
          "contentLibraryItemUuid": {
            "description": "The content library item UUID\n",
            "type": "string"
          },
          "contentLibraryItemVersion": {
            "description": "The content library item version is determined and\nmanaged by content library and this field stamps the version\nprovided by CL to the VM.\n",
            "type": "string"
          }
        },
        "required": [
          "contentLibraryItemUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineContentLibraryItemInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineContentLibraryItemInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineContentLibraryItemInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDatastoreInfo": {
        "type": "object",
        "description": "DatastoreInfo describes a datastore that a virtual disk can be\nstored on.\n",
        "properties": {
          "datastore": {
            "description": "Information about the datastore\n",
            "$ref": "#/components/schemas/DatastoreSummary"
          },
          "capability": {
            "description": "Information about the datastore capabilities\n",
            "$ref": "#/components/schemas/DatastoreCapability"
          },
          "maxFileSize": {
            "description": "The maximum size of a file that can reside on this datastore.\n",
            "type": "integer",
            "format": "int64"
          },
          "maxVirtualDiskCapacity": {
            "description": "The maximum capacity of a virtual disk which can be created on this volume\n",
            "type": "integer",
            "format": "int64"
          },
          "maxPhysicalRDMFileSize": {
            "description": "Maximum raw device mapping size (physical compatibility)\n",
            "type": "integer",
            "format": "int64"
          },
          "maxVirtualRDMFileSize": {
            "description": "Maximum raw device mapping size (virtual compatibility)\n",
            "type": "integer",
            "format": "int64"
          },
          "mode": {
            "description": "Access mode for this datastore.\n\nThis is either\nreadOnly or readWrite. A virtual disk needs to be\nstored on readWrite datastore. ISOs can be read\nfrom a readOnly datastore.\n\nSee also *HostMountMode_enum*.\n",
            "type": "string"
          },
          "vStorageSupport": {
            "description": "Indicate the states of vStorage hardware acceleration\nsupport for this datastore.\n\nIn the case of a cluster compute resource, this property\nis aggregated from the values reported by individual hosts\nas follows:\n- If at least one host reports\n  *vStorageSupported*,\n  then it is set to\n  *vStorageSupported*.\n- Else if at least one host reports\n  *vStorageUnknown*,\n  it is set to\n  *vStorageUnknown*.\n- Else if at least one host reports\n  *vStorageUnsupported*,\n  it is set to\n  *vStorageUnsupported*.\n- Else it is unset.\n  \nSee also *FileSystemMountInfoVStorageSupportStatus_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "datastore",
          "capability",
          "maxFileSize",
          "mode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineDatastoreInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDatastoreInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDatastoreInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreOption": {
        "type": "object",
        "description": "The DatastoreOption data object describes datastore options\nfor a virtual machine.\n",
        "properties": {
          "unsupportedVolumes": {
            "description": "The type of file system volumes on which this virtual machine cannot have\nits disk and configuration files.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDatastoreVolumeOption"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDatastoreOption": {
        "type": "object",
        "description": "A boxed array of *DatastoreOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDatastoreVolumeOption": {
        "type": "object",
        "description": "This data object type describes a file system volume option for this\nvirtual machine.\n",
        "properties": {
          "fileSystemType": {
            "description": "The type name of the file system volume information object for this\noption.\n\nSee also *HostFileSystemVolumeInfo*.\n",
            "type": "string"
          },
          "majorVersion": {
            "description": "The major version of the file system volume information for this\noption.\n\nIf not specified, all versions of this file system are included\nin this option. Currently, this value is set only for VMFS volumes.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "fileSystemType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineDatastoreVolumeOption": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDatastoreVolumeOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDatastoreVolumeOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDefaultPowerOpInfo": {
        "type": "object",
        "description": "The DefaultPowerOpInfo data object type holds the configured defaults for the power\noperations on a virtual machine.\n\nThe properties indicated whether to do a \"soft\"\nor guest initiated operation, or a \"hard\" operation.\n",
        "properties": {
          "powerOffType": {
            "description": "Describes the default power off type for this virtual machine.\n\nThe possible values are specified by the PowerOpType.\n- hard - Perform power off by using the PowerOff method.\n- soft - Perform power off by using the ShutdownGuest method.\n- preset - The preset value is specified in the defaultPowerOffType\n  section.\n  \nThis setting is advisory and clients can choose to ignore it.\n",
            "type": "string"
          },
          "suspendType": {
            "description": "Describes the default suspend type for this virtual machine.\n\nThe possible values are specified by the PowerOpType.\n- hard - Perform suspend by using the Suspend method.\n- soft - Perform suspend by using the StandbyGuest method.\n- preset - The preset value is specified in the defaultSuspendType\n  section.\n  \nThis setting is advisory and clients can choose to ignore it.\n",
            "type": "string"
          },
          "resetType": {
            "description": "Describes the default reset type for this virtual machine.\n\nThe possible values are specified by the PowerOpType.\n- hard - Perform reset by using the Reset method.\n- soft - Perform reset by using the RebootGuest method.\n- preset - The preset value is specified in the defaultResetType\n  section.\n  \nThis setting is advisory and clients can choose to ignore it.\n",
            "type": "string"
          },
          "defaultPowerOffType": {
            "description": "Default operation for power off: soft or hard\n",
            "type": "string"
          },
          "defaultSuspendType": {
            "description": "Default operation for suspend: soft or hard\n",
            "type": "string"
          },
          "defaultResetType": {
            "description": "Default operation for reset: soft or hard\n",
            "type": "string"
          },
          "standbyAction": {
            "description": "Behavior of virtual machine when it receives the S1 ACPI call.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineDefaultPowerOpInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDefaultPowerOpInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDefaultPowerOpInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDefaultProfileSpec": {
        "type": "object",
        "description": "Used to indicate that the Default Storage Policy of the target datastore\nbe used for a Virtual Machine Home or a Virtual Disk object.\n\nNeither the association nor the policy data is persisted in Virtual Machine\nconfiguration. This data is managed by an extension of Virtual Center\n(Storage Policy Based Management).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineProfileSpec"
          }
        ]
      },
      "ArrayOfVirtualMachineDefaultProfileSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDefaultProfileSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDefaultProfileSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDefinedProfileSpec": {
        "type": "object",
        "description": "Policy specification that carries a pre-defined Storage Policy to be associated\nwith a Virtual Machine Home or a Virtual Disk object.\n\nSuch a pre-defined\npolicy can be either be vSphere Storage Administrator defined or may come\nfrom a set of pre-defined policies from Storage Vendor.\n\nNeither the association nor the policy data is persisted in Virtual Machine\nconfiguration. This data is managed by the an extension of Virtual Center\n(Storage Policy Based Management).\n",
        "properties": {
          "profileId": {
            "description": "Storage Policy Profile identification - Should be\npbm.profileId but for implementation reasons, could not be.\n",
            "type": "string"
          },
          "replicationSpec": {
            "description": "Specification containing replication related parameters, sent to the Replication Data Service\nprovider.\n",
            "$ref": "#/components/schemas/ReplicationSpec"
          },
          "profileData": {
            "description": "Profile data sent to the Storage Backend by vSphere.\n\nThis data is provided by the SPBM component of the vSphere platform.\nThis field should not be set by Virtual Center users.\n",
            "$ref": "#/components/schemas/VirtualMachineProfileRawData"
          },
          "profileParams": {
            "description": "Parameterized Storage Profiles\nExtra configuration that is not expressed as a capability in the Profile\ndefinition.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "profileId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineProfileSpec"
          }
        ]
      },
      "ArrayOfVirtualMachineDefinedProfileSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDefinedProfileSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDefinedProfileSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDeviceRuntimeInfo": {
        "type": "object",
        "description": "The DeviceRuntimeInfo data object type provides information about\nthe execution state of a single virtual device.\n",
        "properties": {
          "runtimeState": {
            "description": "The device runtime state.\n",
            "$ref": "#/components/schemas/VirtualMachineDeviceRuntimeInfoDeviceRuntimeState"
          },
          "key": {
            "description": "The device key.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "runtimeState",
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineDeviceRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDeviceRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDeviceRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDeviceRuntimeInfoDeviceRuntimeState": {
        "type": "object",
        "description": "Runtime state of a device.\n\nSubclassed for information that is specific\nto certain device types.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineDeviceRuntimeInfoDeviceRuntimeState": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDeviceRuntimeInfoDeviceRuntimeState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState": {
        "type": "object",
        "description": "Runtime state of a virtual ethernet card device.\n",
        "properties": {
          "vmDirectPathGen2Active": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer\nsupported and there is no replacement.\n\nFlag to indicate whether VMDirectPath Gen 2 is active on this device.\n\nIf false, the reason(s) for inactivity will be provided in one or\nmore of *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm*,\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther*,\nand *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended*.\n",
            "type": "boolean"
          },
          "vmDirectPathGen2InactiveReasonVm": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer\nsupported and there is no replacement.\n\nIf *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active* is false, this array will be\npopulated with reasons for the inactivity that are related to virtual\nmachine state or configuration (chosen from\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum*).\n\nOther reasons for\ninactivity will be provided in\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther*. If there is a reason\nfor inactivity that cannot be described by the available constants,\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended* will be populated\nwith an additional explanation provided by the platform.\n\nNote that this list of reasons is not guaranteed to be exhaustive.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vmDirectPathGen2InactiveReasonOther": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer\nsupported and there is no replacement.\n\nIf *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active* is false, this array will be\npopulated with reasons for the inactivity that are not related to\nvirtual machine state or configuration (chosen from\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum*).\n\nVirtual machine\nrelated reasons for inactivity will be provided in\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm*. If there is a reason\nfor inactivity that cannot be described by the available constants,\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended* will be populated\nwith an additional explanation provided by the platform.\n\nNote that this list of reasons is not guaranteed to be exhaustive.\n\nSee also *HostCapability.vmDirectPathGen2Supported*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vmDirectPathGen2InactiveReasonExtended": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer\nsupported and there is no replacement.\n\nIf *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active* is false, this property may\ncontain an explanation provided by the platform, beyond the reasons\n(if any) enumerated in *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm*\nand/or *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther*.\n",
            "type": "string"
          },
          "uptv2Active": {
            "description": "Flag to indicate whether UPTv2(Uniform Pass-through version 2) is active\non this device.\n\nIf true, the network adapter works in the pass-through mode.\nIf false, the network adapter still has the network connectivity but\nworks in emulated mode and pass-through is not enabled.\nThe reason for inactivity is provided in *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm*\nand/or *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther*.\nThis flag is unset if not applicable. It indicates network adapter is not a\nvmxnet3 adapter or *VirtualVmxnet3.uptv2Enabled* of it\nis not set to true.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "uptv2InactiveReasonVm": {
            "description": "When *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active* is false, this field will be\npopulated with reasons for the inactivity that are related to virtual\nmachine state or configuration (chosen from\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum*).\n\nOther reasons for\ninactivity will be provided in *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther*.\nThis field will be unset if *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active* is true or unset.\n\nNote that this field of reasons is not guaranteed to be exhaustive.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "uptv2InactiveReasonOther": {
            "description": "When *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active* is false, this field will be\npopulated with reasons for the inactivity that are not related to\nvirtual machine state or configuration (chosen from\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum*).\n\nVirtual machine\nrelated reasons for inactivity will be provided in\n*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm*.\nThis field will be unset if *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active* is true or unset.\n\nNote that this field of reasons is not guaranteed to be exhaustive.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reservationStatus": {
            "description": "The status indicating whether network reservation requirement is violated\nor not on the virtual network adapter.\n\nSee *ManagedEntityStatus_enum*\nfor possible values.\n\n*red* indicates that reservation specified on the virtual\nnetwork adapter is not being fulfilled. This can happen if the reservation requested is\ngreater than the available capacity reserved for virtual machine traffic on the host.\n\n*green* indicates that the reservation specified on the\nvirtual network adapter is being fulfilled.\n",
            "type": "string"
          },
          "attachmentStatus": {
            "description": "The status indicating the state of virtual network adapter's attachment\nto an opaque network.\n\nSee *ManagedEntityStatus_enum* for possible values.\n\n*red* indicates that the network adapter\nis not yet successfully attached to opaque network. This can happen if\ncorresponding attachment port is missing in the kernel.\n\n*green* indicates that the network\nadapater is successfully attached to opaque network.\n",
            "type": "string"
          },
          "featureRequirement": {
            "description": "These network adapter requirements must have equivalent capabilities\non the virtual switch in order to power on or migrate to the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFeatureRequirement"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineDeviceRuntimeInfoDeviceRuntimeState"
          }
        ]
      },
      "ArrayOfVirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDiskDeviceInfo": {
        "type": "object",
        "description": "The DiskDeviceInfo class contains basic information about a specific disk hardware\ndevice.\n",
        "properties": {
          "capacity": {
            "description": "Size of disk\n",
            "type": "integer",
            "format": "int64"
          },
          "vm": {
            "description": "List of known virtual machines using this physical disk as a backing\n\nRefers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineDiskDeviceInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDiskDeviceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDiskDeviceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDvxClassInfo": {
        "type": "object",
        "description": "Description of a Device Virtualization Extensions (DVX) device class.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "deviceClass": {
            "description": "DVX device class.\n",
            "$ref": "#/components/schemas/ElementDescription"
          },
          "vendorName": {
            "description": "The label for the vendor name of this class.\n\nThe value is defined by vendors of the DVX device class\nas part of their localizable messages.\n",
            "type": "string"
          },
          "sriovNic": {
            "description": "Indicates whether the devices of this class are SR-IOV NICs.\n",
            "type": "boolean"
          },
          "configParams": {
            "description": "The configuration parameters for this DVX device class.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionDef"
            }
          }
        },
        "required": [
          "deviceClass",
          "vendorName",
          "sriovNic"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineDvxClassInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDvxClassInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDvxClassInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineDynamicPassthroughInfo": {
        "type": "object",
        "description": "Description of a Dynamic DirectPath PCI device.\n",
        "properties": {
          "vendorName": {
            "description": "The vendor name of this PCI device.\n",
            "type": "string"
          },
          "deviceName": {
            "description": "The device name of this PCI device.\n",
            "type": "string"
          },
          "customLabel": {
            "description": "The custom label attached to this PCI device.\n",
            "type": "string"
          },
          "vendorId": {
            "description": "PCI vendor ID for this device.\n",
            "type": "integer",
            "format": "int32"
          },
          "deviceId": {
            "description": "PCI device ID for this device.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vendorName",
          "deviceName",
          "vendorId",
          "deviceId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineDynamicPassthroughInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineDynamicPassthroughInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDynamicPassthroughInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineEmptyIndependentFilterSpec": {
        "type": "object",
        "description": "The EmptyIndependentFilterSpec data object is used to specify empty independent\nfilter spec.\n\nThis obejct is passed during provisioning workflows to remove all\nattached independent filters.\n\n***Since:*** vSphere API Release 7.0.2.1\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineBaseIndependentFilterSpec"
          }
        ]
      },
      "ArrayOfVirtualMachineEmptyIndependentFilterSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineEmptyIndependentFilterSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.2.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineEmptyIndependentFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineEmptyProfileSpec": {
        "type": "object",
        "description": "Specifies an empty Storage Policy for a Virtual Machine Home or a\nVirtual Disk object.\n\nThe object is left without any profile association, and hence has no\nexplicit policy driven requirements.\nThis implies that object's policy driven SLAs are always met trivially.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineProfileSpec"
          }
        ]
      },
      "ArrayOfVirtualMachineEmptyProfileSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineEmptyProfileSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineEmptyProfileSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceConfigInfo": {
        "type": "object",
        "description": "FaultToleranceConfigInfo is a data object type containing Fault Tolerance\nsettings for this virtual machine.\n\nrole, instanceUuids and configPaths contain information about the\nwhole fault tolerance group.\n",
        "properties": {
          "role": {
            "description": "The index of the current VM in instanceUuids array starting from 1, so\n1 means that it is the primary VM.\n",
            "type": "integer",
            "format": "int32"
          },
          "instanceUuids": {
            "description": "The instanceUuid of all the VMs in this fault tolerance group.\n\nThe\nfirst element is the instanceUuid of the primary VM.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "configPaths": {
            "description": "The configuration file path for all the VMs in this fault tolerance\ngroup.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "orphaned": {
            "description": "Indicates whether a secondary VM is orphaned (no longer associated with\nthe primary VM).\n",
            "type": "boolean"
          }
        },
        "required": [
          "role",
          "instanceUuids",
          "configPaths"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultToleranceConfigInfo": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceConfigSpec": {
        "type": "object",
        "description": "FaultToleranceConfigSpec contains information about the metadata file\nand vmdk files for a fault tolerant VM pair.\n",
        "properties": {
          "metaDataPath": {
            "description": "Metadata file information\n",
            "$ref": "#/components/schemas/FaultToleranceMetaSpec"
          },
          "secondaryVmSpec": {
            "description": "Placement information for secondary\n",
            "$ref": "#/components/schemas/FaultToleranceVMConfigSpec"
          },
          "metroFtEnabled": {
            "description": "Indicates whether FT Metro Cluster is enabled/disabled.\n\n\\- If TRUE, FT Metro Cluster is enabled for the VM. An implicit\nAnti-HostGroup will be generated from HostGroup defined for FT\nprimary, then affine the primary with one HostGroup and affine the\nsecondary with another HostGroup.\n\\- If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT\nprimary and secondary will be put in the same HostGroup.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "boolean"
          },
          "metroFtHostGroup": {
            "description": "Indicate the Host Group (*ClusterHostGroup*) for FT\nMetro Cluster enabled Virtual Machine.\n\nBased on the selected Host Group, FT can divide the hosts in the cluster\ninto two groups and ensure to place FT primary and FT secondary in\ndifferent groups.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultToleranceConfigSpec": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceMetaSpec": {
        "type": "object",
        "description": "This data object encapsulates the Datastore for the shared metadata file\nfor a fault tolerant pair of VMs.\n",
        "properties": {
          "metaDataDatastore": {
            "description": "Datastore for the metadata file\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "metaDataDatastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultToleranceMetaSpec": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceMetaSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceMetaSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultTolerancePrimaryConfigInfo": {
        "type": "object",
        "description": "FaultTolerancePrimaryConfigInfo is a data object type containing Fault Tolerance\nsettings for a primary virtual machine in a fault tolerance group\n",
        "properties": {
          "secondaries": {
            "description": "Refers instances of *VirtualMachine*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          }
        },
        "required": [
          "secondaries"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/FaultToleranceConfigInfo"
          }
        ]
      },
      "ArrayOfFaultTolerancePrimaryConfigInfo": {
        "type": "object",
        "description": "A boxed array of *FaultTolerancePrimaryConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultTolerancePrimaryConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceSecondaryConfigInfo": {
        "type": "object",
        "description": "FaultToleranceSecondaryConfigInfo is a data object type containing Fault Tolerance\nsettings for a secondary virtual machine in a fault tolerance group\n",
        "properties": {
          "primaryVM": {
            "description": "Refers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "primaryVM"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/FaultToleranceConfigInfo"
          }
        ]
      },
      "ArrayOfFaultToleranceSecondaryConfigInfo": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceSecondaryConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceSecondaryConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceSecondaryOpResult": {
        "type": "object",
        "description": "FaultToleranceSecondaryOpResult is a data object that reports on\nthe outcome of the *VirtualMachine.CreateSecondaryVM_Task* or\n*VirtualMachine.EnableSecondaryVM_Task* operation.\n",
        "properties": {
          "vm": {
            "description": "The Secondary VirtualMachine\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "powerOnAttempted": {
            "description": "Whether an attempt was made to power on the secondary.\n\nIf\nan attempt was made, *FaultToleranceSecondaryOpResult.powerOnResult* will report the\nstatus of this attempt.\n",
            "type": "boolean"
          },
          "powerOnResult": {
            "description": "The powerOnResult property reports the outcome of powering on the\nSecondary VirtualMachine if a power on was required.\n\nA power on will\nbe attempted if the Primary Virtual Machine is powered on when the\noperation is performed. This object is only reported if *FaultToleranceSecondaryOpResult.powerOnAttempted* is true. If the outcome of the power-on attempt\nis not successful, the returned *ClusterPowerOnVmResult*\nobject will include an instance of *ClusterNotAttemptedVmInfo*\nwhereas if the attempt was successful, then an instance of\n*ClusterAttemptedVmInfo* is returned. When\n*ClusterAttemptedVmInfo* is returned, its\n*ClusterAttemptedVmInfo.task* property is only set if the cluster\nis a HA-only cluster.\n",
            "$ref": "#/components/schemas/ClusterPowerOnVmResult"
          }
        },
        "required": [
          "vm",
          "powerOnAttempted"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultToleranceSecondaryOpResult": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceSecondaryOpResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceSecondaryOpResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceVMConfigSpec": {
        "type": "object",
        "description": "FaultToleranceVMConfigSpec contains information about placement of\nfault tolerant VM.\n",
        "properties": {
          "vmConfig": {
            "description": "Datastore for the configuration file for the virtual machine, e.g., the\n.vmx file.\n\nThis also implicitly defines the configuration directory.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "disks": {
            "description": "Array of disks associated with the VM\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceDiskSpec"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultToleranceVMConfigSpec": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceVMConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceVMConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultToleranceDiskSpec": {
        "type": "object",
        "description": "FaultToleranceDiskSpec contains disk managed object and destination\ndatastore of disks associated with a VM.\n",
        "properties": {
          "disk": {
            "description": "Disk Managed Object\n",
            "$ref": "#/components/schemas/VirtualDevice"
          },
          "datastore": {
            "description": "Destination location for disk\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "disk",
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultToleranceDiskSpec": {
        "type": "object",
        "description": "A boxed array of *FaultToleranceDiskSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultToleranceDiskSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFeatureRequirement": {
        "type": "object",
        "description": "Feature requirement contains a key, featureName and an opaque value\n",
        "properties": {
          "key": {
            "description": "Accessor name to the feature requirement test\n",
            "type": "string"
          },
          "featureName": {
            "description": "Name of the feature.\n\nIdentical to the key.\n",
            "type": "string"
          },
          "value": {
            "description": "Opaque value for the feature operation.\n\nOperation is contained\nin the value.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "featureName",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFeatureRequirement": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFeatureRequirement*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFeatureRequirement"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFileInfo": {
        "type": "object",
        "description": "The FileInfo data object type contains the locations of virtual machine\nfiles other than the virtual disk files.\n\nThe configurable parameters\nare all in the FileInfo object.\n\nThe object also contains a FileLayout object that returns a complete\nlist of additional files that makes up the virtual machine\nconfiguration. This is a read-only structure and is returned when\nthe configuration is read. This is ignored during configuration and\ncan be left out.\n",
        "properties": {
          "vmPathName": {
            "description": "Path name to the configuration file for the virtual machine, e.g., the\n.vmx file.\n\nThis also implicitly defines the configuration directory.\n",
            "type": "string"
          },
          "snapshotDirectory": {
            "description": "Path name of the directory that holds suspend and snapshot files\nbelonging to the virtual machine.\n\nPrior to vSphere 5.0, this\ndirectory also holds snapshot redo files. Starting with vSphere 5.0,\nthe redo files will stay in the same directory as the snapshotted\ndisk, thus this directory will no longer hold the snapshot redo\nfiles.\n\nThis path name defaults to the same directory as the configuration\nfile.\n\nESX Server requires this to indicate a VMFS volume or NAS volume\n(for ESX Server 3).\nIn case the configuration file is not stored on VMFS or NAS, this\nproperty must be set explicitly.\n",
            "type": "string"
          },
          "suspendDirectory": {
            "description": "Some products allow the suspend directory to be different than the\nsnapshot directory.\n\nOn products where this is not possible, setting\nof this property is ignored.\n",
            "type": "string"
          },
          "logDirectory": {
            "description": "Directory to store the log files for the virtual machine.\n\nIf not specified,\nthis defaults to the same directory as the configuration file,\n",
            "type": "string"
          },
          "ftMetadataDirectory": {
            "description": "Directory to store the fault tolerance meta data files for the\nvirtual machine.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFileInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFileLayout": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 4.0, use *VirtualMachineFileLayoutEx* instead.\n\nDescribes the set of files that makes up a virtual machine on disk.\n\nThe\nfile layout is broken into 4 major sections:\n- Configuration: Files stored in the configuration directory\n- Log: Files stored in the log directory\n- Disk: Files stored relative to a disk configuration file\n- Snapshot: Stored in the snapshot directory\n  \nOften the same directory is used for configuration, log, disk and\nsnapshots.\n",
        "properties": {
          "configFile": {
            "description": "A list of files that makes up the configuration of the virtual machine\n(excluding the .vmx file, since that file is represented in the\nFileInfo).\n\nThese are relative paths from the configuration directory. A\nslash is always used as a separator. This list will typically include the\nNVRAM file, but could also include other meta-data files.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "logFile": {
            "description": "A list of files stored in the virtual machine's log directory.\n\nThese are\nrelative paths from the logDirectory. A slash is always used as a\nseparator.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "disk": {
            "description": "Files making up each virtual disk.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutDiskLayout"
            }
          },
          "snapshot": {
            "description": "Files of each snapshot.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutSnapshotLayout"
            }
          },
          "swapFile": {
            "description": "The swapfile specific to this virtual machine, if any.\n\nThis is a\ncomplete datastore path, not a relative path.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFileLayout": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFileLayout*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayout"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFileLayoutDiskLayout": {
        "type": "object",
        "description": "Enumerats the set of files for each virtual disk.\n",
        "properties": {
          "key": {
            "description": "Identification of the disk in *config*.\n",
            "type": "integer",
            "format": "int32"
          },
          "diskFile": {
            "description": "List of files that makes up the virtual disk.\n\nAt least one entry\nalways exists in this array. The first entry is the main\ndescriptor of the virtual disk (the one used when adding the\ndisk to a virtual machine). These are complete datastore paths, not\nrelative paths.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "key",
          "diskFile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFileLayoutDiskLayout": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFileLayoutDiskLayout*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutDiskLayout"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFileLayoutSnapshotLayout": {
        "type": "object",
        "description": "Enumerates the set of files that make up a snapshot or redo-point\n",
        "properties": {
          "key": {
            "description": "Identification of the snapshot\n\nRefers instance of *VirtualMachineSnapshot*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "snapshotFile": {
            "description": "A list of files that make up the snapshot state.\n\nThese are relative\npaths from the snapshotDirectory. A slash is always used as a\nseparator.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "key",
          "snapshotFile"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFileLayoutSnapshotLayout": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFileLayoutSnapshotLayout*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutSnapshotLayout"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFileLayoutEx": {
        "type": "object",
        "description": "Detailed description of files that make up a virtual machine on disk.\n\nThe\nfile layout is broken into 4 major sections:\n- Configuration: Files stored in the configuration directory\n- Log: Files stored in the log directory\n- Disk: Files stored relative to a disk configuration file\n- Snapshot: Stored in the snapshot directory\n  \nOften the same directory is used for configuration, log, disk and\nsnapshots.\n",
        "properties": {
          "file": {
            "description": "Information about all the files that constitute the virtual machine\nincluding configuration files, disks, swap file, suspend file, log files,\ncore files, memory file etc.\n\n*VirtualMachineFileLayoutExFileType_enum* lists the\ndifferent file-types that make a virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutExFileInfo"
            }
          },
          "disk": {
            "description": "Layout of each virtual disk attached to the virtual machine.\n\nFor a virtual machine with snaphots, this property gives only those disks\nthat are attached to it at the current point of running.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutExDiskLayout"
            }
          },
          "snapshot": {
            "description": "Layout of each snapshot of the virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutExSnapshotLayout"
            }
          },
          "timestamp": {
            "description": "Time when values in this structure were last updated.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "timestamp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFileLayoutEx": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFileLayoutEx*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutEx"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFileLayoutExDiskLayout": {
        "type": "object",
        "description": "Layout of a virtual disk, including the base- and delta- disks.\n\nA virtual disk typically is made up of a chain of disk-units.\n",
        "properties": {
          "key": {
            "description": "Identifier for the virtual disk in *VirtualHardware.device*.\n",
            "type": "integer",
            "format": "int32"
          },
          "chain": {
            "description": "The disk-unit chain that makes up this virtual disk.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutExDiskUnit"
            }
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFileLayoutExDiskLayout": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFileLayoutExDiskLayout*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutExDiskLayout"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFileLayoutExDiskUnit": {
        "type": "object",
        "description": "Information about a single unit of a virtual disk, such as\nthe base-disk or a delta-disk.\n\nA disk-unit consists of at least one descriptor\nfile, and zero or more extent files.\n\nSometimes, a disk-unit is also referred to as a _backing_.\n",
        "properties": {
          "fileKey": {
            "description": "Array of keys of the files that make up the disk unit.\n\nValues here\ncorrespond to property *VirtualMachineFileLayoutExFileInfo.key* in\n*VirtualMachineFileLayoutEx.file*.\n\nAt least one entry always exists in this array. Property\n*VirtualMachineFileLayoutExFileInfo.type* of the referenced file\ncan be used to distinguish the disk descriptor (type *diskDescriptor*) from the extents.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "fileKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFileLayoutExDiskUnit": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFileLayoutExDiskUnit*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutExDiskUnit"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFileLayoutExFileInfo": {
        "type": "object",
        "description": "Basic information about a file.\n",
        "properties": {
          "key": {
            "description": "Key to reference this file.\n",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "description": "Name of the file, including the complete datastore path.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of the file.\n\n*VirtualMachineFileLayoutExFileType_enum* lists\nall valid values.\n",
            "type": "string"
          },
          "size": {
            "description": "Size of the file in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "uniqueSize": {
            "description": "Size of the file in bytes corresponding to the file blocks\nthat were allocated uniquely.\n\nIn other words, if the underlying\nstorage supports sharing of file blocks across disk files, the\nproperty corresponds to the size of the file blocks that were\nallocated only in context of this file, i.e. it does not include\nshared blocks that were allocated in other files.\nThis property will be unset if the underlying implementation\nis unable to compute this information. One example of this\nis when the file resides on a NAS datastore whose underlying\nstorage doesn't support this metric. In some cases the field\nmight be set but the value could be over-estimated due to\nthe inability of the NAS based storage to provide an\naccurate value.\n",
            "type": "integer",
            "format": "int64"
          },
          "backingObjectId": {
            "description": "Backing object's durable and unmutable identifier.\n\nEach backing object has a unique identifier which is not settable.\nThis property is applied to the file backed by a storage object,\nsuch as vvol.\n",
            "type": "string"
          },
          "accessible": {
            "description": "Flag which indicates the accessibility of the file\nwhen the file info object was created.\n",
            "type": "boolean"
          }
        },
        "required": [
          "key",
          "name",
          "type",
          "size"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFileLayoutExFileInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFileLayoutExFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutExFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFileLayoutExSnapshotLayout": {
        "type": "object",
        "description": "Layout of a snapshot.\n",
        "properties": {
          "key": {
            "description": "Reference to the snapshot.\n\nRefers instance of *VirtualMachineSnapshot*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "dataKey": {
            "description": "Key to the snapshot data file in *VirtualMachineFileLayoutEx.file*.\n",
            "type": "integer",
            "format": "int32"
          },
          "memoryKey": {
            "description": "Key to the snapshot memory file in *VirtualMachineFileLayoutEx.file*.\n\nPowered off snapshots do not have a memory component and in some cases\nthe memory component is combined with the data component. When a memory\ncomponent does not exist, the value is initialized to -1.\n",
            "type": "integer",
            "format": "int32"
          },
          "disk": {
            "description": "Layout of each virtual disk of the virtual machine when the\nsnapshot was taken.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutExDiskLayout"
            }
          }
        },
        "required": [
          "key",
          "dataKey",
          "memoryKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFileLayoutExSnapshotLayout": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFileLayoutExSnapshotLayout*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFileLayoutExSnapshotLayout"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFlagInfo": {
        "type": "object",
        "description": "The FlagInfo data object type encapsulates the flag settings\nfor a virtual machine.\n\nThese properties are optional since the same structure\nis used to change the values during an edit or create operation.\n",
        "properties": {
          "disableAcceleration": {
            "description": "Flag to turn off video acceleration for a virtual machine console window.\n",
            "type": "boolean"
          },
          "enableLogging": {
            "description": "Flag to enable logging for a virtual machine.\n",
            "type": "boolean"
          },
          "useToe": {
            "description": "Flag to specify whether or not to use TOE (TCP/IP Offloading).\n",
            "type": "boolean"
          },
          "runWithDebugInfo": {
            "deprecated": true,
            "description": "Deprecated as of VI API 2.5, use *VirtualMachineFlagInfo.monitorType*.\n\nFlag to specify whether or not to run in debug mode.\n",
            "type": "boolean"
          },
          "monitorType": {
            "description": "vmx process type.\n\nSee *VirtualMachineFlagInfoMonitorType_enum*\nfor possible values for this property.\n",
            "type": "string"
          },
          "htSharing": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.7.\n\nSpecifies how the VCPUs of a virtual machine are allowed to\nshare physical cores on a hyperthreaded system.\n\nTwo VCPUs are\n\"sharing\" a core if they are both running on logical CPUs of\nthe core at the same time.\n\nSee also *VirtualMachineHtSharing_enum*.\n",
            "type": "string"
          },
          "snapshotDisabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0. The flag is ignored by the server.\n\nFlag to specify whether snapshots are disabled for this virtual\nmachine.\n",
            "type": "boolean"
          },
          "snapshotLocked": {
            "description": "Flag to specify whether the snapshot tree is locked for this virtual machine.\n",
            "type": "boolean"
          },
          "diskUuidEnabled": {
            "description": "Indicates whether disk UUIDs are being used by this virtual machine.\n\nIf this flag is set to false, disk UUIDs are not exposed to the guest.\n\nSince products before ESX 3.1 do not support disk UUIDs, moving virtual\nmachines from a platform that supports UUID to a platform that does\nnot support UUIDs could result in unspecified guest behavior. For\nvirtual machines where the ability to move to older platforms is\nimportant, this flag should be set to false. If the value is unset,\nthe behavior 'false' will be used.\n",
            "type": "boolean"
          },
          "virtualMmuUsage": {
            "description": "Indicates whether or not the system will try to use nested page\ntable hardware support, if available.\n\nBy default, VMware software will determine whether or not\nto use nested page table hardware support based on various factors such\nas the guest operating system type and the physical hardware.\nCertain workloads can benefit from explicitly turning\nnested page table hardware support on or off; this can be set using\nnptUsage flag.\nIf the value is unset, the value will default to automatic.\n\n*VirtualMachineFlagInfoVirtualMmuUsage_enum* represents the set of\npossible values.\n",
            "type": "string"
          },
          "virtualExecUsage": {
            "description": "Indicates whether or not the system will try to use Hardware\nVirtualization (HV) support for instruction virtualization,\nif available.\n\nBy default, VMware software will determine whether or not\nto use hardware virtualization support based on various factors such\nas the guest operating system type and the physical hardware.\nCertain workloads can benefit from explicitly turning\nhardware virtualization support on or off.\nIf the value is unset, the value will default to hvAuto.\n\n*VirtualMachineFlagInfoVirtualExecUsage_enum* represents the set of\npossible values.\n\nNew processors can enable two hardware acceleration technologies\nfor virtualization, one for instruction virtualization and the\nother for MMU virtualization. Intel names its hardware-assisted\ninstruction virtualization as VT, and its hardware-assisted\nMMU virtualization as EPT. AMD calls them as AMD-V and RVI,\nrespectively. For details on these technologies, please refer\nto documents from the processor vendors.\n\n*VirtualMachineFlagInfo.virtualExecUsage* controls instruction\nvirtualization; while *VirtualMachineFlagInfo.virtualMmuUsage*\ncontrols MMU virtualization. \"On\" allows hardware acceleration,\nwhile \"off\" only allows software solution.\n\nThere are four meaningful combinations.\n\n(hvAuto, automatic) - The host chooses which feature to use.\n(hvOn, on) - Use both VT/AMD-V and EPT/RVI.\n(hvOn, off) - Use VT/AMD-V but do not use EPT/RVI.\n(hvOff, off) - Do not use any of these hardware acceleration technologies.\n",
            "type": "string"
          },
          "snapshotPowerOffBehavior": {
            "description": "Specifies the power-off behavior for a virtual machine that has\na snapshot.\n\nIf the value is unset, the behavior 'powerOff' will\nbe used.\n\nSee also *VirtualMachinePowerOffBehavior_enum*.\n",
            "type": "string"
          },
          "recordReplayEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0.\n\nFlag to specify whether record and replay operations are\nallowed for this virtual machine.\n\nIf this flag is set to 'true', instruction virtualization\nwill use hardware virtualization (HV) support. I.e.,\nvirtualExecUsage will be set to 'hvOn'.\nIf this flag is set to 'false' for a virtual machine that\nalready has a recording, replay will be disallowed, though\nthe recording will be preserved.\nIf the value is unset, the behavior 'false' will be used.\n",
            "type": "boolean"
          },
          "faultToleranceType": {
            "description": "Indicates the type of fault tolerance type the virtual machine is\nconfigured to use.\n\n*VirtualMachineFaultToleranceType_enum* represents the set of\npossible values.\n",
            "type": "string"
          },
          "cbrcCacheEnabled": {
            "description": "Flag to specify whether common CBRC digest cache is enabled for this\nvirtual machine.\n\nThe common CBRC cache is shared between the hot added disks in the VM.\nIf this flag is set to 'true' the VM will allocate a commont digest\ncache on power on.\n",
            "type": "boolean"
          },
          "vvtdEnabled": {
            "description": "Flag to specify if Intel Virtualization Technology for Directed I/O\nis enabled for this virtual machine.\n\nWhen creating a new VM:\n\\- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,\nand this flag is set to <code>false</code> error is returned.\n\\- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to\n<code>true</code>, the value of this flag is set to <code>true</code>.\n",
            "type": "boolean"
          },
          "vbsEnabled": {
            "description": "Flag to specify if Virtualization-based security\nis enabled for this virtual machine.\n\nIf set to <code>true</code> when creating a new VM, the following VM\nproperties might be modified automatically:\n\\- If vim.vm.FlagInfo.vvtdEnabled is not set to <code>false</code>,\nit is set to <code>true</code>. Else error is returned.\n\\- If vim.vm.ConfigSpec.nestedHVEnabled is not set to <code>false</code>,\nit is set to <code>true</code>. Else error is returned.\n\\- If vim.vm.BootOptions.efiSecureBootEnabled is not set to\n<code>false</code>, it is set to <code>true</code>. Else error is\nreturned.\n\\- If vim.vm.firmware is not set to <code>bios</code>, it is set\nto <code>efi</code>. Else error is returned.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineFlagInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFlagInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFlagInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFloppyInfo": {
        "type": "object",
        "description": "FloppyInfo class contains information about a physical floppy\ndrive on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineFloppyInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFloppyInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFloppyInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineForkConfigInfo": {
        "type": "object",
        "description": "This data object describes the fork configuration of this\nvirtual machine.\n",
        "properties": {
          "parentEnabled": {
            "description": "Flag to indicate whether this virtual machine is a parent enabled\nvirtual machine.\n\nIf this vm is not a parent enabled vm this\nproperty will be unset.\nWhen set into the vim.vm.ConfigSpec this flag will be ignored.\n",
            "type": "boolean"
          },
          "childForkGroupId": {
            "description": "The fork group ID identifies the parent group of which this child\nVirtualMachine is a child.\n\nApplicable for child VirtualMachines only.\n",
            "type": "string"
          },
          "parentForkGroupId": {
            "description": "The fork group ID identifies the parent group which this VirtualMachine\nbelongs to.\n\nApplicable for parent VirtualMachines only.\n",
            "type": "string"
          },
          "childType": {
            "description": "The flag to indicate the fork child type.\n\nFor a persistent child\nvirtual machine, once it is powered on, it will become a linked\nclone of its parent and this flag will be set to 'none'.\n\nSee also *VirtualMachineForkConfigInfoChildType_enum*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineForkConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineForkConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineForkConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestInfo": {
        "type": "object",
        "description": "Information about the guest operating system.\n\nMost of this information is collected by VMware Tools.\nIn general, be sure you have VMware Tools installed\nand that the virtual machine is running when you access this information.\n",
        "properties": {
          "toolsStatus": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0 use *GuestInfo.toolsVersionStatus* and\n*GuestInfo.toolsRunningStatus*.\n\nCurrent status of VMware Tools in the guest operating system, if known.\n",
            "$ref": "#/components/schemas/VirtualMachineToolsStatus_enum"
          },
          "toolsVersionStatus": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1 use *GuestInfo.toolsVersionStatus2*.\n\nCurrent version status of VMware Tools in the guest operating system,\nif known.\n\nThe set of possible values is described in\n*VirtualMachineToolsVersionStatus_enum* for vSphere API 5.0.\n",
            "type": "string"
          },
          "toolsVersionStatus2": {
            "description": "Current version status of VMware Tools in the guest operating system,\nif known.\n\nThe set of possible values is described in\n*VirtualMachineToolsVersionStatus_enum*\n",
            "type": "string"
          },
          "toolsRunningStatus": {
            "description": "Current running status of VMware Tools in the guest operating system,\nif known.\n\nThe set of possible values is described in\n*VirtualMachineToolsRunningStatus_enum*\n",
            "type": "string"
          },
          "toolsVersion": {
            "description": "Current version of VMware Tools, if known.\n",
            "type": "string"
          },
          "toolsInstallType": {
            "description": "Current installation type of VMware Tools in the guest operating system.\n\nThe set of possible values is described in\n*VirtualMachineToolsInstallType_enum*\n",
            "type": "string"
          },
          "guestId": {
            "description": "Guest operating system identifier (short name), if known.\n",
            "type": "string"
          },
          "guestFamily": {
            "description": "Guest operating system family, if known.\n",
            "type": "string"
          },
          "guestFullName": {
            "description": "Guest operating system full name, if known.\n",
            "type": "string"
          },
          "guestDetailedData": {
            "description": "Guest OS Detailed data.\n\nThe guest detailed data string is a property list (space separated,\nname='value' pairs where the value is embedded in single quotes) of\nmetadata provided by the guest OS when sufficiently recent tools are\ninstalled. The fields supplied will vary between distributions and\ndistribution versions. The order of these fields is not guaranteed.\n\nThe guest detailed data string is not available before a virtual machine\nis first powered on. The guest must first be booted and a supported\nversion of tools must be run to record the data (approximately 30-60\nseconds after booting). Once the guest detailed data string has been\nrecorded, it will be available whether the virtual machine is powered off\nor on.\n\nAvailable fields:\n<table summary=\"Available fields\">\n<thead>\n<tr>\n<th>Name</th>\n<th>Description</th>\n<th>Tools version first available</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>architecture</td>\n<td>'Arm' or 'X86'</td>\n<td>11.2.0</td>\n</tr>\n<tr>\n<td>bitness</td>\n<td>'32' or '64'</td>\n<td>11.2.0</td>\n</tr>\n<tr>\n<td>buildNumber</td>\n<td>OS build number</td>\n<td>11.2.0</td>\n</tr>\n<tr>\n<td>cpeString</td>\n<td>NIST Common Platform Enumeration Specification string, a standardized identifier for the OS</td>\n<td>12.2.0</td>\n</tr>\n<tr>\n<td>distroAddlVersion</td>\n<td>Longer OS version string that may contain additional info (e.g. version name)</td>\n<td>12.2.0</td>\n</tr>\n<tr>\n<td>distroName</td>\n<td>OS distribution name</td>\n<td>11.2.0</td>\n</tr>\n<tr>\n<td>distroVersion</td>\n<td>OS version string</td>\n<td>11.2.0</td>\n</tr>\n<tr>\n<td>familyName</td>\n<td>OS family name (Windows, Linux, etc.)</td>\n<td>11.2.0</td>\n</tr>\n<tr>\n<td>kernelVersion</td>\n<td>Linux kernel version, Windows 10+ patch number, or Windows build number</td>\n<td>11.2.0</td>\n</tr>\n<tr>\n<td>prettyName</td>\n<td>Officially specified distro \"pretty name\"</td>\n<td>11.2.0</td>\n</tr>\n</tbody>\n</table>\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "string"
          },
          "hostName": {
            "description": "Hostname of the guest operating system, if known.\n",
            "type": "string"
          },
          "ipAddress": {
            "description": "Primary IP address assigned to the guest operating system, if known.\n",
            "type": "string"
          },
          "net": {
            "description": "Guest information about network adapters, if known.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestNicInfo"
            }
          },
          "ipStack": {
            "description": "Guest information about IP networking stack, if known.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestStackInfo"
            }
          },
          "disk": {
            "description": "Guest information about disks.\n\nYou can obtain Linux guest disk information for the following file system\ntypes: Ext2, Ext3, Ext4, ReiserFS, XFS, Btrfs, NTFS, VFAT, UFS, PCFS, HFS,\nand MS-DOS.\n\nNOTE: Installing a more recent version of VMware Tools in the guest may help\nobtain disk information for more file system types. Please refer the VMware Tools\nUser Guide for up-to-date supported file system types.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestDiskInfo"
            }
          },
          "screen": {
            "description": "Guest screen resolution info, if known.\n",
            "$ref": "#/components/schemas/GuestScreenInfo"
          },
          "guestState": {
            "description": "Operation mode of guest operating system.\n\nOne of:\n- \"running\" - Guest is running normally.\n- \"shuttingdown\" - Guest has a pending shutdown command.\n- \"resetting\" - Guest has a pending reset command.\n- \"standby\" - Guest has a pending standby command.\n- \"notrunning\" - Guest is not running.\n- \"unknown\" - Guest information is not available.\n",
            "type": "string"
          },
          "appHeartbeatStatus": {
            "description": "Application heartbeat status.\n\nPlease see *VirtualMachineAppHeartbeatStatusType_enum*\n",
            "type": "string"
          },
          "guestKernelCrashed": {
            "description": "Guest operating system's kernel crash state.\n\nIf true, the guest operating system's kernel has crashed.\n",
            "type": "boolean"
          },
          "appState": {
            "description": "Application state.\n\nIf vSphere HA is enabled and the vm is configured for Application Monitoring\nand this field's value is \"appStateNeedReset\" then HA will attempt immediately reset\nthe vm.\nThere are some system conditions which may delay the immediate reset. The immediate\nreset will be performed as soon as allowed by vSphere HA and ESX. If during these\nconditions the value is changed to appStateOk the reset will be cancelled.\n\nSee also *GuestInfoAppStateType_enum*.\n",
            "type": "string"
          },
          "guestOperationsReady": {
            "description": "Guest Operations availability.\n\nIf true, the virtual machine is ready to process guest operations.\n",
            "type": "boolean"
          },
          "interactiveGuestOperationsReady": {
            "description": "Interactive Guest Operations availability.\n\nIf true, the virtual machine is ready to process guest operations\nas the user interacting with the guest desktop.\n",
            "type": "boolean"
          },
          "guestStateChangeSupported": {
            "description": "State change support.\n\nIf true, the virtual machine is ready to process soft power operations.\n",
            "type": "boolean"
          },
          "generationInfo": {
            "description": "A list of namespaces and their corresponding generation numbers.\n\nOnly namespaces with non-zero\n*VirtualMachineNamespaceManagerCreateSpec.maxSizeEventsFromGuest*\nare guaranteed to be present here.\nUse *VirtualMachineNamespaceManager.ListNamespaces* to retrieve list of\nnamespaces.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestInfoNamespaceGenerationInfo"
            }
          },
          "hwVersion": {
            "description": "The hardware version string for this virtual machine.\n",
            "type": "string"
          },
          "customizationInfo": {
            "description": "Guest OS Customization status info.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "$ref": "#/components/schemas/GuestInfoCustomizationInfo"
          }
        },
        "required": [
          "guestState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestInfo": {
        "type": "object",
        "description": "A boxed array of *GuestInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestInfoCustomizationInfo": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "customizationStatus": {
            "description": "The customization status for this VM\n\nSee also *GuestInfoCustomizationStatus_enum*for the list of supported values.\n",
            "type": "string"
          },
          "startTime": {
            "description": "The time when the customization process has started inside the\nguest OS\n",
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "description": "The time when the customization process has completed inside the\nguest OS\n",
            "type": "string",
            "format": "date-time"
          },
          "errorMsg": {
            "description": "Description of the error if there is error for the customization\nprocess inside the guest OS\n",
            "type": "string"
          }
        },
        "required": [
          "customizationStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestInfoCustomizationInfo": {
        "type": "object",
        "description": "A boxed array of *GuestInfoCustomizationInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestInfoCustomizationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestDiskInfo": {
        "type": "object",
        "description": "Information about each local virtual disk configured in the\nguest operating system.\n",
        "properties": {
          "diskPath": {
            "description": "Name of the virtual disk in the guest operating system.\n\nFor example: C:\\\\\n",
            "type": "string"
          },
          "capacity": {
            "description": "Total capacity of the disk, in bytes.\n\nThis is part of the virtual machine configuration.\n",
            "type": "integer",
            "format": "int64"
          },
          "freeSpace": {
            "description": "Free space on the disk, in bytes.\n\nThis is retrieved by VMware Tools.\n",
            "type": "integer",
            "format": "int64"
          },
          "filesystemType": {
            "description": "Filesystem type, if known.\n\nFor example NTFS or ext3.\n",
            "type": "string"
          },
          "mappings": {
            "description": "VirtualDisks backing the guest partition, if known.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestInfoVirtualDiskMapping"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestDiskInfo": {
        "type": "object",
        "description": "A boxed array of *GuestDiskInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestDiskInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestInfoNamespaceGenerationInfo": {
        "type": "object",
        "description": "A data class for the namespace and its corresponding generation number\nThe generation number can be used to track updates to the corresponding\nnamespace.\n\nAn update to the generation number indicates that the return\nvalue of *VirtualMachineNamespaceManager.FetchEventsFromGuest* may have\nchanged.\n",
        "properties": {
          "key": {
            "description": "The namespace name as the unique key.\n",
            "type": "string"
          },
          "generationNo": {
            "description": "Namespace generation number.\n\nGeneration number is changed whenever\nthere is new unread event pending from the guest to the VMODL.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key",
          "generationNo"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestInfoNamespaceGenerationInfo": {
        "type": "object",
        "description": "A boxed array of *GuestInfoNamespaceGenerationInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestInfoNamespaceGenerationInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestNicInfo": {
        "type": "object",
        "description": "Information about each virtual network adapter\nconfigured in the guest operating system.\n",
        "properties": {
          "network": {
            "description": "Name of the virtual switch portgroup or dvPort connected to this adapter.\n",
            "type": "string"
          },
          "ipAddress": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0, use ipConfig property.\n\nIP addresses of the adapter.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "macAddress": {
            "description": "MAC address of the adapter.\n",
            "type": "string"
          },
          "connected": {
            "description": "Flag indicating whether or not the virtual device is connected.\n",
            "type": "boolean"
          },
          "deviceConfigId": {
            "description": "Link to the corresponding virtual device.\n",
            "type": "integer",
            "format": "int32"
          },
          "dnsConfig": {
            "description": "DNS configuration of the adapter.\n\nThis property is set only when Guest OS supports it.\nSee *GuestStackInfo* dnsConfig for system wide\nsettings.\n",
            "$ref": "#/components/schemas/NetDnsConfigInfo"
          },
          "ipConfig": {
            "description": "IP configuration settings of the adapter\nSee *GuestStackInfo* ipStackConfig for system wide\nsettings.\n",
            "$ref": "#/components/schemas/NetIpConfigInfo"
          },
          "netBIOSConfig": {
            "description": "NetBIOS configuration of the adapter\n",
            "$ref": "#/components/schemas/NetBIOSConfigInfo"
          }
        },
        "required": [
          "connected",
          "deviceConfigId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestNicInfo": {
        "type": "object",
        "description": "A boxed array of *GuestNicInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestNicInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestScreenInfo": {
        "type": "object",
        "description": "Screen settings\n",
        "properties": {
          "width": {
            "description": "Width of the screen in pixels.\n",
            "type": "integer",
            "format": "int32"
          },
          "height": {
            "description": "Height of the screen in pixels.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "width",
          "height"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestScreenInfo": {
        "type": "object",
        "description": "A boxed array of *GuestScreenInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestScreenInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestStackInfo": {
        "type": "object",
        "description": "Information about the Internet Protocol stack\nas configured in the guest operating system.\n",
        "properties": {
          "dnsConfig": {
            "description": "Client DNS configuration.\n\nHow DNS queries are resolved.\n",
            "$ref": "#/components/schemas/NetDnsConfigInfo"
          },
          "ipRouteConfig": {
            "description": "IP route table configuration.\n",
            "$ref": "#/components/schemas/NetIpRouteConfigInfo"
          },
          "ipStackConfig": {
            "description": "Report Kernel IP configuration settings.\n\nThe key part contains a unique number in the report.\nThe value part contains the 'key=value'\nas provided by the underlying provider.\nFor example on Linux, BSD, the\nsystcl -a output would be reported as:\nkey='5', value='net.ipv4.tcp\\_keepalive\\_time = 7200'\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "dhcpConfig": {
            "description": "Client side DHCP for a given interface.\n\nThis reports only the system wide dhcp client settings.\nSee NicInfo.IpConfig for per interface settings.\nFor example on Linux, BSD systems:\nUsing the file dhclient.conf output would be reported as:\nkey='1', value='timeout 60;'\nkey='2', value='reboot 10;'\n",
            "$ref": "#/components/schemas/NetDhcpConfigInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestStackInfo": {
        "type": "object",
        "description": "A boxed array of *GuestStackInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestStackInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestInfoVirtualDiskMapping": {
        "type": "object",
        "description": "Describes the virtual disk backing a local guest disk.\n",
        "properties": {
          "key": {
            "description": "The key of the VirtualDevice.\n\n*VirtualDevice.key*\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestInfoVirtualDiskMapping": {
        "type": "object",
        "description": "A boxed array of *GuestInfoVirtualDiskMapping*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestInfoVirtualDiskMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineGuestIntegrityInfo": {
        "type": "object",
        "description": "This data object describes the guest integrity platform configuration of\nthis virtual machine.\n",
        "properties": {
          "enabled": {
            "description": "Flag to indicate whether guest integrity platform feature is enabled for\nthis virtual machine.\n\nGuest integrity adds capabilities in the virtual\nplatform to detect attacks on the guest OS kernel\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineGuestIntegrityInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineGuestIntegrityInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineGuestIntegrityInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineGuestMonitoringModeInfo": {
        "type": "object",
        "description": "This data object describes the GMM (Guest Mode Monitoring) configuration\nof this virtual machine.\n",
        "properties": {
          "gmmFile": {
            "type": "string"
          },
          "gmmAppliance": {
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineGuestMonitoringModeInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineGuestMonitoringModeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineGuestMonitoringModeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestOsDescriptor": {
        "type": "object",
        "description": "This data object type contains information to describe a\nparticular guest operating system.\n",
        "properties": {
          "id": {
            "description": "Identifier (short name) for the guest operating system.\n",
            "type": "string"
          },
          "family": {
            "description": "Family to which this guest operating system belongs.\n",
            "type": "string"
          },
          "fullName": {
            "description": "Full name of the guest operating system.\n\nFor example, if the value of \"id\" is \"win2000Pro\", then\nthe value of \"fullName\" is \"Windows 2000 Professional\".\n",
            "type": "string"
          },
          "supportedMaxCPUs": {
            "description": "Maximum number of processors supported for this guest.\n",
            "type": "integer",
            "format": "int32"
          },
          "numSupportedPhysicalSockets": {
            "description": "Maximum number of sockets supported for this guest.\n",
            "type": "integer",
            "format": "int32"
          },
          "numSupportedCoresPerSocket": {
            "description": "Maximum number of cores per socket for this guest.\n",
            "type": "integer",
            "format": "int32"
          },
          "supportedMinMemMB": {
            "description": "Minimum memory requirements supported for this guest, in MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "supportedMaxMemMB": {
            "description": "Maximum memory requirements supported for this guest, in MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "recommendedMemMB": {
            "description": "Recommended default memory size for this guest, in MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "recommendedColorDepth": {
            "description": "Recommended default color depth for this guest.\n",
            "type": "integer",
            "format": "int32"
          },
          "supportedDiskControllerList": {
            "description": "List of supported disk controller types for this guest.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "recommendedSCSIController": {
            "description": "Recommended default SCSI controller type for this guest.\n",
            "type": "string"
          },
          "recommendedDiskController": {
            "description": "Recommended default disk controller type for this guest.\n",
            "type": "string"
          },
          "supportedNumDisks": {
            "description": "Number of disks supported for this guest.\n",
            "type": "integer",
            "format": "int32"
          },
          "recommendedDiskSizeMB": {
            "description": "Recommended default disk size for this guest, in MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "recommendedCdromController": {
            "description": "Recommended default CD-ROM type for this guest.\n",
            "type": "string"
          },
          "supportedEthernetCard": {
            "description": "List of supported ethernet cards for this guest.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "recommendedEthernetCard": {
            "description": "Recommended default ethernet controller type for this guest.\n",
            "type": "string"
          },
          "supportsSlaveDisk": {
            "description": "Flag to indicate whether or not this guest can support\na disk configured as a slave.\n",
            "type": "boolean"
          },
          "cpuFeatureMask": {
            "description": "Specifies the CPU feature compatibility masks.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCpuIdInfo"
            }
          },
          "smcRequired": {
            "description": "Flag that indicates wether the guest requires an SMC (Apple hardware).\n\nThis is logically equivalent to GuestOS = Mac OS\n",
            "type": "boolean"
          },
          "supportsWakeOnLan": {
            "description": "Flag to indicate whether or not this guest can support Wake-on-LAN.\n",
            "type": "boolean"
          },
          "supportsVMI": {
            "description": "Flag indicating whether or not this guest supports the virtual\nmachine interface.\n",
            "type": "boolean"
          },
          "supportsMemoryHotAdd": {
            "description": "Whether the memory size for this guest can be changed\nwhile the virtual machine is running.\n",
            "type": "boolean"
          },
          "supportsCpuHotAdd": {
            "description": "Whether virtual CPUs can be added to this guest\nwhile the virtual machine is running.\n",
            "type": "boolean"
          },
          "supportsCpuHotRemove": {
            "description": "Whether virtual CPUs can be removed from this guest\nwhile the virtual machine is running.\n",
            "type": "boolean"
          },
          "supportedFirmware": {
            "description": "Supported firmware types for this guest.\n\nPossible values are described in\n*GuestOsDescriptorFirmwareType_enum*\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "recommendedFirmware": {
            "description": "Recommended firmware type for this guest.\n\nPossible values are described in\n*GuestOsDescriptorFirmwareType_enum*\n",
            "type": "string"
          },
          "supportedUSBControllerList": {
            "description": "List of supported USB controllers for this guest.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "recommendedUSBController": {
            "description": "Recommended default USB controller type for this guest.\n",
            "type": "string"
          },
          "supports3D": {
            "description": "Whether this guest supports 3D graphics.\n",
            "type": "boolean"
          },
          "recommended3D": {
            "description": "Recommended 3D graphics for this guest.\n",
            "type": "boolean"
          },
          "smcRecommended": {
            "description": "Whether SMC (Apple hardware) is recommended for this guest.\n",
            "type": "boolean"
          },
          "ich7mRecommended": {
            "description": "Whether I/O Controller Hub is recommended for this guest.\n",
            "type": "boolean"
          },
          "usbRecommended": {
            "description": "Whether USB controller is recommended for this guest.\n",
            "type": "boolean"
          },
          "supportLevel": {
            "description": "Support level of this Guest\nPossible values are described in\n*GuestOsDescriptorSupportLevel_enum*\n",
            "type": "string"
          },
          "supportedForCreate": {
            "description": "Whether or not this guest should be allowed for selection\nduring virtual machine creation.\n",
            "type": "boolean"
          },
          "vRAMSizeInKB": {
            "description": "Video RAM size limits supported by this guest, in KB.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSupportedFloppyDevices": {
            "description": "Maximum number of floppies supported by this guest.\n",
            "type": "integer",
            "format": "int32"
          },
          "wakeOnLanEthernetCard": {
            "description": "List of NICs supported by this guest that support Wake-On-Lan.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supportsPvscsiControllerForBoot": {
            "description": "Whether or not this guest can use pvscsi as boot adapter.\n",
            "type": "boolean"
          },
          "diskUuidEnabled": {
            "description": "Whether or not this guest should have disk uuid enabled by default.\n",
            "type": "boolean"
          },
          "supportsHotPlugPCI": {
            "description": "Whether or not this guest supports hot plug of PCI devices.\n",
            "type": "boolean"
          },
          "supportsSecureBoot": {
            "description": "Whether or not this guest supports Secure Boot.\n\nIf some of the OS\nreleases that fall under this guest OS descriptor support Secure Boot, it\nis reasonable to offer the ability to enable Secure Boot. Only\nmeaningful when virtual EFI firmware is in use.\n",
            "type": "boolean"
          },
          "defaultSecureBoot": {
            "description": "Whether or not Secure Boot should be enabled by default for this\nguest OS.\n\nIf all OS releases that fall under this guest OS descriptor\nsupport Secure Boot and are known to operate correctly with Secure Boot\nenabled, it is reasonable to enable it by default. Only meaningful when\nvirtual EFI firmware is in use.\n",
            "type": "boolean"
          },
          "persistentMemorySupported": {
            "description": "Support of persistent memory (virtual NVDIMM device).\n\nSee also *VirtualNVDIMM*.\n",
            "type": "boolean"
          },
          "supportedMinPersistentMemoryMB": {
            "description": "Minimum persistent memory supported for this guest, in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "supportedMaxPersistentMemoryMB": {
            "description": "Maximum persistent memory supported for this guest, in MB.\n\nTotal size of all the virtual NVDIMM devices should be less\nthan this value.\n",
            "type": "integer",
            "format": "int64"
          },
          "recommendedPersistentMemoryMB": {
            "description": "Recommended default persistent memory size for this guest, in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "persistentMemoryHotAddSupported": {
            "description": "Support of persistent memory hot-add operation.\n",
            "type": "boolean"
          },
          "persistentMemoryHotRemoveSupported": {
            "description": "Support of persistent memory hot-remove operation.\n",
            "type": "boolean"
          },
          "persistentMemoryColdGrowthSupported": {
            "description": "Support of virtual NVDIMM cold-growth operation.\n",
            "type": "boolean"
          },
          "persistentMemoryColdGrowthGranularityMB": {
            "description": "Virtual NVDIMM cold-growth granularity in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "persistentMemoryHotGrowthSupported": {
            "description": "Support of virtual NVDIMM hot-growth operation.\n",
            "type": "boolean"
          },
          "persistentMemoryHotGrowthGranularityMB": {
            "description": "Virtual NVDIMM hot-growth granularity in MB.\n",
            "type": "integer",
            "format": "int64"
          },
          "numRecommendedPhysicalSockets": {
            "description": "Recommended number of sockets for this guest.\n",
            "type": "integer",
            "format": "int32"
          },
          "numRecommendedCoresPerSocket": {
            "description": "Recommended number of cores per socket for this guest.\n",
            "type": "integer",
            "format": "int32"
          },
          "vvtdSupported": {
            "description": "Support of Intel Virtualization Technology for Directed I/O.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "vbsSupported": {
            "description": "Support of Virtualization-based security.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "vsgxSupported": {
            "description": "Support for Intel Software Guard Extensions\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "vsgxRemoteAttestationSupported": {
            "description": "Support for Intel Software Guard Extensions remote attestation.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "supportsTPM20": {
            "description": "Support for TPM 2.0.\n",
            "type": "boolean"
          },
          "recommendedTPM20": {
            "description": "Support for default vTPM\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "vwdtSupported": {
            "description": "Support for Virtual Watchdog Timer.\n",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "family",
          "fullName",
          "supportedMaxCPUs",
          "numSupportedPhysicalSockets",
          "numSupportedCoresPerSocket",
          "supportedMinMemMB",
          "supportedMaxMemMB",
          "recommendedMemMB",
          "recommendedColorDepth",
          "supportedDiskControllerList",
          "recommendedDiskController",
          "supportedNumDisks",
          "recommendedDiskSizeMB",
          "recommendedCdromController",
          "supportedEthernetCard",
          "smcRequired",
          "supportsWakeOnLan",
          "supportsVMI",
          "supportsMemoryHotAdd",
          "supportsCpuHotAdd",
          "supportsCpuHotRemove",
          "supportedFirmware",
          "recommendedFirmware",
          "supports3D",
          "recommended3D",
          "smcRecommended",
          "ich7mRecommended",
          "usbRecommended",
          "supportLevel",
          "supportedForCreate",
          "vRAMSizeInKB",
          "numSupportedFloppyDevices",
          "supportsPvscsiControllerForBoot",
          "diskUuidEnabled",
          "supportsHotPlugPCI"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestOsDescriptor": {
        "type": "object",
        "description": "A boxed array of *GuestOsDescriptor*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestOsDescriptor"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineGuestQuiesceSpec": {
        "type": "object",
        "description": "This data object type encapsulates configuration settings\nwhen creating a virtual machine quiesced snapshot.\n",
        "properties": {
          "timeout": {
            "description": "The property to indicate maximum time in minutes for snapshot operation\nto be performed on the virtual machine.\n\nThe timeout can not be less than 5 minutes or more than 240 minutes.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineGuestQuiesceSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineGuestQuiesceSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineGuestQuiesceSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineIdeDiskDeviceInfo": {
        "type": "object",
        "description": "The IdeDiskDeviceInfo class contains detailed information about a specific\nIDE disk hardware device.\n\nThese devices are for the\nvim.vm.device.VirtualDisk.RawDiskVer2BackingInfo and\nvim.vm.device.VirtualDisk.PartitionedRawDiskVer2BackingInfo backings.\n",
        "properties": {
          "partitionTable": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineIdeDiskDevicePartitionInfo"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineDiskDeviceInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineIdeDiskDeviceInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineIdeDiskDeviceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineIdeDiskDeviceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineIdeDiskDevicePartitionInfo": {
        "type": "object",
        "description": "Describes the partition sizes\n",
        "properties": {
          "id": {
            "description": "Identification of the partition\n",
            "type": "integer",
            "format": "int32"
          },
          "capacity": {
            "description": "Size of partition\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "id",
          "capacity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineIdeDiskDevicePartitionInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineIdeDiskDevicePartitionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineIdeDiskDevicePartitionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineIndependentFilterSpec": {
        "type": "object",
        "description": "The IndependentFilterSpec data object is used to specify the independent\nfilters to be associated with virtual machine disks.\n\n***Since:*** vSphere API Release 7.0.2.1\n",
        "properties": {
          "filterName": {
            "description": "Name/id of the IO filter.\n",
            "type": "string"
          },
          "filterClass": {
            "description": "IO filter class.\n",
            "type": "string"
          },
          "filterCapabilities": {
            "description": "Capabilities defined by the above filter.\n\nBasically this key value pair define the configurable properties\nof the independent filters. Users can specify desired values.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "filterName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineBaseIndependentFilterSpec"
          }
        ]
      },
      "ArrayOfVirtualMachineIndependentFilterSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineIndependentFilterSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.2.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineIndependentFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineInstantCloneSpec": {
        "type": "object",
        "description": "Specification for creating an Instant Clone of a powered-on virtual machine.\n",
        "properties": {
          "name": {
            "description": "The name of the cloned virtual machine.\n",
            "type": "string"
          },
          "location": {
            "description": "A type of *VirtualMachineRelocateSpec* that specifies the location of\nresources the newly created virtual machine will use.\n\nThe location might be empty or specify:\n- The folder where the virtual machine should be located. If not\n  specified, the root VM folder of the source VM will be used.\n- A datastore where the InstantCloned virtual machine will be located\n  on the physical storage.\n- A resource pool determines where compute resources will be\n  available to the clone.\n- A device change specification. The only allowed device changes\n  are edits of VirtualEthernetCard and filebacked Serial/Parallel\n  ports.\n  \nAll other settings are NOT supported.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
          },
          "config": {
            "description": "A list of key value pairs that will be passed to the destination VM.\n\nThese pairs should be used to provide user-defined customization to\ndifferentiate the destination VM from the source VM. Values will be\nqueryable via destination VM's *VirtualMachineConfigInfo.extraConfig*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          },
          "biosUuid": {
            "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string\nin \"12345678-abcd-1234-cdef-123456789abc\" format.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "location"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineInstantCloneSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineInstantCloneSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineInstantCloneSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineLegacyNetworkSwitchInfo": {
        "type": "object",
        "description": "The LegacyNetworkSwitchInfo data object type contains information about\nthe legacy network switches available on the host.\n- VMware Server - Options available for the \"custom\" NetworkBackingType.\n- ESX Server - The \"esxnet\" NetworkBackingType.\n",
        "properties": {
          "name": {
            "description": "The name of the network switch.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineLegacyNetworkSwitchInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineLegacyNetworkSwitchInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineLegacyNetworkSwitchInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMessage": {
        "type": "object",
        "description": "Message data which is intended to be displayed according\nto the locale of a client.\n\nA *VirtualMachineMessage* contains both a formatted, localized version of the\ntext and the data needed to perform localization in conjunction\nwith localization catalogs.\n\nClients of the VIM API may use\n*SessionManager*.*SessionManager.SetLocale*\nto cause the server to emit localized *VirtualMachineMessage.text*, or may perform\nclient-side localization based on message catalogs provided by the\n*LocalizationManager*.\n\nMessage variables are always integers, e.g. {1} and {2}, which are\n1-based indexes into *VirtualMachineMessage.argument*.\n- The corresponding argument may be a recursive lookup:\n  - *VirtualMachineMessage.argument* = \\[\"button.cancel\", \"msg.revert\"\\]\n  - CATALOG(locmsg, *VirtualMachineMessage.id*) = \"Select '{1}' to {2}\"\n  - CATALOG(locmsg, button.cancel) = \"Cancel\"\n  - CATALOG(locmsg, msg.revert) = \"revert\"\n  - \\==&gt; *VirtualMachineMessage.text* = \"Select 'Cancel' to revert\"\n- If the recursive lookup fails, the argument is a plain string.\n  - *VirtualMachineMessage.argument* = \\[\"127.0.0.1\"\\]\n  - CATALOG(locmsg, *VirtualMachineMessage.id*) = \"IP address is {1}\"\n  - \\==&gt; *VirtualMachineMessage.text* \"IP address is 127.0.0.1\"\n    \nSee also *LocalizationManager*.\n",
        "properties": {
          "id": {
            "description": "A unique identifier for this particular message.\n\nThis field is a key for looking up format strings in the locmsg\ncatalog.\n",
            "type": "string"
          },
          "argument": {
            "description": "Substitution arguments for variables in the localized message.\n\nSubstitution variables in the format string identified by *VirtualMachineMessage.id*\nare 1-based indexes into this array. Substitution variable {1}\ncorresponds to argument\\[0\\], etc.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Any"
            }
          },
          "text": {
            "description": "Text in session locale.\n\nUse *SessionManager*.*SessionManager.SetLocale* to\nchange the session locale.\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineMessage": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMessage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMessage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMetadataManagerVmMetadata": {
        "type": "object",
        "description": "VmMetadata is a pair of VM ID and opaque metadata.\n",
        "properties": {
          "vmId": {
            "description": "Datastore URL-based ID for VM, for example,\n\"\\[datastore1\\] SomeVM/SomeVM.vmx\".\n",
            "type": "string"
          },
          "metadata": {
            "description": "Opaque metadata for the VM identified by vmId.\n\nIf no\nvalue is supplied, the entry for this VM is removed.\n",
            "type": "string"
          }
        },
        "required": [
          "vmId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineMetadataManagerVmMetadata": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMetadataManagerVmMetadata*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMetadataManagerVmMetadata"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMetadataManagerVmMetadataInput": {
        "type": "object",
        "description": "VmMetadataInput specifies the operation and metadata for a\nspecific VM.\n",
        "properties": {
          "operation": {
            "description": "The input operation type.\n\nThe values come from *VirtualMachineMetadataManagerVmMetadataOp_enum*\n",
            "type": "string"
          },
          "vmMetadata": {
            "description": "the VM and optional metadata\n",
            "$ref": "#/components/schemas/VirtualMachineMetadataManagerVmMetadata"
          }
        },
        "required": [
          "operation",
          "vmMetadata"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineMetadataManagerVmMetadataInput": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMetadataManagerVmMetadataInput*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMetadataManagerVmMetadataInput"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMetadataManagerVmMetadataOwner": {
        "type": "object",
        "description": "VmMetadataOwner defines the namespace for an owner\n",
        "properties": {
          "name": {
            "description": "A string representing the owner.\n\nValid values come\nfrom *VirtualMachineMetadataManagerVmMetadataOwnerOwner_enum* for vSAN datastores. Otherwise, the\nowner field is interpreted by the implementation based on\nthe datastore type.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineMetadataManagerVmMetadataOwner": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMetadataManagerVmMetadataOwner*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMetadataManagerVmMetadataOwner"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMetadataManagerVmMetadataResult": {
        "type": "object",
        "description": "A list of VmMetadataResults are returned for successful and\nnon-successful results of an update or retrieve operation.\n\nSee also *VirtualMachineMetadataManager.UpdateMetadata*, *VirtualMachineMetadataManager.RetrieveMetadata*, *VirtualMachineMetadataManager.RetrieveAllMetadata*, *VirtualMachineMetadataManager.ClearMetadata*.\n",
        "properties": {
          "vmMetadata": {
            "description": "The VM-specific metadata\n",
            "$ref": "#/components/schemas/VirtualMachineMetadataManagerVmMetadata"
          },
          "error": {
            "description": "MethodFault set for errors in getting or setting\nthe VmMetadata.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "vmMetadata"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineMetadataManagerVmMetadataResult": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMetadataManagerVmMetadataResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMetadataManagerVmMetadataResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineNetworkInfo": {
        "type": "object",
        "description": "NetworkInfo describes a network that a device backing\ncan attached to.\n",
        "properties": {
          "network": {
            "description": "Information about the network\n",
            "$ref": "#/components/schemas/NetworkSummary"
          },
          "vswitch": {
            "description": "Key of parent vSwitch of the network\n",
            "type": "string"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineNetworkInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineNetworkInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineNetworkInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineNetworkShaperInfo": {
        "type": "object",
        "description": "Network traffic shaping specification.\n\nTraffic shaping is used to configure the network utilization\ncharacteristics of a virtual machine.\n",
        "properties": {
          "enabled": {
            "description": "Is the shaper enabled?\n",
            "type": "boolean"
          },
          "peakBps": {
            "description": "Peak bandwidth, in bits per second.\n",
            "type": "integer",
            "format": "int64"
          },
          "averageBps": {
            "description": "Average bandwidth, in bits per second.\n",
            "type": "integer",
            "format": "int64"
          },
          "burstSize": {
            "description": "Burst size, in bytes.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineNetworkShaperInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineNetworkShaperInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineNetworkShaperInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OpaqueNetworkTargetInfo": {
        "type": "object",
        "description": "This class describes an opaque network that a device backing\ncan attached to.\n",
        "properties": {
          "network": {
            "description": "Information about the opaque network\n",
            "$ref": "#/components/schemas/OpaqueNetworkSummary"
          },
          "networkReservationSupported": {
            "description": "Indicates whether network bandwidth reservation is supported on\nthe opaque network\n",
            "type": "boolean"
          }
        },
        "required": [
          "network"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfOpaqueNetworkTargetInfo": {
        "type": "object",
        "description": "A boxed array of *OpaqueNetworkTargetInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpaqueNetworkTargetInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineParallelInfo": {
        "type": "object",
        "description": "ParallelInfo class contains information about a physical parallel\ndrive on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineParallelInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineParallelInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineParallelInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachinePciPassthroughInfo": {
        "type": "object",
        "description": "Description of a generic PCI device that can be attached to a virtual machine.\n",
        "properties": {
          "pciDevice": {
            "description": "Details of the PCI device, including vendor, class and\ndevice identification information.\n",
            "$ref": "#/components/schemas/HostPciDevice"
          },
          "systemId": {
            "description": "The ID of the system the PCI device is attached to.\n",
            "type": "string"
          }
        },
        "required": [
          "pciDevice",
          "systemId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachinePciPassthroughInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachinePciPassthroughInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachinePciPassthroughInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachinePciSharedGpuPassthroughInfo": {
        "type": "object",
        "description": "Description of a gpu PCI device that can be shared with a virtual machine.\n",
        "properties": {
          "vgpu": {
            "description": "The VGPU corresponding to this GPU passthrough device.\n",
            "type": "string"
          }
        },
        "required": [
          "vgpu"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachinePciSharedGpuPassthroughInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachinePciSharedGpuPassthroughInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachinePciSharedGpuPassthroughInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachinePrecisionClockInfo": {
        "type": "object",
        "description": "The PrecisionClockInfo data object type describes available host\nclock resources, which can be used as backing reference for\nvirtual precision clock devices.\n",
        "properties": {
          "systemClockProtocol": {
            "description": "The currrent host system clock synchronization protocol.\n\nUsed for specifying protocol in\n*VirtualPrecisionClockSystemClockBackingInfo*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachinePrecisionClockInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachinePrecisionClockInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachinePrecisionClockInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineProfileDetails": {
        "type": "object",
        "description": "The *VirtualMachineProfileDetails* data object type provides details of the policy\nassociated with a virtual machine and it's virtual disks.\n",
        "properties": {
          "profile": {
            "description": "Storage profile associated with Virtual Machine's home directory.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "diskProfileDetails": {
            "description": "An optional list that allows specifying details of the policy associated\nwith virutual disks.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileDetailsDiskProfileDetails"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineProfileDetails": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineProfileDetails*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineProfileDetailsDiskProfileDetails": {
        "type": "object",
        "description": "Details of the policies associated with Virtual Disks.\n",
        "properties": {
          "diskId": {
            "description": "Virtual disk ID.\n",
            "type": "integer",
            "format": "int32"
          },
          "profile": {
            "description": "Storage profile associated with the Virtual Disk.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          }
        },
        "required": [
          "diskId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineProfileDetailsDiskProfileDetails": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineProfileDetailsDiskProfileDetails*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileDetailsDiskProfileDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineProfileRawData": {
        "type": "object",
        "description": "The extensible data object type encapsulates additional data specific\nto Virtual Machine and its devices.\n\nThis data is provided by vSphere Extensions which are integral part\nof vSphere.\n\nThe data is not persisted in Virtual Machine configuration file but is\nstored and managed by extensions.\n\nStorage Profile Based Management (SPBM) will be one of the consumers of\nthis data structure. SPBM will provide detailed information about\nVirtual Machine storage requirements.\n",
        "properties": {
          "extensionKey": {
            "description": "vSphere Extension Identifier\n",
            "type": "string"
          },
          "objectData": {
            "description": "Extension-specific additional data to be associated\nwith Virtual machine and its devices.\n",
            "type": "string"
          }
        },
        "required": [
          "extensionKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineProfileRawData": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineProfileRawData*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileRawData"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineProfileSpec": {
        "type": "object",
        "description": "The ProfileSpec data object is used to specify the Storage Policy to be\nassociated with a Virtual Machine Home or a Virtual Disk.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineProfileSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineProfileSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachinePropertyRelation": {
        "type": "object",
        "description": "Data object which represents relations between a\nproperty and its target value and the required values\nof any other properties in the vm configuration so\nthat the target value can be set.\n",
        "properties": {
          "key": {
            "description": "The target property and its value\n",
            "$ref": "#/components/schemas/DynamicProperty"
          },
          "relations": {
            "description": "The related properties and their values\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachinePropertyRelation": {
        "type": "object",
        "description": "A boxed array of *VirtualMachinePropertyRelation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachinePropertyRelation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineQuestionInfo": {
        "type": "object",
        "description": "This data object type describes the question that is currently\nblocking a virtual machine.\n",
        "properties": {
          "id": {
            "description": "Identifier with an opaque value that specifies the pending question.\n",
            "type": "string"
          },
          "text": {
            "description": "Text that describes the pending question.\n",
            "type": "string"
          },
          "choice": {
            "description": "List of key-value pairs that specify possible answers.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "message": {
            "description": "The message data for the individual messages that comprise the question.\n\nOnly available on servers that support localization.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMessage"
            }
          }
        },
        "required": [
          "id",
          "text",
          "choice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineQuestionInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineQuestionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineQuestionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineRelocateSpec": {
        "type": "object",
        "description": "Specification for moving or copying a virtual machine to a different datastore\nor host.\n",
        "properties": {
          "service": {
            "description": "The service endpoint of vCenter where the virtual machine should be\nlocated.\n\nIf not specified, the current vCenter service is used. If the\nvirtual machine is relocated to a different vCenter service, the\ndestination host, pool, and datastore parameters have to be explicitly\nspecified by default when the task is submitted.\n",
            "$ref": "#/components/schemas/ServiceLocator"
          },
          "folder": {
            "description": "The folder where the virtual machine should be located.\n\nIf not specified,\nthe root VM folder of the destination datacenter will be used.\n\nRefers instance of *Folder*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastore": {
            "description": "The datastore where the virtual machine should be located.\n\nIf\nnot specified, the current datastore is used.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "diskMoveType": {
            "description": "Manner in which to move the virtual disk to the *target datastore*.\n\nThe set of possible values is described in\n*VirtualMachineRelocateDiskMoveOptions_enum*.\n\nThis property applies to all the disks which the virtual machine has,\nbut can be overridden on a per-disk basis using\n*VirtualMachineRelocateSpecDiskLocator.diskMoveType* prior to vSphere\nAPI 6.0 or using\n*VirtualDiskConfigSpec.diskMoveType* in vSphere API\n6.0 and later.\n\nThis property can only be set if\n*HostCapability.deltaDiskBackingsSupported* is true.\n\nIf left unset then\n*moveAllDiskBackingsAndDisallowSharing*\nis assumed.\n",
            "type": "string"
          },
          "pool": {
            "description": "The resource pool to which this virtual machine should be attached.\n- For a relocate or clone operation to a virtual machine, if the\n  argument is not supplied, the current resource pool of virtual\n  machine is used.\n- For a clone operation from a template to a virtual machine,\n  this argument is required.\n- If the virtual machine is relocated to a different vCenter service,\n  and a resource pool is not specified, the destination host must be\n  specified.\n- If a resource pool is specified, the virtual machine is powered\n  on, and the target pool represents a cluster without DRS enabled,\n  an InvalidArgument exception is thrown.\n- If the virtual machine is relocated to a different datacenter\n  within the vCenter service, the resource pool has to be specified\n  and cannot be unset.\n  \nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The target host for the virtual machine.\n\nIf not specified,\n- if resource pool is not specified, current host is used.\n- if resource pool is specified, and the target pool represents\n  a stand-alone host, the host is used.\n- if resource pool is specified, the virtual machine is powered on,\n  and the target pool represents a DRS-enabled cluster, a host\n  selected by DRS is used.\n- if resource pool is specified, the virtual machine is powered on,\n  and the target pool represents a cluster without DRS enabled,\n  an InvalidArgument exception is thrown.\n- if a resource pool is specified, the target pool represents a\n  cluster, and this is a clone or the virtual machine is powered\n  off, a random compatible host is chosen.\n- A destination host must be specified if the virtual machine is\n  relocated to a different vCenter service, and a resource pool is\n  not specified.\n  \nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "disk": {
            "description": "An optional list that allows specifying the datastore location\nfor each virtual disk.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineRelocateSpecDiskLocator"
            }
          },
          "transform": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0. Use\n*VirtualMachineRelocateSpecDiskLocator.diskBackingInfo* instead for\ndisk format conversions. This setting will be ignored for\ndisks with the above property set.\n\nTransformation to perform on the disks.\n\nThe backend is free to ignore\nthis hint if it is not valid for the current operation. This can be\nused by clients, for example, to create sparse disks for templates.\n\nSee also *VirtualMachineRelocateTransformation_enum*.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateTransformation_enum"
          },
          "deviceChange": {
            "description": "An optional list of virtual device specs that allow specifying the new\ndevice locations for the relocate operation.\n\nThe supported device changes are:\n- For *VirtualEthernetCard*, it has to be used\n  in *VirtualDeviceConfigSpec.device* to specify the\n  target network backing.\n- For *VirtualDisk*, it can be used to specify\n  vFlash cache configuration, or the storage profile for destination\n  disks. The storage profiles are used to either upgrade the virtual\n  disk's storage to a persistent memory, or keep the virtual disk\n  in persistent memory when moving the virtual machine's overall\n  storage.\n- All other specification are ignored.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceConfigSpec"
            }
          },
          "profile": {
            "description": "Storage profile requirement for Virtual Machine's home directory.\n\nProfiles are solution specific.\nStorage Profile Based Management(SPBM) is a vSphere server extension.\nThe API users who want to provision VMs using Storage Profiles, need to\ninteract with SPBM.\nThis is an optional parameter and if user doesn't specify profile,\nthe default behavior will apply.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "cryptoSpec": {
            "description": "Virtual Machine cryptographic options.\n\nEncryption requirement for the virtual machine's metadata\nfiles (non-disk files).\n",
            "$ref": "#/components/schemas/CryptoSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineRelocateSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineRelocateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineRelocateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineRelocateSpecDiskLocator": {
        "type": "object",
        "description": "The DiskLocator data object type specifies a virtual disk device (by ID) and\na datastore locator for the disk's storage.\n",
        "properties": {
          "diskId": {
            "description": "Device ID of the virtual disk.\n",
            "type": "integer",
            "format": "int32"
          },
          "datastore": {
            "description": "Target datastore.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "diskMoveType": {
            "description": "Manner in which to move the virtual disk to the *target datastore*.\n\nThe set of possible values is described\nin *VirtualMachineRelocateDiskMoveOptions_enum*.\n\nThis property can only be set if *HostCapability.deltaDiskBackingsSupported* is true.\n\nIf left unset then *moveAllDiskBackingsAndDisallowSharing*\nis assumed.\n",
            "type": "string"
          },
          "diskBackingInfo": {
            "description": "Backing information for the virtual disk at the destination.\n\nThis can be used, for instance, to change the format of the\nvirtual disk. If the specified backing is invalid or not\nsupported at the destination, *InvalidDeviceBacking* is thrown. Specific property\nchanges may be ignored if they are not supported.\n\nSupported BackingInfo types and properties:\n- *VirtualDiskFlatVer2BackingInfo*\n  - thinProvisioned\n  - eagerlyScrub\n- *VirtualDiskSeSparseBackingInfo*\n  (ESX 5.1 or later)\n",
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          },
          "profile": {
            "description": "Virtual Disk Profile requirement.\n\nProfiles are solution specific.\nProfile Based Storage Management is a vSphere server extension.\nThe API users who want to provision VMs using Storage Profiles, need to\ninteract with it.\nThis is an optional parameter and if user doesn't specify profile,\nthe default behavior will apply.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "backing": {
            "description": "Cryptographic option of the current disk.\n",
            "$ref": "#/components/schemas/VirtualMachineRelocateSpecDiskLocatorBackingSpec"
          },
          "filterSpec": {
            "description": "List of independent filters *VirtualMachineIndependentFilterSpec*\nto be configured on the virtual disk after the relocate.\n\n***Since:*** vSphere API Release 7.0.2.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBaseIndependentFilterSpec"
            }
          }
        },
        "required": [
          "diskId",
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineRelocateSpecDiskLocator": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineRelocateSpecDiskLocator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineRelocateSpecDiskLocator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineRelocateSpecDiskLocatorBackingSpec": {
        "type": "object",
        "description": "<code>*VirtualMachineRelocateSpecDiskLocatorBackingSpec*</code> is a data\nobject type for crytographic information about the backing of a\ndevice.\n\nThe member *VirtualMachineRelocateSpecDiskLocatorBackingSpec.parent* refers the parent in the chain of\n*VirtualDeviceBackingInfo* objects.\n",
        "properties": {
          "parent": {
            "$ref": "#/components/schemas/VirtualMachineRelocateSpecDiskLocatorBackingSpec"
          },
          "crypto": {
            "$ref": "#/components/schemas/CryptoSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineRelocateSpecDiskLocatorBackingSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineRelocateSpecDiskLocatorBackingSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineRelocateSpecDiskLocatorBackingSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationConfigSpec": {
        "type": "object",
        "description": "The ReplicationConfigSpec object type encapsulates the replication\nconfiguration parameters for a virtual machine.\n\nIt consists of two\nparts: 1) a set of virtual machine-wide replication properties; 2)\na set of properties per replicated virtual disk. ReplicationSetting\nis passed as an argument for initial replication configuration\n(@see vim.HbrManager#enableReplication) as well as for\nre-configuration of a replicated VM's properties (@see\nvim.HbrManager#reconfigureReplication).\n",
        "properties": {
          "generation": {
            "description": "A generation number (&gt;=0) that reflects the \"freshness\" of the\nReplicationConfigSpec on which a re-configuration is based.\n\nThe\ngeneration number is used to detect and disallow concurrent\nupdates to a VM's replication settings.\nFor initial replication enablement, generation = 0. The\nreplication settings of every replication re-configuration\noperation must reflect the latest generation number known to the\ncaller. It takes an explicit call to get the latest replication\nsettings to find out what the latest generation number is. The\nupdate algorithm of the generation number is opaque to the\ncaller; e.g., the caller cannot assume that the generation\nnumbers are incremented by one every time replication is\n(re)configured, not even that they are changing monotonically.\n",
            "type": "integer",
            "format": "int64"
          },
          "vmReplicationId": {
            "description": "An opaque identifier that uniquely identifies a replicated VM\nbetween primary and secondary sites.\n",
            "type": "string"
          },
          "destination": {
            "description": "The IP address of the HBR Server in the secondary site\nwhere this VM is replicated to.\n\nNote: If net encryption is enabled, this is the address of the\nencryption tunnelling agent.\n",
            "type": "string"
          },
          "port": {
            "description": "The port on the HBR Server in the secondary site where this VM\nis replicated to.\n\nNote: If net encryption is enabled, this is the port of the\nencryption tunneling agent.\n",
            "type": "integer",
            "format": "int32"
          },
          "rpo": {
            "description": "The Recovery Point Objective specified for this VM, in minutes.\n\nCurrently, valid values are in the range of 1 minute to 1440\nminutes (24 hours).\n",
            "type": "integer",
            "format": "int64"
          },
          "quiesceGuestEnabled": {
            "description": "Flag that indicates whether or not to quiesce the file system or\napplications in the guest OS before a consistent replica is\ncreated.\n",
            "type": "boolean"
          },
          "paused": {
            "description": "Flag that indicates whether or not the vm or group has been paused for\nreplication.\n",
            "type": "boolean"
          },
          "oppUpdatesEnabled": {
            "description": "Flag that indicates whether or not to perform opportunistic\nupdates in-between consistent replicas.\n",
            "type": "boolean"
          },
          "netCompressionEnabled": {
            "description": "Flag that indicates whether or not compression should\nbe used when sending traffic over the network.\n\nThe primary will negotiate the best compression with\nthe server on the secondary if this is enabled.\n",
            "type": "boolean"
          },
          "netEncryptionEnabled": {
            "description": "Flag that indicates whether or not encription should\nbe used when sending traffic over the network.\n\nThe primary will use the remoteCertificateThumbprint\nto verify the identity of the remote server.\n",
            "type": "boolean"
          },
          "encryptionDestination": {
            "description": "The IP address of the remote HBR server, target for encrypted LWD.\n\nThis field is required when net encryption is enabled, ignored otherwise.\n",
            "type": "string"
          },
          "encryptionPort": {
            "description": "The port on the remote HBR server, target for encrypted LWD.\n\nThis field is only relevant when net encryption is enabled.\n",
            "type": "integer",
            "format": "int32"
          },
          "remoteCertificateThumbprint": {
            "deprecated": true,
            "description": "Deprecated field is deprecated, use\n*vim.HbrManager.configureReplicationTargets* instead.\n\nThe SHA256 thumbprint of the remote server certificate.\n\nThis field is only relevant when net encription is enabled.\n",
            "type": "string"
          },
          "dataSetsReplicationEnabled": {
            "description": "Flag that indicates whether DataSets files are replicated or not.\n\n***Since:*** vSphere API Release 8.0.0.0\n",
            "type": "boolean"
          },
          "disk": {
            "description": "The set of the disks of this VM that are configured for\nreplication.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationInfoDiskSettings"
            }
          }
        },
        "required": [
          "generation",
          "vmReplicationId",
          "destination",
          "port",
          "rpo",
          "quiesceGuestEnabled",
          "paused",
          "oppUpdatesEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicationConfigSpec": {
        "type": "object",
        "description": "A boxed array of *ReplicationConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationInfoDiskSettings": {
        "type": "object",
        "description": "The ReplicationConfigSpec.DiskSettings object type encapsulates\nthe replication properties of a replicated disk of a replicated\nvirtual machine.\n",
        "properties": {
          "key": {
            "description": "The disk's device key in the VM's configuration.\n\nUsed to\nuniquely identify the disk to be configured for replication\nin the primary VM.\n",
            "type": "integer",
            "format": "int32"
          },
          "diskReplicationId": {
            "description": "An opaque identifier that uniquely identifies a replicated\ndisk between primary and secondary sites.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "diskReplicationId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicationInfoDiskSettings": {
        "type": "object",
        "description": "A boxed array of *ReplicationInfoDiskSettings*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationInfoDiskSettings"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineRuntimeInfo": {
        "type": "object",
        "description": "The RuntimeInfo data object type provides information about\nthe execution state and history of a virtual machine.\n",
        "properties": {
          "device": {
            "description": "Per-device runtime info.\n\nThis array will be empty if the host\nsoftware does not provide runtime info for any of the device\ntypes currently in use by the virtual machine.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineDeviceRuntimeInfo"
            }
          },
          "host": {
            "description": "The host that is responsible for running a virtual machine.\n\nThis property is null if the virtual machine is not running and is\nnot assigned to run on a particular host.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "connectionState": {
            "description": "Indicates whether or not the virtual machine is available for management.\n",
            "$ref": "#/components/schemas/VirtualMachineConnectionState_enum"
          },
          "powerState": {
            "description": "The current power state of the virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
          },
          "vmFailoverInProgress": {
            "description": "Represents if the vm is currently being failed over by FDM\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "faultToleranceState": {
            "description": "The fault tolerance state of the virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineFaultToleranceState_enum"
          },
          "dasVmProtection": {
            "description": "The vSphere HA protection state for a virtual machine.\n\nProperty\nis unset if vSphere HA is not enabled.\n",
            "$ref": "#/components/schemas/VirtualMachineRuntimeInfoDasProtectionState"
          },
          "toolsInstallerMounted": {
            "description": "Flag to indicate whether or not the VMware Tools installer\nis mounted as a CD-ROM.\n",
            "type": "boolean"
          },
          "suspendTime": {
            "description": "The timestamp when the virtual machine was most recently suspended.\n\nThis property is updated every time the virtual machine is suspended.\n",
            "type": "string",
            "format": "date-time"
          },
          "bootTime": {
            "description": "The timestamp when the virtual machine was most recently powered on.\n\nThis property is updated when the virtual machine is powered on\nfrom the poweredOff state, and is cleared when the virtual machine is\npowered off. This property is not updated when a virtual machine is resumed\nfrom a suspended state.\n",
            "type": "string",
            "format": "date-time"
          },
          "suspendInterval": {
            "description": "The total time the virtual machine has been suspended\nsince it was initially powered on.\n\nThis time excludes the current period,\nif the virtual machine is currently suspended. This property is updated\nwhen the virtual machine resumes, and is reset to zero when the virtual machine\nis powered off.\n",
            "type": "integer",
            "format": "int64"
          },
          "question": {
            "description": "The current question, if any, that is blocking the virtual machine's execution.\n",
            "$ref": "#/components/schemas/VirtualMachineQuestionInfo"
          },
          "memoryOverhead": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.1, use the *PerformanceManager*\nmemory overhead counter to get this value.\n\nThe amount of memory resource (in bytes) that will be used by\nthe virtual machine above its guest memory requirements.\n\nThis value is set if and only if the virtual machine is registered\non a host that supports memory resource allocation features.\n\nFor powered off VMs, this is the minimum overhead required to\npower on the VM on the registered host.\n\nFor powered on VMs, this is the current overhead reservation, a\nvalue which is almost always larger than the minimum overhead, and\nwhich grows with time.\n\nSee also *HostSystem.QueryMemoryOverheadEx*.\n",
            "type": "integer",
            "format": "int64"
          },
          "maxCpuUsage": {
            "description": "Current upper-bound on CPU usage.\n\nThe upper-bound is based on the host\nthe virtual machine is current running on, as well as limits configured\non the virtual machine itself or any parent resource pool.\nValid while the virtual machine is running.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxMemoryUsage": {
            "description": "Current upper-bound on memory usage.\n\nThe upper-bound is based on memory\nconfiguration of the virtual machine, as well as limits configured\non the virtual machine itself or any parent resource pool.\nValid while the virtual machine is running.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "type": "integer",
            "format": "int32"
          },
          "numMksConnections": {
            "description": "Number of active MKS connections to this virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "recordReplayState": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0.\n\nRecord / replay state of this virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineRecordReplayState_enum"
          },
          "cleanPowerOff": {
            "description": "For a powered off virtual machine, indicates whether the virtual\nmachine's last shutdown was an orderly power off or not.\n\nUnset if\nthe virtual machine is running or suspended.\n",
            "type": "boolean"
          },
          "needSecondaryReason": {
            "description": "If set, indicates the reason the virtual machine needs a secondary.\n",
            "type": "string"
          },
          "onlineStandby": {
            "description": "This property indicates whether the guest has gone into one of the\ns1, s2 or s3 standby modes, false indicates the guest is awake.\n",
            "type": "boolean"
          },
          "minRequiredEVCModeKey": {
            "description": "For a powered-on or suspended virtual machine in a cluster with Enhanced\nVMotion Compatibility (EVC) enabled, this identifies the least-featured\nEVC mode (among those for the appropriate CPU vendor) that could admit\nthe virtual machine.\n\nSee *EVCMode*. Until vSphere 6.5, this\nproperty will be unset if the virtual machine is powered off or is not in\nan EVC cluster.\n\nThis property may be used as a general indicator of the CPU feature\nbaseline currently in use by the virtual machine. However, the virtual\nmachine may be suppressing some of the features present in the CPU\nfeature baseline of the indicated mode, either explicitly (in the\nvirtual machine's configured\n*cpuFeatureMask*) or implicitly\n(in the default masks for the\n*GuestOsDescriptor* appropriate for the\nvirtual machine's configured guest OS).\n",
            "type": "string"
          },
          "consolidationNeeded": {
            "description": "Whether any disk of the virtual machine requires consolidation.\n\nThis can happen for example when a snapshot is deleted but its\nassociated disk is not committed back to the base disk.\nUse *VirtualMachine.ConsolidateVMDisks_Task* to consolidate if\nneeded.\n",
            "type": "boolean"
          },
          "offlineFeatureRequirement": {
            "description": "These requirements must have equivalent host capabilities\n*HostConfigInfo.featureCapability* in order to power on.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFeatureRequirement"
            }
          },
          "featureRequirement": {
            "description": "These requirements must have equivalent host capabilities\n*HostConfigInfo.featureCapability* in order to power on,\nresume, or migrate to the host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFeatureRequirement"
            }
          },
          "featureMask": {
            "description": "The masks applied to an individual virtual machine as a result of its\nconfiguration.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFeatureMask"
            }
          },
          "vFlashCacheAllocation": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nSpecifies the total allocated vFlash resource for the vFlash caches associated with VM's\nVMDKs when VM is powered on, in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "paused": {
            "description": "Whether the virtual machine is paused, or not.\n",
            "type": "boolean"
          },
          "snapshotInBackground": {
            "description": "Whether a snapshot operation is in progress in the background, or not.\n",
            "type": "boolean"
          },
          "quiescedForkParent": {
            "description": "This flag indicates whether a parent virtual machine is in a fork ready\nstate.\n\nA persistent instant clone child can be created only when this flag\nis true. While a non-persistent instant clone child can be created\nindependent of this flag, it can only be powered on if this flag is true.\n",
            "type": "boolean"
          },
          "instantCloneFrozen": {
            "description": "Whether the virtual machine is frozen for instant clone, or not.\n",
            "type": "boolean"
          },
          "cryptoState": {
            "description": "Encryption state of the virtual machine.\n\nValid values are enumerated by the\n*CryptoState* type.\n",
            "type": "string"
          },
          "suspendedToMemory": {
            "description": "Whether the virtual machine is suspended to memory, or not.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "opNotificationTimeout": {
            "description": "Operation notification timeout in seconds.\n\nSpecifies the maximum time duration the application may take to\nprepare for the operation after it has been notified.\nThis property is set only for powered on VMs.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int64"
          },
          "iommuActive": {
            "description": "Indicates whether there is active IOMMU domain in the current VM.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "connectionState",
          "powerState",
          "faultToleranceState",
          "toolsInstallerMounted",
          "numMksConnections",
          "recordReplayState",
          "onlineStandby",
          "consolidationNeeded"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineRuntimeInfoDasProtectionState": {
        "type": "object",
        "description": "The *VirtualMachineRuntimeInfoDasProtectionState* object describes the\nvSphere HA protection state of a virtual machine (VM).\n",
        "properties": {
          "dasProtected": {
            "description": "Whether vSphere HA is protecting a virtual machine (VM).\n\nIf a\nVM is protected, vSphere HA will enforce any availability\nfeatures that have been enabled for this VM. For\nexample, if the VM is running on a host\nthat fails and the VM is configured to be restarted on a failure,\nthen vSphere HA will attempt to restart the VM on another host.\nSimilarly, if you enable VM/Application Health Monitoring\nfor this VM, vSphere HA will monitor the heartbeats of the\nVM and reset the VM when needed, as dictated by the configured\npolicy settings.\n",
            "type": "boolean"
          }
        },
        "required": [
          "dasProtected"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineRuntimeInfoDasProtectionState": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineRuntimeInfoDasProtectionState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineRuntimeInfoDasProtectionState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledHardwareUpgradeInfo": {
        "type": "object",
        "description": "Data object type containing settings for the scheduled hardware upgrades.\n",
        "properties": {
          "upgradePolicy": {
            "description": "Scheduled hardware upgrade policy setting for the virtual machine.\n\nSee also *ScheduledHardwareUpgradeInfoHardwareUpgradePolicy_enum*.\n",
            "type": "string"
          },
          "versionKey": {
            "description": "Key for target hardware version to be used on next scheduled upgrade\nin the format of *VirtualMachineConfigOptionDescriptor.key*.\n",
            "type": "string"
          },
          "scheduledHardwareUpgradeStatus": {
            "description": "Status for last attempt to run scheduled hardware upgrade.\n\nSee also *ScheduledHardwareUpgradeInfoHardwareUpgradeStatus_enum*.\n",
            "type": "string"
          },
          "fault": {
            "description": "Contains information about the failure of last attempt to run\nscheduled hardware upgrade.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfScheduledHardwareUpgradeInfo": {
        "type": "object",
        "description": "A boxed array of *ScheduledHardwareUpgradeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledHardwareUpgradeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineScsiDiskDeviceInfo": {
        "type": "object",
        "description": "The ScsiDiskDeviceInfo class contains detailed information about a specific\nscsi disk hardware device.\n\nThese devices are for the\nvim.vm.device.VirtualDisk.RawDiskMappingVer1BackingInfo.\n",
        "properties": {
          "disk": {
            "description": "Detailed information about the disk.\n",
            "$ref": "#/components/schemas/HostScsiDisk"
          },
          "transportHint": {
            "description": "Transport identifier hint used to identify the device.\n\nTo definitively\ncorrelate this device with a host physical disk, use the disk property.\nThis identifier is intended as a hint to end users to identify the\ndisk device.\n",
            "type": "string"
          },
          "lunNumber": {
            "description": "LUN number hint used to identify the SCSI device.\n\nTo definitively\ncorrelate this device with a host physical disk, use the disk property.\nThis identifier is intended as a hint to end users to identify the\ndisk device.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineDiskDeviceInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineScsiDiskDeviceInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineScsiDiskDeviceInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineScsiDiskDeviceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineScsiPassthroughInfo": {
        "type": "object",
        "description": "Description of a generic SCSI device, including information about\nthe device ID.\n",
        "properties": {
          "scsiClass": {
            "description": "The class of the generic SCSI device.\n",
            "type": "string"
          },
          "vendor": {
            "description": "The vendor name.\n",
            "type": "string"
          },
          "physicalUnitNumber": {
            "description": "Unit number of the generic device on the physical host.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "scsiClass",
          "vendor",
          "physicalUnitNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineScsiPassthroughInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineScsiPassthroughInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineScsiPassthroughInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSerialInfo": {
        "type": "object",
        "description": "SerialInfo class contains information about a physical serial\ndrive on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineSerialInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSerialInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSerialInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSgxInfo": {
        "type": "object",
        "description": "This data object describes the virtual software guard extension (vSGX)\nconfiguration of this virtual machine.\n",
        "properties": {
          "epcSize": {
            "description": "Size of vEPC, in megabytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "flcMode": {
            "description": "FLC mode for the virtual machine.\n\nThe set of possible values are\ndescribed in *VirtualMachineSgxInfoFlcModes_enum*. If no value is specified,\nthen \"unlocked\" will be used.\n",
            "type": "string"
          },
          "lePubKeyHash": {
            "description": "Public key hash of the provider launch enclave.\n\nThis is the SHA256\ndigest of the SIGSTRUCT.MODULUS(MR\\_SIGNER) of the provider launch\nenclave. This hash must only be provided when the launch enclave mode is\n\"locked\", for the other cases the hash is ignored.\n",
            "type": "string"
          },
          "requireAttestation": {
            "description": "Indicates whether or not a virtual machine requires remote\nattestation.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          }
        },
        "required": [
          "epcSize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineSgxInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSgxInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSgxInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSgxTargetInfo": {
        "type": "object",
        "description": "Description of Intel Software Guard Extensions information.\n",
        "properties": {
          "maxEpcSize": {
            "description": "Maximum size, in bytes, of EPC available on the compute resource.\n",
            "type": "integer",
            "format": "int64"
          },
          "flcModes": {
            "description": "FLC modes available in the compute resource.\n\nThe set of possible values\nare described in *VirtualMachineSgxInfoFlcModes_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "lePubKeyHashes": {
            "description": "Public key hashes of the provider launch enclaves available in the\ncompute resource.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "requireAttestationSupported": {
            "description": "Whether the host/cluster supports requiring SGX remote attestation.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          }
        },
        "required": [
          "maxEpcSize"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineSgxTargetInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSgxTargetInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSgxTargetInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSnapshotInfo": {
        "type": "object",
        "description": "The SnapshotInfo data object type provides all the information about the\nhierarchy of snapshots in a virtual machine.\n",
        "properties": {
          "currentSnapshot": {
            "description": "Current snapshot of the virtual machine\n\nThis property is set by calling\n*Snapshot.revert* or\n*VirtualMachine.createSnapshot*.\nThis property will be empty when the working snapshot is at the root\nof the snapshot tree.\n\nRefers instance of *VirtualMachineSnapshot*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "rootSnapshotList": {
            "description": "Data for the entire set of snapshots for one virtual machine.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSnapshotTree"
            }
          }
        },
        "required": [
          "rootSnapshotList"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineSnapshotInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSnapshotInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSnapshotInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SnapshotSelectionSpec": {
        "type": "object",
        "description": "This data type defines the filtering specification for removing snapshots\nfrom virtual machine.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "retentionDays": {
            "description": "This is the property to select snapshots older than X days.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSnapshotSelectionSpec": {
        "type": "object",
        "description": "A boxed array of *SnapshotSelectionSpec*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotSelectionSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSnapshotTree": {
        "type": "object",
        "description": "SnapshotTree encapsulates all the read-only data produced by the snapshot.\n",
        "properties": {
          "snapshot": {
            "description": "The managed object for this snapshot.\n\nRefers instance of *VirtualMachineSnapshot*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vm": {
            "description": "The virtual machine for which the snapshot was taken.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "name": {
            "description": "Name of the snapshot.\n",
            "type": "string"
          },
          "description": {
            "description": "Description of the snapshot.\n",
            "type": "string"
          },
          "id": {
            "description": "The unique identifier that distinguishes this snapshot from\nother snapshots of the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "createTime": {
            "description": "The date and time the snapshot was taken.\n",
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "description": "The power state of the virtual machine when this snapshot was taken.\n",
            "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
          },
          "quiesced": {
            "description": "Flag to indicate whether or not the snapshot was created with\nthe \"quiesce\" option, ensuring a consistent state of the file system.\n",
            "type": "boolean"
          },
          "backupManifest": {
            "description": "The relative path from the snapshotDirectory pointing to the backup\nmanifest.\n\nAvailable for certain quiesced snapshots only.\n",
            "type": "string"
          },
          "childSnapshotList": {
            "description": "The snapshot data for all snapshots for which this snapshot is the parent.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSnapshotTree"
            }
          },
          "replaySupported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.0.\n\nFlag to indicate whether this snapshot is associated with a recording\nsession on the virtual machine that can be replayed.\n",
            "type": "boolean"
          }
        },
        "required": [
          "snapshot",
          "vm",
          "name",
          "description",
          "id",
          "createTime",
          "state",
          "quiesced"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineSnapshotTree": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSnapshotTree*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSnapshotTree"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSoundInfo": {
        "type": "object",
        "description": "SoundInfo class contains information about a physical sound\ncard on the host.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineSoundInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSoundInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSoundInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSriovDevicePoolInfo": {
        "type": "object",
        "properties": {
          "key": {
            "description": "To be used for extending to other device types\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineSriovDevicePoolInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSriovDevicePoolInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSriovDevicePoolInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSriovInfo": {
        "type": "object",
        "description": "Description of a SRIOV device that can be attached to a virtual machine.\n",
        "properties": {
          "virtualFunction": {
            "description": "Indicates whether corresponding PCI device is a virtual function\ninstantiated by a SR-IOV capable device.\n",
            "type": "boolean"
          },
          "pnic": {
            "description": "The name of the physical nic that is represented by a SR-IOV\ncapable physical function.\n",
            "type": "string"
          },
          "devicePool": {
            "description": "SRIOV DevicePool information\n",
            "$ref": "#/components/schemas/VirtualMachineSriovDevicePoolInfo"
          }
        },
        "required": [
          "virtualFunction"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachinePciPassthroughInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineSriovInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSriovInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSriovInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSriovNetworkDevicePoolInfo": {
        "type": "object",
        "description": "This class is networking specific SR-IOV device pool info\n",
        "properties": {
          "switchKey": {
            "description": "vSwitch key\n",
            "type": "string"
          },
          "switchUuid": {
            "description": "DVSwitch Uuid\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineSriovDevicePoolInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineSriovNetworkDevicePoolInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSriovNetworkDevicePoolInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSriovNetworkDevicePoolInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineStorageInfo": {
        "type": "object",
        "description": "Information about the amount of storage used by a virtual machine across\ndatastores that it is located on.\n",
        "properties": {
          "perDatastoreUsage": {
            "description": "Storage space used by this virtual machine on all datastores that it\nis located on.\n\nTotal storage space committed to this virtual machine across all datastores is\nsimply an aggregate of the property\n*VirtualMachineUsageOnDatastore.committed*.\n\nSee also *VirtualMachineStorageSummary.committed*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineUsageOnDatastore"
            }
          },
          "timestamp": {
            "description": "Time when values in this structure were last updated.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "timestamp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineStorageInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineStorageInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineStorageInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineUsageOnDatastore": {
        "type": "object",
        "description": "Storage space used by this virtual machine on a particular datastore.\n",
        "properties": {
          "datastore": {
            "description": "Reference to datastore for which information is being provided.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "committed": {
            "description": "Storage space, in bytes, on this datastore that is actually being used by\nthe virtual machine.\n\nIt includes space actually occupied by disks, logs, snapshots,\nconfiguration files etc. Files of the virtual machine which are present\non a different datastore (e.g. a virtual disk on another datastore) are not\nincluded here. *VirtualMachineFileLayoutEx* provides a detailed\nbreak-up of the committed space.\n",
            "type": "integer",
            "format": "int64"
          },
          "uncommitted": {
            "description": "Additional storage space, in bytes, potentially used by the virtual machine\non this datastore.\n\nAdditional space may be needed for example when lazily allocated disks grow,\nor storage for swap is allocated when powering on the virtual machine.\n\nIf the virtual machine is running off delta disks (for example because\na snapshot was taken), then only the potential growth of the currently\nused delta-disks is considered.\n",
            "type": "integer",
            "format": "int64"
          },
          "unshared": {
            "description": "Storage space, in bytes, occupied by the virtual machine on this datastore\nthat is not shared with any other virtual machine.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "datastore",
          "committed",
          "uncommitted",
          "unshared"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineUsageOnDatastore": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineUsageOnDatastore*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineUsageOnDatastore"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineSummary": {
        "type": "object",
        "description": "The summary data object type encapsulates a typical set of virtual machine\ninformation that is useful for list views and summary pages.\n\nVirtualCenter can retrieve this information very efficiently,\neven for large sets of virtual machines.\n",
        "properties": {
          "vm": {
            "description": "Reference to the virtual machine managed object.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "runtime": {
            "description": "Runtime and state information of a running virtual machine.\n\nMost of this information is also available when a virtual machine is powered off.\nIn that case, it contains information from the last run, if available.\n",
            "$ref": "#/components/schemas/VirtualMachineRuntimeInfo"
          },
          "guest": {
            "description": "Guest operating system and VMware Tools information.\n\nSee *VirtualMachine.guest* for more information.\n",
            "$ref": "#/components/schemas/VirtualMachineGuestSummary"
          },
          "config": {
            "description": "Basic configuration information about the virtual machine.\n\nThis information\nis not available when the virtual machine is unavailable, for instance, when\nit is being created or deleted.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSummary"
          },
          "storage": {
            "description": "Storage information of the virtual machine.\n\nIt can be explicitly refreshed\nwith the *VirtualMachine.RefreshStorageInfo* operation.\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "$ref": "#/components/schemas/VirtualMachineStorageSummary"
          },
          "quickStats": {
            "description": "A set of statistics that are typically updated with near real-time regularity.\n\nThis data object type does not support notification, for scalability reasons.\nTherefore, changes in QuickStats do not generate property collector updates. To\nmonitor statistics values, use the statistics and alarms modules instead.\n",
            "$ref": "#/components/schemas/VirtualMachineQuickStats"
          },
          "overallStatus": {
            "description": "Overall alarm status on this node.\n\nIn releases after vSphere API 5.0, vSphere Servers might not\ngenerate property collector update notifications for this property.\nTo obtain the latest value of the property, you can use\nPropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.\nIf you use the PropertyCollector.WaitForUpdatesEx method, specify\nan empty string for the version parameter.\nSince this property is on a DataObject, an update returned by WaitForUpdatesEx may\ncontain values for this property when some other property on the DataObject changes.\nIf this update is a result of a call to WaitForUpdatesEx with a non-empty\nversion parameter, the value for this property may not be current.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "customValue": {
            "description": "Custom field values.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValue"
            }
          }
        },
        "required": [
          "runtime",
          "config",
          "quickStats",
          "overallStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineSummary": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConfigSummary": {
        "type": "object",
        "description": "A subset of virtual machine configuration.\n",
        "properties": {
          "name": {
            "description": "Name of the virtual machine.\n",
            "type": "string"
          },
          "template": {
            "description": "Flag to determine whether or not this virtual machine is a template.\n",
            "type": "boolean"
          },
          "vmPathName": {
            "description": "Path name to the configuration file for the virtual machine\n",
            "type": "string"
          },
          "memorySizeMB": {
            "description": "Memory size of the virtual machine, in megabytes.\n",
            "type": "integer",
            "format": "int32"
          },
          "cpuReservation": {
            "description": "Configured CPU reservation in MHz\n",
            "type": "integer",
            "format": "int32"
          },
          "memoryReservation": {
            "description": "Configured Memory reservation in MB\n",
            "type": "integer",
            "format": "int32"
          },
          "numCpu": {
            "description": "Number of processors in the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "numEthernetCards": {
            "description": "Number of virtual network adapters.\n",
            "type": "integer",
            "format": "int32"
          },
          "numVirtualDisks": {
            "description": "Number of virtual disks attached to the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "uuid": {
            "description": "Virtual machine BIOS identification.\n",
            "type": "string"
          },
          "instanceUuid": {
            "description": "VC-specific identifier of the virtual machine\n",
            "type": "string"
          },
          "guestId": {
            "description": "Guest operating system identifier (short name).\n",
            "type": "string"
          },
          "guestFullName": {
            "description": "Guest operating system name configured on the virtual machine.\n",
            "type": "string"
          },
          "annotation": {
            "description": "Description for the virtual machine.\n",
            "type": "string"
          },
          "product": {
            "description": "Product information.\n\nReferences to properties in the URLs are expanded.\n",
            "$ref": "#/components/schemas/VAppProductInfo"
          },
          "installBootRequired": {
            "description": "Whether the VM requires a reboot to finish installation.\n\nFalse if no vApp\nmeta-data is configured.\n",
            "type": "boolean"
          },
          "ftInfo": {
            "description": "Fault Tolerance settings for this virtual machine.\n\nThis property will be populated only for fault tolerance virtual\nmachines and will be left unset for all other virtual machines.\nSee *FaultToleranceConfigInfo* for a description.\n",
            "$ref": "#/components/schemas/FaultToleranceConfigInfo"
          },
          "managedBy": {
            "description": "Specifies that this VM is managed by a VC Extension.\n\nSee the\n*managedBy* property in the ConfigSpec\nfor more details.\n",
            "$ref": "#/components/schemas/ManagedByInfo"
          },
          "tpmPresent": {
            "description": "Is TPM present in a VM?\n",
            "type": "boolean"
          },
          "numVmiopBackings": {
            "description": "Number of VMIOP backed devices attached to the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "hwVersion": {
            "description": "The hardware version string for this virtual machine.\n",
            "type": "string"
          }
        },
        "required": [
          "name",
          "template",
          "vmPathName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineConfigSummary": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConfigSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConfigSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineGuestSummary": {
        "type": "object",
        "description": "A subset of virtual machine guest information.\n",
        "properties": {
          "guestId": {
            "description": "Guest operating system identifier (short name), if known.\n",
            "type": "string"
          },
          "guestFullName": {
            "description": "Guest operating system name configured on the virtual machine.\n",
            "type": "string"
          },
          "toolsStatus": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0 use *VirtualMachineGuestSummary.toolsVersionStatus2* and\n*VirtualMachineGuestSummary.toolsRunningStatus*.\n\nCurrent status of VMware Tools in the guest operating system, if known.\n",
            "$ref": "#/components/schemas/VirtualMachineToolsStatus_enum"
          },
          "toolsVersionStatus": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.0 use *VirtualMachineGuestSummary.toolsVersionStatus2*.\n\nCurrent version status of VMware Tools in the guest operating system,\nif known.\n",
            "type": "string"
          },
          "toolsVersionStatus2": {
            "description": "Current version status of VMware Tools in the guest operating system,\nif known.\n",
            "type": "string"
          },
          "toolsRunningStatus": {
            "description": "Current running status of VMware Tools in the guest operating system,\nif known.\n",
            "type": "string"
          },
          "hostName": {
            "description": "Hostname of the guest operating system, if known.\n",
            "type": "string"
          },
          "ipAddress": {
            "description": "Primary IP address assigned to the guest operating system, if known.\n",
            "type": "string"
          },
          "hwVersion": {
            "description": "The hardware version string for this virtual machine.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineGuestSummary": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineGuestSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineGuestSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineQuickStats": {
        "type": "object",
        "description": "A set of statistics that are typically updated with near real-time regularity.\n\nThis data object type does not support notification, for scalability reasons.\nTherefore, changes in QuickStats do not generate property collector updates. To\nmonitor statistics values, use the statistics and alarms modules instead.\n",
        "properties": {
          "overallCpuUsage": {
            "description": "Basic CPU performance statistics, in MHz.\n\nValid while the virtual machine is running.\n",
            "type": "integer",
            "format": "int32"
          },
          "overallCpuDemand": {
            "description": "Basic CPU performance statistics, in MHz.\n\nValid while the virtual machine is running.\n",
            "type": "integer",
            "format": "int32"
          },
          "overallCpuReadiness": {
            "description": "Percentage of time that the virtual machine was ready, but could not\nget scheduled to run on the physical CPU.\n\nValid while the virtual machine is running.\n",
            "type": "integer",
            "format": "int32"
          },
          "guestMemoryUsage": {
            "description": "Guest memory utilization statistics, in MB.\n\nThis\nis also known as active guest memory. The number\ncan be between 0 and the configured memory size of\nthe virtual machine. Valid while the virtual machine is\nrunning.\n",
            "type": "integer",
            "format": "int32"
          },
          "hostMemoryUsage": {
            "description": "Host memory utilization statistics, in MB.\n\nThis\nis also known as consumed host memory. This is between 0 and\nthe configured resource limit. Valid while the virtual machine is\nrunning. This includes the overhead memory of the VM.\n",
            "type": "integer",
            "format": "int32"
          },
          "guestHeartbeatStatus": {
            "description": "Guest operating system heartbeat metric.\n\nSee *VirtualMachine.guestHeartbeatStatus* for a description.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "distributedCpuEntitlement": {
            "description": "This is the amount of CPU resource, in MHz, that this VM is entitled to, as\ncalculated by DRS.\n\nValid only for a VM managed by DRS.\n",
            "type": "integer",
            "format": "int32"
          },
          "distributedMemoryEntitlement": {
            "description": "This is the amount of memory, in MB, that this VM is entitled to, as\ncalculated by DRS.\n\nValid only for a VM managed by DRS.\n",
            "type": "integer",
            "format": "int32"
          },
          "staticCpuEntitlement": {
            "description": "The static CPU resource entitlement for a virtual machine.\n\nThis value is\ncalculated based on this virtual machine's resource reservations, shares\nand limit, and doesn't take into account current usage. This is the worst\ncase CPU allocation for this virtual machine, that is, the amount of CPU\nresource this virtual machine would receive if all virtual machines running\nin the cluster went to maximum consumption. Units are MHz.\n",
            "type": "integer",
            "format": "int32"
          },
          "staticMemoryEntitlement": {
            "description": "The static memory resource entitlement for a virtual machine.\n\nThis value is\ncalculated based on this virtual machine's resource reservations, shares\nand limit, and doesn't take into account current usage. This is the worst\ncase memory allocation for this virtual machine, that is, the amount of\nmemory this virtual machine would receive if all virtual machines running\nin the cluster went to maximum consumption. Units are MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "grantedMemory": {
            "description": "Amount of host physical memory that is mapped for a virtual machine,\nin MB.\n\nThe number can be between 0 and the configured memory size of\nthe virtual machine. Valid while the virtual machine is running.\n",
            "type": "integer",
            "format": "int32"
          },
          "privateMemory": {
            "description": "The portion of memory, in MB, that is granted to this VM from non-shared\nhost memory.\n",
            "type": "integer",
            "format": "int32"
          },
          "sharedMemory": {
            "description": "The portion of memory, in MB, that is granted to this VM from host memory\nthat is shared between VMs.\n",
            "type": "integer",
            "format": "int32"
          },
          "swappedMemory": {
            "description": "The portion of memory, in MB, that is granted to this VM from the host's swap\nspace.\n\nThis is a sign that there is memory pressure on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "balloonedMemory": {
            "description": "The size of the balloon driver in the VM, in MB.\n\nThe host will inflate the\nballoon driver to reclaim physical memory from the VM. This is a sign that\nthere is memory pressure on the host.\n",
            "type": "integer",
            "format": "int32"
          },
          "consumedOverheadMemory": {
            "description": "The amount of consumed overhead memory, in MB, for this VM.\n",
            "type": "integer",
            "format": "int32"
          },
          "ftLogBandwidth": {
            "description": "The network bandwidth used for logging between the\nprimary and secondary fault tolerance VMs.\n\nThe unit is kilobytes per second.\n",
            "type": "integer",
            "format": "int32"
          },
          "ftSecondaryLatency": {
            "description": "The amount of time in wallclock that the VCPU of the secondary fault\ntolerance VM is behind the VCPU of the primary VM.\n\nThe unit is millisecond.\n",
            "type": "integer",
            "format": "int32"
          },
          "ftLatencyStatus": {
            "description": "The latency status of the fault tolerance VM.\n\nftLatencyStatus is determined by the value of ftSecondaryLatency.\nftLatencyStatus is:\ngreen, if ftSecondaryLatency is less than or equal to 2 seconds;\nyellow, if ftSecondaryLatency is greater than 2 seconds,\nand less than or equal to 6 seconds;\nred, if ftSecondaryLatency is greater than 6 seconds;\ngray, if ftSecondaryLatency is unknown.\n",
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          },
          "compressedMemory": {
            "description": "The amount of compressed memory currently consumed by VM, in Kb.\n",
            "type": "integer",
            "format": "int64"
          },
          "uptimeSeconds": {
            "description": "The system uptime of the VM in seconds.\n",
            "type": "integer",
            "format": "int32"
          },
          "ssdSwappedMemory": {
            "description": "The amount of memory swapped to fast disk device such as\nSSD, in KB.\n",
            "type": "integer",
            "format": "int64"
          },
          "activeMemory": {
            "description": "The amount of memory that was recently touched by the VM, in MB.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "integer",
            "format": "int32"
          },
          "memoryTierStats": {
            "description": "Stats for each physical memory tier.\n\nA physical memory tier consists of one or\nmore logical memory tiers of the same *HostMemoryTierType_enum*. For\nexample, the logical tiers can be tier0 (DRAM), tier1 (DRAM), and tier2 (PMEM),\nwhile the physical tiers are just DRAM and PMEM.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineQuickStatsMemoryTierStats"
            }
          }
        },
        "required": [
          "guestHeartbeatStatus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineQuickStats": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineQuickStats*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineQuickStats"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineQuickStatsMemoryTierStats": {
        "type": "object",
        "description": "***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "memoryTierType": {
            "description": "The memory tier type.\n\nSee *HostMemoryTierType_enum* for supported\nvalues.\n",
            "type": "string"
          },
          "readBandwidth": {
            "description": "Memory access bandwidth usage for the reads of the VM on this tier in\nMBps.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "memoryTierType",
          "readBandwidth"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineQuickStatsMemoryTierStats": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineQuickStatsMemoryTierStats*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineQuickStatsMemoryTierStats"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineStorageSummary": {
        "type": "object",
        "description": "A subset of the storage information of this virtual machine.\n\nSee *VirtualMachineStorageInfo* for a detailed storage break-up.\n",
        "properties": {
          "committed": {
            "description": "Total storage space, in bytes, committed to this virtual machine across\nall datastores.\n\nEssentially an aggregate of the property\n*VirtualMachineUsageOnDatastore.committed* across all\ndatastores that this virtual machine is located on.\n",
            "type": "integer",
            "format": "int64"
          },
          "uncommitted": {
            "description": "Additional storage space, in bytes, potentially used by this virtual machine\non all datastores.\n\nEssentially an aggregate of the property\n*VirtualMachineUsageOnDatastore.uncommitted* across all\ndatastores that this virtual machine is located on.\n",
            "type": "integer",
            "format": "int64"
          },
          "unshared": {
            "description": "Total storage space, in bytes, occupied by the virtual machine across\nall datastores, that is not shared with any other virtual machine.\n",
            "type": "integer",
            "format": "int64"
          },
          "timestamp": {
            "description": "Time when values in this structure were last updated.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "committed",
          "uncommitted",
          "unshared",
          "timestamp"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineStorageSummary": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineStorageSummary*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineStorageSummary"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineTargetInfo": {
        "type": "object",
        "description": "The TargetInfo specified a value that can be used in the device backings to\nconnect the virtual machine to a physical (or logical) host device.\n",
        "properties": {
          "name": {
            "description": "The identification of the endpoint on the host.\n\nThe format of this depends\non the kind of virtual device this endpoints is used for. For example,\nfor a VirtualEthernetCard this would be a networkname, and for a VirtualCDROM\nit would be a device name.\n",
            "type": "string"
          },
          "configurationTag": {
            "description": "List of configurations that this device is available for.\n\nThis is only filled\nout if more than one configuration is requested.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineTargetInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineTargetInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineTargetInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsConfigInfo": {
        "type": "object",
        "description": "ToolsConfigInfo is a data object type containing settings for the VMware Tools\nsoftware running in the guest operating system.\n",
        "properties": {
          "toolsVersion": {
            "description": "Version of VMware Tools installed on the guest operating system.\n",
            "type": "integer",
            "format": "int32"
          },
          "toolsInstallType": {
            "description": "Installation type of VMware Tools in the guest operating system.\n\nThe set of possible values is described in\n*VirtualMachineToolsInstallType_enum*\n",
            "type": "string"
          },
          "afterPowerOn": {
            "description": "Flag to specify whether or not scripts should run\nafter the virtual machine powers on.\n",
            "type": "boolean"
          },
          "afterResume": {
            "description": "Flag to specify whether or not scripts should run\nafter the virtual machine resumes.\n",
            "type": "boolean"
          },
          "beforeGuestStandby": {
            "description": "Flag to specify whether or not scripts should run\nbefore the virtual machine suspends.\n",
            "type": "boolean"
          },
          "beforeGuestShutdown": {
            "description": "Flag to specify whether or not scripts should run\nbefore the virtual machine powers off.\n",
            "type": "boolean"
          },
          "beforeGuestReboot": {
            "description": "Flag to specify whether or not scripts should run\nbefore the virtual machine reboots.\n",
            "type": "boolean"
          },
          "toolsUpgradePolicy": {
            "description": "Tools upgrade policy setting for the virtual machine.\n\nSee also *UpgradePolicy_enum*.\n",
            "type": "string"
          },
          "pendingCustomization": {
            "description": "When set, this indicates that a customization operation is pending on the VM.\n\nThe value represents the filename of the customization package on the host.\n",
            "type": "string"
          },
          "customizationKeyId": {
            "description": "When set, provides the id of the key used to encrypt the customization\npackage attached to the VM.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          },
          "syncTimeWithHostAllowed": {
            "description": "Indicates whether or not the tools program is allowed to synchronize\nguest time with host time.\n\nWhen set to <code>false</code>, disallows\ntool periodic time synchronization as well as guest time step corrections\ndue to one-off events like resume from suspend.\n\n***Since:*** vSphere API Release 7.0.1.0\n",
            "type": "boolean"
          },
          "syncTimeWithHost": {
            "description": "Flag to specify whether or not the tools program will periodically\nsynchronize guest time with host time.\n\nPeriodical synchronization is\nonly allowed if *ToolsConfigInfo.syncTimeWithHostAllowed*\nis not set to <code>false</code>.\n",
            "type": "boolean"
          },
          "lastInstallInfo": {
            "description": "Information about the last tools upgrade attempt if applicable.\n\nThis information is maintained by the server and is ignored if set by the client.\n",
            "$ref": "#/components/schemas/ToolsConfigInfoToolsLastInstallInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfToolsConfigInfo": {
        "type": "object",
        "description": "A boxed array of *ToolsConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ToolsConfigInfoToolsLastInstallInfo": {
        "type": "object",
        "description": "Describes status of last tools upgrade attempt\n",
        "properties": {
          "counter": {
            "description": "Number of attempts that have been made to upgrade the version of tools\ninstalled on this virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "fault": {
            "description": "Error that happened, if any, during last attempt to upgrade tools.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "counter"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfToolsConfigInfoToolsLastInstallInfo": {
        "type": "object",
        "description": "A boxed array of *ToolsConfigInfoToolsLastInstallInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolsConfigInfoToolsLastInstallInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineUsbInfo": {
        "type": "object",
        "description": "This data object contains information about a physical USB device\non the host.\n",
        "properties": {
          "description": {
            "description": "A user visible name of the USB device.\n",
            "type": "string"
          },
          "vendor": {
            "description": "The vendor ID of the USB device.\n",
            "type": "integer",
            "format": "int32"
          },
          "product": {
            "description": "The product ID of the USB device.\n",
            "type": "integer",
            "format": "int32"
          },
          "physicalPath": {
            "description": "An autoconnect pattern which describes the device's physical\npath.\n\nThis is the path to the specific port on the host where the\nUSB device is attached.\n",
            "type": "string"
          },
          "family": {
            "description": "The device class families.\n\nFor possible values see\n*VirtualMachineUsbInfoFamily_enum*\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "speed": {
            "description": "The possible device speeds detected by server.\n\nFor possible values see\n*VirtualMachineUsbInfoSpeed_enum*\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "description": "Summary information about the virtual machine that is currently\nusing this device, if any.\n",
            "$ref": "#/components/schemas/VirtualMachineSummary"
          }
        },
        "required": [
          "description",
          "vendor",
          "product",
          "physicalPath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineUsbInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineUsbInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineUsbInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UsbScanCodeSpec": {
        "type": "object",
        "description": "This data object contains information about which USB HID codes\nto send to the Virtual Machine's keyboard.\n",
        "properties": {
          "keyEvents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UsbScanCodeSpecKeyEvent"
            }
          }
        },
        "required": [
          "keyEvents"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfUsbScanCodeSpec": {
        "type": "object",
        "description": "A boxed array of *UsbScanCodeSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UsbScanCodeSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UsbScanCodeSpecKeyEvent": {
        "type": "object",
        "properties": {
          "usbHidCode": {
            "description": "USB HID code of the event\n",
            "type": "integer",
            "format": "int32"
          },
          "modifiers": {
            "description": "Modifiers to apply to the USB HID code\n",
            "$ref": "#/components/schemas/UsbScanCodeSpecModifierType"
          }
        },
        "required": [
          "usbHidCode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfUsbScanCodeSpecKeyEvent": {
        "type": "object",
        "description": "A boxed array of *UsbScanCodeSpecKeyEvent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UsbScanCodeSpecKeyEvent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UsbScanCodeSpecModifierType": {
        "type": "object",
        "description": "The types of key modifiers to apply to each code.\n",
        "properties": {
          "leftControl": {
            "description": "Left control key\n",
            "type": "boolean"
          },
          "leftShift": {
            "description": "Left shift key\n",
            "type": "boolean"
          },
          "leftAlt": {
            "description": "Left alt key\n",
            "type": "boolean"
          },
          "leftGui": {
            "description": "Left gui key\n",
            "type": "boolean"
          },
          "rightControl": {
            "description": "Right control key\n",
            "type": "boolean"
          },
          "rightShift": {
            "description": "Right shift key\n",
            "type": "boolean"
          },
          "rightAlt": {
            "description": "Right alt key\n",
            "type": "boolean"
          },
          "rightGui": {
            "description": "Right gui key\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfUsbScanCodeSpecModifierType": {
        "type": "object",
        "description": "A boxed array of *UsbScanCodeSpecModifierType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UsbScanCodeSpecModifierType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVFlashModuleInfo": {
        "type": "object",
        "description": "VFlashModuleInfo class contains information about a vFlash module\non the host.\n",
        "properties": {
          "vFlashModule": {
            "description": "Information about the vFlash module\n",
            "$ref": "#/components/schemas/HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"
          }
        },
        "required": [
          "vFlashModule"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineVFlashModuleInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVFlashModuleInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVFlashModuleInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVMotionStunTimeInfo": {
        "type": "object",
        "description": "Description of VMotion Stun Time.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "migrationBW": {
            "description": "Migration bandwidth in Mbps\n",
            "type": "integer",
            "format": "int64"
          },
          "stunTime": {
            "description": "Stun Time in seconds\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "migrationBW",
          "stunTime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineVMotionStunTimeInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVMotionStunTimeInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVMotionStunTimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVcpuConfig": {
        "type": "object",
        "description": "Vcpu configuration.\n",
        "properties": {
          "latencySensitivity": {
            "description": "Latency sensitivity specification for this vcpu.\n\nThe latency sensitivity can be configured per-vcpu only when the VM\n*latencySensitivity* is\nconfigured to *high*\nin the same ConfigSpec.\nSetting *latencySensitivity*,\nbut not setting the vcpu's LatencySensitivity would apply the VM's\nlatency sensitivity level to all the vcpus of the VM.\nThe latency sensitivity of the vcpu should not exceed the\nlatency sensivity level of the VM.\nThe only allowed levels for vcpu Latency sensitivity\nare *high* or\n*normal*\n",
            "$ref": "#/components/schemas/LatencySensitivity"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVcpuConfig": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVcpuConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVcpuConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVendorDeviceGroupInfo": {
        "type": "object",
        "description": "Description of a PCI vendor device group device.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "deviceGroupName": {
            "description": "Name of Vendor Device Group.\n",
            "type": "string"
          },
          "deviceGroupDescription": {
            "description": "Description of Vendor Device Group.\n",
            "type": "string"
          },
          "componentDeviceInfo": {
            "description": "Array describing component devices of this Vendor Device Group.\n\nThere is one entry per componentDevice in the deviceGroupSpec.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"
            }
          }
        },
        "required": [
          "deviceGroupName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineVendorDeviceGroupInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVendorDeviceGroupInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVendorDeviceGroupInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo": {
        "type": "object",
        "description": "Class describing a component device within this vendor device group.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "type": {
            "description": "Type of this component.\n\nSee *VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType_enum* for supported types.\n",
            "type": "string"
          },
          "vendorName": {
            "description": "Name of component device vendor.\n",
            "type": "string"
          },
          "deviceName": {
            "description": "Name of component device.\n",
            "type": "string"
          },
          "isConfigurable": {
            "description": "True if this device may be configured by user or UI.\n",
            "type": "boolean"
          },
          "device": {
            "description": "VirtualDevice template for this device.\n",
            "$ref": "#/components/schemas/VirtualDevice"
          }
        },
        "required": [
          "type",
          "vendorName",
          "deviceName",
          "isConfigurable",
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVgpuDeviceInfo": {
        "type": "object",
        "description": "Description of PCI vGPU device and its capabilities.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "deviceName": {
            "description": "The vGPU device name.\n",
            "type": "string"
          },
          "deviceVendorId": {
            "description": "A well-known unique identifier for the device.\n\nIt concatenates the\n16-bit PCI vendor id in lower bits followed by 16-bit PCI device id.\n",
            "type": "integer",
            "format": "int64"
          },
          "maxFbSizeInGib": {
            "description": "The maximum framebuffer size in gibibytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "timeSlicedCapable": {
            "description": "Indicate whether device is time-sliced capable.\n",
            "type": "boolean"
          },
          "migCapable": {
            "description": "Indicate whether device is Multiple Instance GPU capable.\n",
            "type": "boolean"
          },
          "computeProfileCapable": {
            "description": "Indicate whether device is compute profile capable.\n",
            "type": "boolean"
          },
          "quadroProfileCapable": {
            "description": "Indicate whether device is quadro profile capable.\n",
            "type": "boolean"
          }
        },
        "required": [
          "deviceName",
          "deviceVendorId",
          "maxFbSizeInGib",
          "timeSlicedCapable",
          "migCapable",
          "computeProfileCapable",
          "quadroProfileCapable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineVgpuDeviceInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVgpuDeviceInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVgpuDeviceInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVgpuProfileInfo": {
        "type": "object",
        "description": "Description of PCI vGPU profile and its attributes.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "profileName": {
            "description": "The vGPU profile name.\n",
            "type": "string"
          },
          "deviceVendorId": {
            "description": "A well-known unique identifier for the device that supports this\nprofile.\n\nIt concatenates the 16-bit PCI vendor id in lower bits\nfollowed by 16-bit PCI device id.\n",
            "type": "integer",
            "format": "int64"
          },
          "fbSizeInGib": {
            "description": "The profile framebuffer size in gibibytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "profileSharing": {
            "description": "Indicate how this profile is shared within device.\n",
            "type": "string"
          },
          "profileClass": {
            "description": "Indicate class for this profile.\n",
            "type": "string"
          },
          "stunTimeEstimates": {
            "description": "VMotion stun time information for this profile.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVMotionStunTimeInfo"
            }
          }
        },
        "required": [
          "profileName",
          "deviceVendorId",
          "fbSizeInGib",
          "profileSharing",
          "profileClass"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineTargetInfo"
          }
        ]
      },
      "ArrayOfVirtualMachineVgpuProfileInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVgpuProfileInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVgpuProfileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVirtualDeviceGroups": {
        "type": "object",
        "description": "The VirtualDeviceGroups data object\ntype contains information about the backing that maps the\nvirtual device onto a physical device for a Vendor Device Group device.\n\nVendor Device Groups allow third-parties to define collections of\ndevices that must be allocated to a virtual machine as a unit.\nTypically, this is because the set of devices are related in\na some way, e.g. a physical link connects the devices.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "deviceGroup": {
            "description": "Information about device groups used by this VM.\n\nWhen adding a group, all devices that form the group\nmust be added in the same request.\nWhen removing group, also all devices participating\nin the group must be removed.\nModifying existing device group membership is not allowed.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVirtualDeviceGroupsDeviceGroup"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVirtualDeviceGroups": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVirtualDeviceGroups*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVirtualDeviceGroups"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVirtualDeviceGroupsDeviceGroup": {
        "type": "object",
        "description": "Base device group type.\n",
        "properties": {
          "groupInstanceKey": {
            "description": "Group instance key.\n\nUnique integer referencing\ndevice group. During group creation client should\nuse a temporary negative number. Once group is\nadded to the virtual machine, server generates non-negative\ninteger that stays constant during group lifetime.\nSee *VirtualDevice.key* for details.\n",
            "type": "integer",
            "format": "int32"
          },
          "deviceInfo": {
            "description": "Provides a label and summary information for the device.\n",
            "$ref": "#/components/schemas/Description"
          }
        },
        "required": [
          "groupInstanceKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVirtualDeviceGroupsDeviceGroup*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVirtualDeviceGroupsDeviceGroup"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVirtualDeviceGroupsVendorDeviceGroup": {
        "type": "object",
        "description": "Vendor device group.\n\nThese groups are defined in the\n<code>*VirtualMachineVendorDeviceGroupInfo*</code>.\nWhen this group is added, all devices that form the group\nmust be added in the same request.\nModification of membership in the group is not allowed,\ndevices cannot be added or removed.\nWhen group is removed, all devices that form the group\nmust be removed in the same request.\n",
        "properties": {
          "deviceGroupName": {
            "description": "The name of the vendor device group from\n<code>*VirtualMachineVendorDeviceGroupInfo*</code>.\n",
            "type": "string"
          }
        },
        "required": [
          "deviceGroupName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineVirtualDeviceGroupsDeviceGroup"
          }
        ]
      },
      "ArrayOfVirtualMachineVirtualDeviceGroupsVendorDeviceGroup": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVirtualDeviceGroupsVendorDeviceGroup*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVirtualDeviceGroupsVendorDeviceGroup"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVirtualDeviceSwap": {
        "type": "object",
        "description": "Device Swap: Report current status of device swap feature.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "lsiToPvscsi": {
            "$ref": "#/components/schemas/VirtualMachineVirtualDeviceSwapDeviceSwapInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVirtualDeviceSwap": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVirtualDeviceSwap*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVirtualDeviceSwap"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVirtualDeviceSwapDeviceSwapInfo": {
        "type": "object",
        "description": "Information for the device swap operation.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "enabled": {
            "description": "Is the swap operation enabled for this virtual machine.\n",
            "type": "boolean"
          },
          "applicable": {
            "description": "Is the swap operation applicable to this virtual machine?\nOperation is applicable if it is enabled for the virtual\nmachine, for the host or cluster in which virtual machine\nresides, operating system supports device swap, and\nvirtual machine has controllers that need to be replaced.\n\nThis field is read-only and cannot be modified.\n",
            "type": "boolean"
          },
          "status": {
            "description": "Status of the operation.\n\nOne of\n*VirtualMachineVirtualDeviceSwapDeviceSwapStatus_enum*\nThis field is read-only and cannot be modified.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVirtualDeviceSwapDeviceSwapInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVirtualDeviceSwapDeviceSwapInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVirtualDeviceSwapDeviceSwapInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualHardware": {
        "type": "object",
        "description": "The VirtualHardware data object type contains the complete configuration\nof the hardware in a virtual machine.\n",
        "properties": {
          "numCPU": {
            "description": "Number of virtual CPUs present in this virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "numCoresPerSocket": {
            "description": "Number of cores used to distribute virtual CPUs among sockets\nin this virtual machine.\n\nThis field should be ignored for powered off VM with\nautoCoresPerSocket equals TRUE, because the virtual socket size\nwill be assigned during power-on.\nThis field could be unset for releases prior to 7.0 U3, and it\nimplies numCoresPerSocket is 1.\nIn other cases, this field represents the actual virtual socket\nsize seen by the virtual machine.\n",
            "type": "integer",
            "format": "int32"
          },
          "autoCoresPerSocket": {
            "description": "Cores per socket is automatically determined.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          },
          "memoryMB": {
            "description": "Memory size, in MB.\n",
            "type": "integer",
            "format": "int32"
          },
          "virtualICH7MPresent": {
            "description": "Does this virtual machine have Virtual Intel I/O Controller Hub 7\n",
            "type": "boolean"
          },
          "virtualSMCPresent": {
            "description": "Does this virtual machine have System Management Controller\n",
            "type": "boolean"
          },
          "device": {
            "description": "The set of virtual devices belonging to the virtual machine.\n\nThis list is unordered.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDevice"
            }
          },
          "motherboardLayout": {
            "description": "One of motherboardLayout choices.\n\nDefault is i440bxHostBridge. See\n*VirtualHardware.motherboardLayout*\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          },
          "simultaneousThreads": {
            "description": "Number of SMT (Simultaneous multithreading) threads.\n\nIf unset, then system defaults are in use.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "numCPU",
          "memoryMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualHardware": {
        "type": "object",
        "description": "A boxed array of *VirtualHardware*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualHardware"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualHardwareOption": {
        "type": "object",
        "description": "The VirtualHardwareOption data object contains the options available\nfor all virtual devices.\n",
        "properties": {
          "hwVersion": {
            "description": "The virtual hardware version.\n",
            "type": "integer",
            "format": "int32"
          },
          "virtualDeviceOption": {
            "description": "Array of virtual device options valid for this virtual\nmachine configuration.\n\nThe list is unordered.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceOption"
            }
          },
          "deviceListReadonly": {
            "description": "Whether the set of virtual devices can be changed, e.g., can devices\nbe added or removed.\n\nThis does not preclude changing devices.\n",
            "type": "boolean"
          },
          "numCPU": {
            "description": "List of acceptable values for the number of CPUs supported by this\n*ConfigOption*.\n\nThis is usually superceded by the information available in the\nguest operating system descriptors.\nThe guest operating system descriptor describes a maximum CPU\ncount, but the acceptable values are still constrained to the\nset specified here. The default value is stored at index 0 in the list.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "numCoresPerSocket": {
            "description": "The minimum, maximum and default number of cores per socket that\ncan be used when distributing virtual CPUs.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "autoCoresPerSocket": {
            "description": "Whether auto cores per socket is supported.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "numCpuReadonly": {
            "description": "Can the number of virtual CPUs be changed\n",
            "type": "boolean"
          },
          "memoryMB": {
            "description": "The minimum, maximum, and default memory options, in MB, per virtual machine,\nfor this VirtualHardwareOption.\n\nThese\nvalues are typically overruled by the supported and recommended\nvalues specified in the *GuestOsDescriptor* class.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "numPCIControllers": {
            "description": "The minimum, maximum, and default number of PCI controllers for\nthis virtual machine configuration.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numIDEControllers": {
            "description": "The minimum, maximum, and default number of IDE controllers for\nthis virtual machine configuration.\n\nNote: SCSI controllers sit\non the PCI controller so their options (minimum, maximum, and default values)\nare contained inside the\n*VirtualPCIControllerOption*\nclass.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numUSBControllers": {
            "description": "The minimum, maximum, and default number of USB controllers for\nthis virtual machine configuration.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numUSBXHCIControllers": {
            "description": "The minimum, maximum, and default number of XHCI (USB 3.0) controllers for\nthis virtual machine configuration.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSIOControllers": {
            "description": "The minimum, maximum, and default number of SIO controllers for\nthis virtual machine configuration.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numPS2Controllers": {
            "description": "The minimum, maximum, and default number of PS2 controllers for\nthis virtual machine configuration.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "licensingLimit": {
            "description": "List of propery names which limits are given be a licensing\nrestriction of the underlying product, e.g., a limit that is\nnot derived based on the product or hardware features.\n\nFor example, the property name \"numCPU\"\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "numSupportedWwnPorts": {
            "description": "The minimum, maximum and default number of NPIV WorldWideNode names\nsupported for this virtual machine configuration.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSupportedWwnNodes": {
            "description": "The minimum, maximum and default number of NPIV WorldWidePort names\nsupported for this virtual machine configuration.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "resourceConfigOption": {
            "description": "Default value and value range for *ResourceConfigOption*\n",
            "$ref": "#/components/schemas/ResourceConfigOption"
          },
          "numNVDIMMControllers": {
            "description": "The minimum, maximum and default number of virtual NVDIMM controllers\nfor this virtual machine configuration.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numTPMDevices": {
            "description": "The minimum, maximum, and default number of virtual TPMs.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numWDTDevices": {
            "description": "The minimum, maximum, and default number of virtual watchdog timers.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numPrecisionClockDevices": {
            "description": "The minimum, maximum and default number of PrecisionClock devices.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "epcMemoryMB": {
            "description": "The minimum, maximum and default value of Intel's Secure Guard Extensions\nEnclave Page Cache (EPC) memory.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "acpiHostBridgesFirmware": {
            "description": "Empty for HWv17 &amp; older, \\[\"efi\"\\] for HWv18.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "numCpuSimultaneousThreads": {
            "description": "The minimum, maximum and default number of CPU simultaneous threads.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numNumaNodes": {
            "description": "The minimum, maximum and default number of NUMA nodes.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numDeviceGroups": {
            "description": "Maximum number of device groups.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "deviceGroupTypes": {
            "description": "Supported device group types.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "hwVersion",
          "virtualDeviceOption",
          "deviceListReadonly",
          "numCPU",
          "numCoresPerSocket",
          "numCpuReadonly",
          "memoryMB",
          "numPCIControllers",
          "numIDEControllers",
          "numUSBControllers",
          "numUSBXHCIControllers",
          "numSIOControllers",
          "numPS2Controllers",
          "resourceConfigOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualHardwareOption": {
        "type": "object",
        "description": "A boxed array of *VirtualHardwareOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualHardwareOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVirtualNuma": {
        "type": "object",
        "description": "This data object describes the virtual NUMA configuration for\nthis virtual machine and configured through ConfigSpec.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "coresPerNumaNode": {
            "description": "Cores per vNUMA node for this VM.\n\nThe number of vNUMA nodes is\ncalculated by total number of cores divided by corePerNumaNode.\nIf set to be zero, it clears any manual override and autosize\nvNUMA node.\nIf set to be non zero, VM uses the value as vNUMA node size.\nIf unset, the VM continue to follow the behavior in last poweron.\n",
            "type": "integer",
            "format": "int32"
          },
          "exposeVnumaOnCpuHotadd": {
            "description": "Capability to expose virtual NUMA when CPU hotadd is enabled.\n\nIf set to true, ESXi will consider exposing virtual NUMA to\nthe VM when CPU hotadd is enabled.\nIf set to false, ESXi will enforce the VM to have single\nvirtual NUMA node when CPU hotadd is enabled.\nIf unset, the VM continue to follow the behavior in last poweron.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVirtualNuma": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVirtualNuma*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVirtualNuma"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVirtualNumaInfo": {
        "type": "object",
        "description": "vNUMA: This is read-only data for ConfigInfo since this portion is\nnot configurable.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "coresPerNumaNode": {
            "description": "Cores per NUMA node.\n\nWhen this virtual machine is powered off and \"autoCoresPerNumaNode\"\nis True, coresPerNumaNode will be assigned during power-on and this\nfield should be ignored.\nIn other cases, this field represents the virtual NUMA node size\nseen by the guest.\n",
            "type": "integer",
            "format": "int32"
          },
          "autoCoresPerNumaNode": {
            "description": "Whether coresPerNode is determined automatically.\n",
            "type": "boolean"
          },
          "vnumaOnCpuHotaddExposed": {
            "description": "Whether virtual NUMA topology is exposed when CPU hotadd is\nenabled.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVirtualNumaInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVirtualNumaInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVirtualNumaInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVirtualPMem": {
        "type": "object",
        "description": "Virtual Persistent Memory configuration for the VM.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "snapshotMode": {
            "description": "An enum describing behavior of NVDIMM devices when a VM snapshot is taken\nand restored.\n\nIf unset, taking a VM snapshot will fail when the VM is\nconfigured with NVDIMMs. See *VirtualMachineVirtualPMemSnapshotMode_enum* for supported values.\nThe snapshot mode applies to all NVDIMMs configured for the VM.\nProperty is currently only applicable to VMs with virtual NVDIMMs and not\napplicable to vPMem disks.\nSetting this property will fail if the VM has existing snapshots.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVirtualPMem": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVirtualPMem*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVirtualPMem"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineImportSpec": {
        "type": "object",
        "description": "A VmImportSpec is used by *ResourcePool.importVApp* when importing entities.\n\nIt provides all information needed to import a *VirtualMachine*. So far,\nthis coincides with *VirtualMachineConfigSpec*.\n\nA VmImportSpec can be contained in a *VirtualAppImportSpec* as part of\nthe ImportSpec for an entity.\n\nSee also *ImportSpec*.\n",
        "properties": {
          "configSpec": {
            "description": "Configuration for the virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineConfigSpec"
          },
          "resPoolEntity": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1.\n\nIf specified, this resource pool will be used as the parent resource pool and the\nvirtual machine will be made a linked child to the parent vApp.\n\nThis field is ignored\nfor the root node in an ImportSpec tree.\n\nRefers instance of *ResourcePool*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "configSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/ImportSpec"
          }
        ]
      },
      "ArrayOfVirtualMachineImportSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineImportSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineImportSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineWindowsQuiesceSpec": {
        "type": "object",
        "description": "This data object type encapsulates configuration settings\nwhen creating a virtual machine quiesced snapshot.\n",
        "properties": {
          "vssBackupType": {
            "description": "The property to indicate what type of VSS backup operation is going\nto be performed on the virtual machine.\n\nSee VSS\\_BACKUP\\_TYPE on MSDN:\nhttps://msdn.microsoft.com/en-us/library/aa384679(v=vs.85).aspx\n",
            "type": "integer",
            "format": "int32"
          },
          "vssBootableSystemState": {
            "description": "The property to indicate if a bootable system state during VSS backup\nto be performed on the virtual machine.\n",
            "type": "boolean"
          },
          "vssPartialFileSupport": {
            "description": "The property to indicate if partial file support is enabled during VSS\nbackup to be performed on the virtual machine.\n",
            "type": "boolean"
          },
          "vssBackupContext": {
            "description": "The property to indicate what context of VSS backup operation to be\nperformed on the virtual machine.\n\nFor the list of supported values,\nsee *VirtualMachineWindowsQuiesceSpecVssBackupContext_enum*\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualMachineGuestQuiesceSpec"
          }
        ]
      },
      "ArrayOfVirtualMachineWindowsQuiesceSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineWindowsQuiesceSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineWindowsQuiesceSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CheckResult": {
        "type": "object",
        "description": "The result of a call to any of the methods in either\n*VirtualMachineCompatibilityChecker* or *VirtualMachineProvisioningChecker*.\n",
        "properties": {
          "vm": {
            "description": "The virtual machine involved in the testing.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "host": {
            "description": "The host involved in the testing.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "warning": {
            "description": "A list of faults representing problems which may\nrequire attention, but which are not fatal.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          },
          "error": {
            "description": "A list of faults representing problems which are fatal\nto the operation.\n\nFor *VirtualMachineProvisioningChecker* an error means that the\ngiven provisioning operation would fail.\nFor *VirtualMachineCompatibilityChecker* an error means that either\na power-on of this virtual machine would fail, or that the\nvirtual machine would not run correctly once powered-on.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCheckResult": {
        "type": "object",
        "description": "A boxed array of *CheckResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CheckResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationAdapterMapping": {
        "type": "object",
        "description": "Data object type to associate a virtual network adapter with its IP settings.\n",
        "properties": {
          "macAddress": {
            "description": "The MAC address of a network adapter being customized.\n\nThe client cannot change\nthis value because the guest operating system has no control over the MAC\naddress of a virtual network adapter.\n\nThis property is optional. If it is not included, the customization process maps\nthe settings from the list of AdapterMappings.IPSettings in the\nSpecification.nicSettingMap to the virtual machine's network adapters, in PCI\nslot order. The first virtual network adapter on the PCI bus is assigned\nnicSettingMap\\[0\\].IPSettings, the second adapter is assigned\nnicSettingMap\\[1\\].IPSettings, and so on.\n\nIn vSphere 7.0 series, the MAC addresses must be specified in the\nascending order of pciSlotNumber, otherwise a MAC address mismatch error\nwill be reported. For further details, see the\nhttps://kb.vmware.com/s/article/87648\n",
            "type": "string"
          },
          "adapter": {
            "description": "The IP settings for the associated virtual network adapter.\n",
            "$ref": "#/components/schemas/CustomizationIPSettings"
          }
        },
        "required": [
          "adapter"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationAdapterMapping": {
        "type": "object",
        "description": "A boxed array of *CustomizationAdapterMapping*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationAdapterMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationAutoIpV6Generator": {
        "type": "object",
        "description": "Use automatic address configuration to generate linklocal ipv6 addresses\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpV6Generator"
          }
        ]
      },
      "ArrayOfCustomizationAutoIpV6Generator": {
        "type": "object",
        "description": "A boxed array of *CustomizationAutoIpV6Generator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationAutoIpV6Generator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationCloudinitPrep": {
        "type": "object",
        "description": "Guest customization settings to customize a Linux guest operating\nsystem with raw cloud-init data.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "metadata": {
            "description": "Metadata includes the network, instance id and hostname that cloud-init\nprocesses to configure the VM.\n\nIt is in json or yaml format.\nThe max size of the metadata is 524288 bytes.\nSee detail information about <a href=\"https://cloudinit.readthedocs.io/en/latest/topics/instancedata.html#\"target=\"_blank\">Instance Metadata</a>.\n",
            "type": "string"
          },
          "userdata": {
            "description": "Userdata is the user custom content that cloud-init processes to\nconfigure the VM.\n\nThe max size of the userdata is 524288 bytes.\nSee detail information about <a href=\"https://cloudinit.readthedocs.io/en/latest/topics/format.html\"target=\"_blank\">User-Data formats</a>.\n",
            "type": "string"
          }
        },
        "required": [
          "metadata"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIdentitySettings"
          }
        ]
      },
      "ArrayOfCustomizationCloudinitPrep": {
        "type": "object",
        "description": "A boxed array of *CustomizationCloudinitPrep*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationCloudinitPrep"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationCustomIpGenerator": {
        "type": "object",
        "description": "Use a command-line program configured with the VirtualCenter server.\n",
        "properties": {
          "argument": {
            "description": "An optional argument that is passed to the utility for this IP address.\n\nThe\nmeaning of this field is user-defined, in the script.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpGenerator"
          }
        ]
      },
      "ArrayOfCustomizationCustomIpGenerator": {
        "type": "object",
        "description": "A boxed array of *CustomizationCustomIpGenerator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationCustomIpGenerator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationCustomIpV6Generator": {
        "type": "object",
        "description": "Use a command-line program configured with the VirtualCenter server.\n",
        "properties": {
          "argument": {
            "description": "An optional argument that is passed to the utility for this ipv6 address.\n\nThe\nmeaning of this field is user-defined, in the script.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpV6Generator"
          }
        ]
      },
      "ArrayOfCustomizationCustomIpV6Generator": {
        "type": "object",
        "description": "A boxed array of *CustomizationCustomIpV6Generator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationCustomIpV6Generator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationCustomName": {
        "type": "object",
        "description": "Specifies that the VirtualCenter server will launch an external application to\ngenerate the (hostname/IP).\n\nThe command line for this application must be specified\nin the server configuration file (vpxd.cfg) in the vpxd/name-ip-generator key.\n",
        "properties": {
          "argument": {
            "description": "An optional argument that is passed to the utility for this IP address.\n\nThe\nmeaning of this field is user-defined in the script.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationName"
          }
        ]
      },
      "ArrayOfCustomizationCustomName": {
        "type": "object",
        "description": "A boxed array of *CustomizationCustomName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationCustomName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationDhcpIpGenerator": {
        "type": "object",
        "description": "Use a DHCP server to configure the virtual network adapter.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpGenerator"
          }
        ]
      },
      "ArrayOfCustomizationDhcpIpGenerator": {
        "type": "object",
        "description": "A boxed array of *CustomizationDhcpIpGenerator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationDhcpIpGenerator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationDhcpIpV6Generator": {
        "type": "object",
        "description": "Use a DHCP server to configure ipv6 address\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpV6Generator"
          }
        ]
      },
      "ArrayOfCustomizationDhcpIpV6Generator": {
        "type": "object",
        "description": "A boxed array of *CustomizationDhcpIpV6Generator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationDhcpIpV6Generator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationFixedIp": {
        "type": "object",
        "description": "Use a static IP Address for the virtual network adapter.\n",
        "properties": {
          "ipAddress": {
            "type": "string"
          }
        },
        "required": [
          "ipAddress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpGenerator"
          }
        ]
      },
      "ArrayOfCustomizationFixedIp": {
        "type": "object",
        "description": "A boxed array of *CustomizationFixedIp*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationFixedIp"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationFixedIpV6": {
        "type": "object",
        "description": "Use a static ipv6 address for the virtual network adapter\n",
        "properties": {
          "ipAddress": {
            "type": "string"
          },
          "subnetMask": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "ipAddress",
          "subnetMask"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpV6Generator"
          }
        ]
      },
      "ArrayOfCustomizationFixedIpV6": {
        "type": "object",
        "description": "A boxed array of *CustomizationFixedIpV6*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationFixedIpV6"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationFixedName": {
        "type": "object",
        "description": "A fixed name.\n",
        "properties": {
          "name": {
            "description": "The virtual machine name specified by the client.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationName"
          }
        ]
      },
      "ArrayOfCustomizationFixedName": {
        "type": "object",
        "description": "A boxed array of *CustomizationFixedName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationFixedName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationGlobalIPSettings": {
        "type": "object",
        "description": "A collection of global IP settings for a virtual network adapter.\n\nIn Linux, DNS\nserver settings are global. The settings can either be statically set or supplied\nby a DHCP server.\n",
        "properties": {
          "dnsSuffixList": {
            "description": "List of name resolution suffixes for the virtual network adapter.\n\nThis list\napplies to both Windows and Linux guest customization. For Linux, this setting\nis global, whereas in Windows, this setting is listed on a per-adapter basis,\neven though the setting is global in Windows.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dnsServerList": {
            "description": "List of DNS servers, for a virtual network adapter with a static IP address.\n\nIf\nthis list is empty, then the guest operating system is expected to use a DHCP\nserver to get its DNS server settings. These settings configure the virtual\nmachine to use the specified DNS servers. These DNS server settings are listed\nin order of preference.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationGlobalIPSettings": {
        "type": "object",
        "description": "A boxed array of *CustomizationGlobalIPSettings*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationGlobalIPSettings"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationGuiRunOnce": {
        "type": "object",
        "description": "The commands listed in the GuiRunOnce data object type are executed when a user\nlogs on the first time after customization completes.\n\nThe logon may be driven by\nthe *AutoLogon* setting.\n\nThe GuiRunOnce data object type maps to the GuiRunOnce key in the\n`sysprep.xml` answer file. These values are transferred into the\n`sysprep.xml` file that VirtualCenter stores on the target virtual disk. For\nmore detailed information, see <a href=\"https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx\"target=\"_blank\">Performing Unattended Installations</a>.\n",
        "properties": {
          "commandList": {
            "description": "A list of commands to run at first user logon, after guest customization.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "commandList"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationGuiRunOnce": {
        "type": "object",
        "description": "A boxed array of *CustomizationGuiRunOnce*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationGuiRunOnce"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationGuiUnattended": {
        "type": "object",
        "description": "The GuiUnattended type maps to the GuiUnattended key in the `sysprep.xml`\nanswer file.\n\nThese values are plugged directly into the `sysprep.xml` file\nthat VirtualCenter stores on the target virtual disk. For more detailed\ninformation, see <a href=\"https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx\"target=\"_blank\">Performing Unattended Installations</a>.\n",
        "properties": {
          "password": {
            "description": "The new administrator password for the machine.\n\nTo specify that the password\nshould be set to blank (that is, no password), set the password value to NULL.\nBecause of encryption, \"\" is NOT a valid value.\n\nIf password is set to blank and *CustomizationGuiUnattended.autoLogon* is set, the\nguest customization will fail.\n\nIf the XML file is generated by the VirtualCenter Customization Wizard, then the\npassword is encrypted. Otherwise, the client should set the plainText attribute\nto true, so that the customization process does not attempt to decrypt the\nstring.\n",
            "$ref": "#/components/schemas/CustomizationPassword"
          },
          "timeZone": {
            "description": "The time zone index for the virtual machine.\n\nNumbers correspond to time zones\nlisted at <a href=\"https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values\"target=\"_blank\">Microsoft Time Zone Index Values</a>.\n",
            "type": "integer",
            "format": "int32"
          },
          "autoLogon": {
            "description": "Flag to determine whether or not the machine automatically logs on as\nAdministrator.\n\nSee also the password property.\n\nIf the AutoLogon flag is set, *CustomizationGuiUnattended.password* must not be\nblank or the guest customization will fail.\n",
            "type": "boolean"
          },
          "autoLogonCount": {
            "description": "If the AutoLogon flag is set, then the AutoLogonCount property specifies the\nnumber of times the machine should automatically log on as Administrator.\n\nGenerally it should be 1, but if your setup requires a number of reboots, you\nmay want to increase it. This number may be determined by the list of commands\nexecuted by the *GuiRunOnce* command.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "timeZone",
          "autoLogon",
          "autoLogonCount"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationGuiUnattended": {
        "type": "object",
        "description": "A boxed array of *CustomizationGuiUnattended*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationGuiUnattended"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationIPSettings": {
        "type": "object",
        "description": "IP settings for a virtual network adapter.\n",
        "properties": {
          "ip": {
            "description": "Specification to obtain a unique IP address for this virtual network adapter.\n",
            "$ref": "#/components/schemas/CustomizationIpGenerator"
          },
          "subnetMask": {
            "description": "Subnet mask for this virtual network adapter.\n",
            "type": "string"
          },
          "gateway": {
            "description": "For a virtual network adapter with a static IP address, this data object type\ncontains a list of gateways, in order of preference.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ipV6Spec": {
            "description": "This contains the IpGenerator, subnet mask and gateway info for all\nthe ipv6 addresses associated with the virtual network adapter.\n",
            "$ref": "#/components/schemas/CustomizationIPSettingsIpV6AddressSpec"
          },
          "dnsServerList": {
            "description": "A list of server IP addresses to use for DNS lookup in a Windows guest operating\nsystem.\n\nIn Windows, these settings are adapter-specific, whereas in Linux, they\nare global. As a result, the Linux guest customization process ignores this\nsetting and looks for its DNS servers in the globalIPSettings object.\n\nSpecify these servers in order of preference. If this list is not empty, and if\na DHCP IpGenerator is used, then these settings override the DHCP settings.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dnsDomain": {
            "description": "A DNS domain suffix such as vmware.com.\n",
            "type": "string"
          },
          "primaryWINS": {
            "description": "The IP address of the primary WINS server.\n\nThis property is ignored for Linux\nguest operating systems.\n",
            "type": "string"
          },
          "secondaryWINS": {
            "description": "The IP address of the secondary WINS server.\n\nThis property is ignored for Linux\nguest operating systems.\n",
            "type": "string"
          },
          "netBIOS": {
            "description": "NetBIOS setting for Windows.\n",
            "$ref": "#/components/schemas/CustomizationNetBIOSMode_enum"
          }
        },
        "required": [
          "ip"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationIPSettings": {
        "type": "object",
        "description": "A boxed array of *CustomizationIPSettings*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationIPSettings"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationIPSettingsIpV6AddressSpec": {
        "type": "object",
        "description": "IPv6 settings\n",
        "properties": {
          "ip": {
            "description": "ipv6 address generators\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationIpV6Generator"
            }
          },
          "gateway": {
            "description": "gateways\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "ip"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationIPSettingsIpV6AddressSpec": {
        "type": "object",
        "description": "A boxed array of *CustomizationIPSettingsIpV6AddressSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationIPSettingsIpV6AddressSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationIdentification": {
        "type": "object",
        "description": "The Identification data object type provides information needed to join a workgroup\nor domain.\n\nThe Identification data object type maps to the Identification key in the\n`sysprep.xml` answer file. These values are transferred into the\n`sysprep.xml` file that VirtualCenter stores on the target virtual disk. For\nmore detailed information, see <a href=\"https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx\"target=\"_blank\">Performing Unattended Installations</a>.\n",
        "properties": {
          "joinWorkgroup": {
            "description": "The workgroup that the virtual machine should join.\n\nIf this value is supplied,\nthen the domain name and authentication fields must be empty.\n",
            "type": "string"
          },
          "joinDomain": {
            "description": "The domain that the virtual machine should join.\n\nIf this value is supplied, then\ndomainAdmin and domainAdminPassword must also be supplied, and the workgroup\nname must be empty.\n",
            "type": "string"
          },
          "domainAdmin": {
            "description": "This is the domain user account used for authentication if the virtual machine\nis joining a domain.\n\nThe user does not need to be a domain administrator, but\nthe account must have the privileges required to add computers to the domain.\n",
            "type": "string"
          },
          "domainAdminPassword": {
            "description": "This is the password for the domain user account used for authentication if the\nvirtual machine is joining a domain.\n",
            "$ref": "#/components/schemas/CustomizationPassword"
          },
          "domainOU": {
            "description": "This is the MachineObjectOU which specifies the full LDAP path name of\nthe OU to which the computer belongs.\n\nFor example, OU=MyOu,DC=MyDom,DC=MyCompany,DC=com\nRefer to: https://docs.microsoft.com/en-us/windows-hardware/customize/\ndesktop/unattend/microsoft-windows-unattendedjoin-\nidentification-machineobjectou\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationIdentification": {
        "type": "object",
        "description": "A boxed array of *CustomizationIdentification*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationIdentification"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationIdentitySettings": {
        "type": "object",
        "description": "Base type for sysprep, sysprepText, or linuxPrep object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationIdentitySettings": {
        "type": "object",
        "description": "A boxed array of *CustomizationIdentitySettings*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationIdentitySettings"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationIpGenerator": {
        "type": "object",
        "description": "Base type for the various IP specification possibilities.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationIpGenerator": {
        "type": "object",
        "description": "A boxed array of *CustomizationIpGenerator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationIpGenerator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationIpV6Generator": {
        "type": "object",
        "description": "Base type for the various IpV6 specification possibilities\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationIpV6Generator": {
        "type": "object",
        "description": "A boxed array of *CustomizationIpV6Generator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationIpV6Generator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationLicenseFilePrintData": {
        "type": "object",
        "description": "The LicenseFilePrintData type maps directly to the LicenseFilePrintData key in the\n`sysprep.xml` answer file.\n\nThese values are transferred into the\n`sysprep.xml` file that VirtualCenter stores on the target virtual disk. For\nmore detailed information, see <a href=\"https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx\"target=\"_blank\">Performing Unattended Installations</a>.\nLicenseFilePrintData provides licensing information for Windows server operating\nsystems.\n",
        "properties": {
          "autoMode": {
            "description": "Server licensing mode\n",
            "$ref": "#/components/schemas/CustomizationLicenseDataMode_enum"
          },
          "autoUsers": {
            "description": "This key is valid only if AutoMode = PerServer.\n\nThe integer value indicates the\nnumber of client licenses purchased for the VirtualCenter server being\ninstalled.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "autoMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationLicenseFilePrintData": {
        "type": "object",
        "description": "A boxed array of *CustomizationLicenseFilePrintData*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationLicenseFilePrintData"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationLinuxOptions": {
        "type": "object",
        "description": "Base object type for optional operations supported by the customization process for\nLinux.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationOptions"
          }
        ]
      },
      "ArrayOfCustomizationLinuxOptions": {
        "type": "object",
        "description": "A boxed array of *CustomizationLinuxOptions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationLinuxOptions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationLinuxPrep": {
        "type": "object",
        "description": "This is the Linux counterpart to the Windows Sysprep object.\n\nLinuxPrep contains\nmachine-wide settings that identify a Linux machine in the same way that the\nSysprep type identifies a Windows machine.\n",
        "properties": {
          "hostName": {
            "description": "The network host name of the (Linux) virtual machine.\n",
            "$ref": "#/components/schemas/CustomizationName"
          },
          "domain": {
            "description": "The fully qualified domain name.\n",
            "type": "string"
          },
          "timeZone": {
            "description": "The case-sensitive timezone, such as Europe/Sofia.\n\n<a href=\"timezone.html\"title=\"Display list of Valid timeZone values...\">\n**Valid timeZone values**</a> are based on the tz (timezone)\ndatabase used by Linux and other Unix systems.\nThe values are strings (xsd:string) in the form \"Area/Location,\" in which\nArea is a continent or ocean name, and Location is the city, island, or\nother regional designation.\n\nSee the <a href=\"https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2145518\"target=\"_blank\">List of supported time zones for different vSphere versions in Linux/Unix systems</a>.\n",
            "type": "string"
          },
          "hwClockUTC": {
            "description": "Specifies whether the hardware clock is in UTC or local time.\n- True when the hardware clock is in UTC.\n- False when the hardware clock is in local time.\n",
            "type": "boolean"
          },
          "scriptText": {
            "description": "The script to run before and after GOS customization.\n",
            "type": "string"
          },
          "compatibleCustomizationMethod": {
            "description": "The compatible customization method is an identifier of a customization\nstrategy which is implementable in a group of Linux operating systems.\n\nThis value does not need to be set if your operating system is officially\nsupported by VMware guest operating system customization. When using a\nLinux operating system which hasn't been officially supported and it is\ndesigned to be 100% bug-for-bug compatible with an officially supported\nLinux operating system, it can be customized by an existing customization\nmethod.\n\nPlease set the compatible customization method to a supported string value\ne.g. \"GOSC\\_METHOD\\_1\".  \nSee <a href=\"https://kb.vmware.com/s/article/95903\"target=\"_blank\">Supported compatible customization method list</a>.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "type": "string"
          }
        },
        "required": [
          "hostName",
          "domain"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIdentitySettings"
          }
        ]
      },
      "ArrayOfCustomizationLinuxPrep": {
        "type": "object",
        "description": "A boxed array of *CustomizationLinuxPrep*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationLinuxPrep"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationName": {
        "type": "object",
        "description": "A base object type for a virtual machine name that can be either fixed or\nauto-generated.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationName": {
        "type": "object",
        "description": "A boxed array of *CustomizationName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationOptions": {
        "type": "object",
        "description": "Base object type for optional operations supported by the customization process.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationOptions": {
        "type": "object",
        "description": "A boxed array of *CustomizationOptions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationOptions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationPassword": {
        "type": "object",
        "description": "Contains a password string and a flag that specifies whether the string is in plain\ntext or encrypted.\n",
        "properties": {
          "value": {
            "description": "The password string.\n\nIt is encrypted if the associated plainText flag is false.\n",
            "type": "string",
            "format": "password"
          },
          "plainText": {
            "description": "Flag to specify whether or not the password is in plain text, rather than\nencrypted.\n",
            "type": "boolean"
          }
        },
        "required": [
          "value",
          "plainText"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationPassword": {
        "type": "object",
        "description": "A boxed array of *CustomizationPassword*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationPassword"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationPrefixName": {
        "type": "object",
        "description": "Specifies that a unique name should be generated by concatenating the base string\nwith a number.\n\nVirtual machine names are unique across the set of hosts and virtual machines known\nto the VirtualCenter instance. VirtualCenter tracks the network names of virtual\nmachines as well as hosts. VMware Tools runs in a guest operating system and\nreports information to VirtualCenter, including the network name of the guest.\n",
        "properties": {
          "base": {
            "description": "Base prefix, to which a unique number is appended.\n",
            "type": "string"
          }
        },
        "required": [
          "base"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationName"
          }
        ]
      },
      "ArrayOfCustomizationPrefixName": {
        "type": "object",
        "description": "A boxed array of *CustomizationPrefixName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationPrefixName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationSpec": {
        "type": "object",
        "description": "The Specification data object type contains information required to customize a\nvirtual machine when deploying it or migrating it to a new host.\n",
        "properties": {
          "options": {
            "description": "Optional operations (either LinuxOptions or WinOptions).\n",
            "$ref": "#/components/schemas/CustomizationOptions"
          },
          "identity": {
            "description": "Network identity and settings, similar to Microsoft's Sysprep tool.\n\nThis is a\nSysprep, LinuxPrep, CloudinitPrep, or SysprepText object.\n",
            "$ref": "#/components/schemas/CustomizationIdentitySettings"
          },
          "globalIPSettings": {
            "description": "Global IP settings constitute the IP settings that are not specific to a\nparticular virtual network adapter.\n",
            "$ref": "#/components/schemas/CustomizationGlobalIPSettings"
          },
          "nicSettingMap": {
            "description": "IP settings that are specific to a particular virtual network adapter.\n\nThe\nAdapterMapping object maps a network adapter's MAC address to its Adapter\nsettings object. May be empty if there are no network adapters, else should\nmatch number of network adapters in the VM.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationAdapterMapping"
            }
          },
          "encryptionKey": {
            "description": "Byte array containing the public key used to encrypt any passwords stored in the\nspecification.\n\nBoth the client and the server can use this to determine if\nstored passwords can be decrypted by the server or if the passwords need to be\nre-entered and re-encrypted before the specification can be used.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -128,
              "maximum": 127
            }
          }
        },
        "required": [
          "identity",
          "globalIPSettings"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationSpec": {
        "type": "object",
        "description": "A boxed array of *CustomizationSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationStatelessIpV6Generator": {
        "type": "object",
        "description": "Use stateless autoconfiguration to configure to ipv6 address\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpV6Generator"
          }
        ]
      },
      "ArrayOfCustomizationStatelessIpV6Generator": {
        "type": "object",
        "description": "A boxed array of *CustomizationStatelessIpV6Generator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationStatelessIpV6Generator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationSysprep": {
        "type": "object",
        "description": "An object representation of a Windows `sysprep.xml` answer file.\n\nThe sysprep\ntype encloses all the individual keys listed in a `sysprep.xml` file. For\nmore detailed information, see <a href=\"https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx\"target=\"_blank\">Performing Unattended Installations</a>.\n",
        "properties": {
          "guiUnattended": {
            "description": "An object representation of the sysprep GuiUnattended key.\n",
            "$ref": "#/components/schemas/CustomizationGuiUnattended"
          },
          "userData": {
            "description": "An object representation of the sysprep UserData key.\n",
            "$ref": "#/components/schemas/CustomizationUserData"
          },
          "guiRunOnce": {
            "description": "An object representation of the sysprep GuiRunOnce key.\n",
            "$ref": "#/components/schemas/CustomizationGuiRunOnce"
          },
          "identification": {
            "description": "An object representation of the sysprep Identification key.\n",
            "$ref": "#/components/schemas/CustomizationIdentification"
          },
          "licenseFilePrintData": {
            "description": "An object representation of the sysprep LicenseFilePrintData key.\n\nRequired only\nfor Windows 2000 Server and Windows Server 2003.\n",
            "$ref": "#/components/schemas/CustomizationLicenseFilePrintData"
          }
        },
        "required": [
          "guiUnattended",
          "userData",
          "identification"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIdentitySettings"
          }
        ]
      },
      "ArrayOfCustomizationSysprep": {
        "type": "object",
        "description": "A boxed array of *CustomizationSysprep*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationSysprep"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationSysprepText": {
        "type": "object",
        "description": "An alternate way to specify the `sysprep.xml` answer file.\n\nThis string is\nwritten to the `sysprep.xml` answer file on the target virtual disk.\n",
        "properties": {
          "value": {
            "description": "Text for the `sysprep.xml` answer file.\n\nFor additional details, see <a href=\"https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2151684\"target=\"_blank\">Using custom sysprep.xml for vCenter Guest Customization</a> and\n<a href=\"https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1029174\"target=\"_blank\">Specifying network settings in custom sysprep.xml</a>.\n",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIdentitySettings"
          }
        ]
      },
      "ArrayOfCustomizationSysprepText": {
        "type": "object",
        "description": "A boxed array of *CustomizationSysprepText*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationSysprepText"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationUnknownIpGenerator": {
        "type": "object",
        "description": "The IP address is left unspecified.\n\nThe user must be prompted to supply an IP\naddress.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpGenerator"
          }
        ]
      },
      "ArrayOfCustomizationUnknownIpGenerator": {
        "type": "object",
        "description": "A boxed array of *CustomizationUnknownIpGenerator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationUnknownIpGenerator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationUnknownIpV6Generator": {
        "type": "object",
        "description": "The ipv6 address is left unspecified.\n\nThe user must be prompted to supply an ipv6\naddress.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationIpV6Generator"
          }
        ]
      },
      "ArrayOfCustomizationUnknownIpV6Generator": {
        "type": "object",
        "description": "A boxed array of *CustomizationUnknownIpV6Generator*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationUnknownIpV6Generator"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationUnknownName": {
        "type": "object",
        "description": "Indicates that the name is not specified in advance.\n\nThe client should prompt the\nuser for the value to complete the specification.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationName"
          }
        ]
      },
      "ArrayOfCustomizationUnknownName": {
        "type": "object",
        "description": "A boxed array of *CustomizationUnknownName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationUnknownName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationUserData": {
        "type": "object",
        "description": "Personal data pertaining to the owner of the virtual machine.\n\nThe UserData data object type maps to the UserData key in the `sysprep.xml`\nanswer file. These values are transferred directly into the `sysprep.xml`\nfile that VirtualCenter stores on the target virtual disk. For more detailed\ninformation, see <a href=\"https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx\"target=\"_blank\">Performing Unattended Installations</a>.\n",
        "properties": {
          "fullName": {
            "description": "User's full name.\n",
            "type": "string"
          },
          "orgName": {
            "description": "User's organization.\n",
            "type": "string"
          },
          "computerName": {
            "description": "The computer name of the (Windows) virtual machine.\n\nComputer name may contain\nletters (A-Z), numbers(0-9) and hyphens (-) but no spaces or periods (.).\nThe name may not consists entirely of digits.\nComputer name is restricted to 15 characters in length. If the computer\nname is longer than 15 characters, it will be truncated to 15 characters.\n",
            "$ref": "#/components/schemas/CustomizationName"
          },
          "productId": {
            "description": "Microsoft Sysprep requires that a valid serial number be included in the answer\nfile when mini-setup runs.\n\nThis serial number is ignored if the original guest\noperating system was installed using a volume-licensed CD.\n",
            "type": "string"
          }
        },
        "required": [
          "fullName",
          "orgName",
          "computerName",
          "productId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfCustomizationUserData": {
        "type": "object",
        "description": "A boxed array of *CustomizationUserData*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationUserData"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationVirtualMachineName": {
        "type": "object",
        "description": "Specifies that VirtualCenter should generate a virtual machine name from a base\nprefix comprising the virtual machine entity name.\n\nA number is appended, if\nnecessary, to make it unique.\n\nVirtual machine names are unique across the set of hosts and virtual machines known\nto the VirtualCenter instance. VMware Tools reports the names of existing virtual\nmachines.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationName"
          }
        ]
      },
      "ArrayOfCustomizationVirtualMachineName": {
        "type": "object",
        "description": "A boxed array of *CustomizationVirtualMachineName*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationVirtualMachineName"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationWinOptions": {
        "type": "object",
        "description": "Optional operations supported by the customization process for Windows.\n",
        "properties": {
          "changeSID": {
            "description": "The customization process should modify the machine's security identifier (SID).\n\nFor Vista OS and greater, SID will always be modified and a value of false will\ngenerate an error.\n",
            "type": "boolean"
          },
          "deleteAccounts": {
            "deprecated": true,
            "description": "Deprecated as of VI API 2.5, this value is ignored. Removing user accounts\nduring customization is no longer supported. To change the\nadministrator password, set the administrator password to\nblank in the master vm. Sysprep will then be able to change the\npassword to the one specified by the *CustomizationGuiUnattended.password*.\n\nIf deleteAccounts is true, then all user accounts are removed from the system as\npart of the customization.\n\nMini-setup creates a new Administrator account with a\nblank password.\n",
            "type": "boolean"
          },
          "reboot": {
            "description": "A value of type SysprepRebootOption specifying the action that should be\ntaken after running sysprep.\n\nDefaults to \"reboot\".\n",
            "$ref": "#/components/schemas/CustomizationSysprepRebootOption_enum"
          }
        },
        "required": [
          "changeSID",
          "deleteAccounts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationOptions"
          }
        ]
      },
      "ArrayOfCustomizationWinOptions": {
        "type": "object",
        "description": "A boxed array of *CustomizationWinOptions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationWinOptions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskMappingInfo": {
        "type": "object",
        "description": "The HostDiskMappingInfo data object type describes\na virtual disk mapping to a host disk.\n",
        "properties": {
          "physicalPartition": {
            "description": "The partition used on the host, if not mapping\nto a full disk device.\n",
            "$ref": "#/components/schemas/HostDiskMappingPartitionInfo"
          },
          "name": {
            "description": "Host resource name.\n",
            "type": "string"
          },
          "exclusive": {
            "description": "Flag to indicate whether or not the virtual machine has exclusive access\nto the host device.\n",
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskMappingInfo": {
        "type": "object",
        "description": "A boxed array of *HostDiskMappingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskMappingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskMappingPartitionInfo": {
        "type": "object",
        "description": "The PhysicalPartitionInfo data class.\n",
        "properties": {
          "name": {
            "description": "Partition name.\n",
            "type": "string"
          },
          "fileSystem": {
            "description": "Filesystem, if the partition is formatted.\n",
            "type": "string"
          },
          "capacityInKb": {
            "description": "Partition capacity, in KB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "name",
          "fileSystem",
          "capacityInKb"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskMappingPartitionInfo": {
        "type": "object",
        "description": "A boxed array of *HostDiskMappingPartitionInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskMappingPartitionInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskMappingOption": {
        "type": "object",
        "description": "The HostDiskMappingOption data object type describes\nthe options for a virtual disk mapping to a host disk.\n",
        "properties": {
          "physicalPartition": {
            "description": "Array of valid partitions on this physical disk.\n\nThere is no default for this array.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskMappingPartitionOption"
            }
          },
          "name": {
            "description": "Host resource name.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskMappingOption": {
        "type": "object",
        "description": "A boxed array of *HostDiskMappingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskMappingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDiskMappingPartitionOption": {
        "type": "object",
        "description": "The PhysicalPartitionOption data class contains the options\nfor a partition on a physical disk.\n",
        "properties": {
          "name": {
            "description": "Partition name.\n",
            "type": "string"
          },
          "fileSystem": {
            "description": "File system, if the partition is formatted.\n",
            "type": "string"
          },
          "capacityInKb": {
            "description": "Partition capacity, in KB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "name",
          "fileSystem",
          "capacityInKb"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfHostDiskMappingPartitionOption": {
        "type": "object",
        "description": "A boxed array of *HostDiskMappingPartitionOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostDiskMappingPartitionOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ParaVirtualSCSIController": {
        "type": "object",
        "description": "ParaVirtualSCSIController is the data object that represents\na paravirtualized SCSI controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSCSIController"
          }
        ]
      },
      "ArrayOfParaVirtualSCSIController": {
        "type": "object",
        "description": "A boxed array of *ParaVirtualSCSIController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParaVirtualSCSIController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ParaVirtualSCSIControllerOption": {
        "type": "object",
        "description": "ParaVirtualSCSIControllerOption is the data object that contains\nthe options for a a paravirtualized SCSI controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSCSIControllerOption"
          }
        ]
      },
      "ArrayOfParaVirtualSCSIControllerOption": {
        "type": "object",
        "description": "A boxed array of *ParaVirtualSCSIControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParaVirtualSCSIControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualAHCIController": {
        "type": "object",
        "description": "The VirtualAHCIController data object type represents\nan AHCI SATA controller in a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSATAController"
          }
        ]
      },
      "ArrayOfVirtualAHCIController": {
        "type": "object",
        "description": "A boxed array of *VirtualAHCIController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualAHCIController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualAHCIControllerOption": {
        "type": "object",
        "description": "VirtualAHCIControllerOption is the data object that contains\nthe options for an AHCI SATA controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSATAControllerOption"
          }
        ]
      },
      "ArrayOfVirtualAHCIControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualAHCIControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualAHCIControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualBusLogicController": {
        "type": "object",
        "description": "VirtualBusLogicController is the data object that represents\na BusLogic SCSI controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSCSIController"
          }
        ]
      },
      "ArrayOfVirtualBusLogicController": {
        "type": "object",
        "description": "A boxed array of *VirtualBusLogicController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualBusLogicController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualBusLogicControllerOption": {
        "type": "object",
        "description": "This data object contains\nthe options for a BusLogic SCSI controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSCSIControllerOption"
          }
        ]
      },
      "ArrayOfVirtualBusLogicControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualBusLogicControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualBusLogicControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdrom": {
        "type": "object",
        "description": "The VirtualCdrom data object type describes the configuration of a CD-ROM device\nin a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualCdrom": {
        "type": "object",
        "description": "A boxed array of *VirtualCdrom*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdrom"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromAtapiBackingInfo": {
        "type": "object",
        "description": "The VirtualCdrom.AtapiBackingInfo data object type\nrepresents an ATAPI device backing for a virtual CD-ROM.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualCdromAtapiBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromAtapiBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromAtapiBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromIsoBackingInfo": {
        "type": "object",
        "description": "The VirtualCdrom.IsoBackingInfo data class represents\nan ISO backing for a virtual CD-ROM.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualCdromIsoBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromIsoBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromIsoBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromPassthroughBackingInfo": {
        "type": "object",
        "description": "The VirtualCdrom.PassthroughBackingInfo data class\nrepresents a device pass-through backing for a\nvirtual CD-ROM.\n",
        "properties": {
          "exclusive": {
            "description": "Flag to indicate whether or not the virtual machine has\nexclusive CD-ROM device access.\n",
            "type": "boolean"
          }
        },
        "required": [
          "exclusive"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualCdromPassthroughBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromPassthroughBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromPassthroughBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromRemoteAtapiBackingInfo": {
        "type": "object",
        "description": "The VirtualCdrom.RemoteAtapiBackingInfo data class\nrepresents a remote ATAPI device backing for a virtual CD-ROM.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceRemoteDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualCdromRemoteAtapiBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromRemoteAtapiBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromRemoteAtapiBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromRemotePassthroughBackingInfo": {
        "type": "object",
        "description": "The VirtualCdrom.RemotePassthroughBackingInfo data object type\ncontains the information to specify a remote pass-through device\nbacking of a virtual CD-ROM.\n",
        "properties": {
          "exclusive": {
            "description": "Flag to indicate whether or not the virtual machine\nhas exclusive access to the CD-ROM device.\n",
            "type": "boolean"
          }
        },
        "required": [
          "exclusive"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceRemoteDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualCdromRemotePassthroughBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromRemotePassthroughBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromRemotePassthroughBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromOption": {
        "type": "object",
        "description": "The VirtualCdromOption data object type contains the options for the\nvirtual CD-ROM class.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualCdromOption": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromAtapiBackingOption": {
        "type": "object",
        "description": "The VirtualCdromOption.AtapiBackingOption data object type\ncontains the options for the ATAPI CD-ROM device backing.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualCdromAtapiBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromAtapiBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromAtapiBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromIsoBackingOption": {
        "type": "object",
        "description": "The VirtualCdromOption.IsoBackingOption data object type contains\nthe options for an ISO image backing.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualCdromIsoBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromIsoBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromIsoBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromPassthroughBackingOption": {
        "type": "object",
        "description": "The VirtualCdromOption.PassthroughBackingOption data object type\ncontains the options for a pass-through CD-ROM device backing.\n",
        "properties": {
          "exclusive": {
            "description": "Flag to indicate whether or not exclusive CD-ROM device access is supported.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "exclusive"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualCdromPassthroughBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromPassthroughBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromPassthroughBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromRemoteAtapiBackingOption": {
        "type": "object",
        "description": "The VirtualCdromOption.RemoteAtapiBackingOption data object type\ncontains the options for the remote ATAPI CD-ROM device backing.\n\nNote that the server cannot present a list of valid remote backing devices\nbecause it is unable to scan remote hosts.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualCdromRemoteAtapiBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromRemoteAtapiBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromRemoteAtapiBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualCdromRemotePassthroughBackingOption": {
        "type": "object",
        "description": "The VirtualCdromOption.RemotePassthroughBackingOption data object type\ncontains the options for a remote pass-through CD-ROM device backing.\n\nNote that the server cannot present a list of valid remote backing devices\nbecause it is unable to scan remote hosts.\n",
        "properties": {
          "exclusive": {
            "description": "Flag to indicate whether or not exclusive CD-ROM device access is supported.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "exclusive"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceRemoteDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualCdromRemotePassthroughBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualCdromRemotePassthroughBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualCdromRemotePassthroughBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualController": {
        "type": "object",
        "description": "VirtualController is the base data object type for a device controller in\na virtual machine.\n\nVirtualController extends\n*VirtualDevice* to inherit\ngeneral information about a controller (such as name and description), and to allow\ncontrollers to appear in a generic list of virtual devices.\n",
        "properties": {
          "busNumber": {
            "description": "Bus number associated with this controller.\n",
            "type": "integer",
            "format": "int32"
          },
          "device": {
            "description": "List of devices currently controlled by this controller.\n\nEach entry contains the *VirtualDevice.key* property of the\ncorresponding device object.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "busNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualController": {
        "type": "object",
        "description": "A boxed array of *VirtualController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualControllerOption": {
        "type": "object",
        "description": "The VirtualControllerOption data object type contains information about\na virtual controller type.\n",
        "properties": {
          "devices": {
            "description": "The minimum and maximum number of devices this controller can control\nat run time.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "supportedDevice": {
            "description": "Array of supported device options for this controller.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "devices"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDevice": {
        "type": "object",
        "description": "VirtualDevice is the base data object type for devices in a virtual machine.\n\nThis type contains enough information about a virtual device to allow clients\nto display devices they do not recognize. For example, a client with an\nolder version than the server to which it connects may see a device\nwithout knowing what it is.\n",
        "properties": {
          "key": {
            "description": "A unique key that distinguishes this device from other\ndevices in the same virtual machine.\n\nKeys are immutable but may be\nrecycled; that is, a key does not change as long as the device is\nassociated with a particular virtual machine. However, once a device is\nremoved, its key may be used when another device is added.\n\nThis property is not read-only, but the client cannot control its value.\nPersistent device keys are always assigned and managed by the server, which\nguarantees that all devices will have non-negative key values.\n\nWhen adding new devices, it may be necessary for a client to assign keys\ntemporarily in order to associate controllers with devices in\nconfiguring a virtual machine. However, the server does not allow a\nclient to reassign a device key, and the server may assign a different\nvalue from the one passed during configuration. Clients should ensure\nthat existing device keys are not reused as temporary key values for the\nnew device to be added (for example, by using unique negative integers as\ntemporary keys).\n\nWhen editing or deleting a device, clients must use the server-provided key\nto refer to an existing device.\n",
            "type": "integer",
            "format": "int32"
          },
          "deviceInfo": {
            "description": "Provides a label and summary information for the device.\n",
            "$ref": "#/components/schemas/Description"
          },
          "backing": {
            "description": "Information about the backing of this virtual device presented\nin the context of the virtual machine's environment.\n\nNot all devices are required to have backing information.\n\nSee also *VirtualMachineConfigOption*.\n",
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          },
          "connectable": {
            "description": "Provides information about restrictions on removing this device while\na virtual machine is running.\n\nIf the device is not removable, then\nthis property is null.\n",
            "$ref": "#/components/schemas/VirtualDeviceConnectInfo"
          },
          "slotInfo": {
            "description": "Information about the bus slot of a device in a virtual machine.\n",
            "$ref": "#/components/schemas/VirtualDeviceBusSlotInfo"
          },
          "controllerKey": {
            "description": "Object key for the controller object for this device.\n\nThis property contains the key property value of the controller device\nobject.\n",
            "type": "integer",
            "format": "int32"
          },
          "unitNumber": {
            "description": "The unit number of this device on its controller.\n\nThis property is null if\nthe controller property is null (for example, when the device is not\nattached to a specific controller object).\n\nNormally, two devices on the same controller\nmay not be assigned the same unit number. If\nmultiple devices could exist on a controller,\nthen unit number has to be specified to\nconfigure respective devices.\n",
            "type": "integer",
            "format": "int32"
          },
          "numaNode": {
            "description": "The virtual NUMA node.\n\nA negative number means there is no\naffinity for the device. A positive number is a vNUMA node.\nAn unset value of numaNode is status-quo during Reconfigure time.\nIf numaNode is unset during ConfigInfo, then it means there is no\naffinity for the device.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int32"
          },
          "deviceGroupInfo": {
            "description": "Information about device group device is part of.\n\nDevices in the device group cannot be added/removed individually,\nwhole group has to be added/removed at once. Value can be set\nduring device add, it cannot be modified later.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/VirtualDeviceDeviceGroupInfo"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDevice": {
        "type": "object",
        "description": "A boxed array of *VirtualDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceBackingInfo": {
        "type": "object",
        "description": "<code>*VirtualDeviceBackingInfo*</code> is a base data object type\nfor information about the backing of a device in a virtual machine.\n\nThis base type does not define any properties. It is used as a namespace\nfor general-purpose subtypes. Specific devices are represented by subtypes\nwhich define properties for device-specific backing information.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceBusSlotInfo": {
        "type": "object",
        "description": "<code>*VirtualDeviceBusSlotInfo*</code> is a base data object type\nfor information about device connection to its bus.\n\nThis base type does not\ndefine any properties. It is used as a namespace for general-purpose subtypes.\nSpecific devices types are represented by subtypes which define properties for\ndevice-specific backing information.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceBusSlotInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceBusSlotInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceBusSlotInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceConnectInfo": {
        "type": "object",
        "description": "The <code>*VirtualDeviceConnectInfo*</code> data object type\ncontains information about connectable virtual devices.\n",
        "properties": {
          "migrateConnect": {
            "description": "Specifies whether the virtual machine should override the\nvirtual device connection state upon the completion of a\nmigration.\n\nAt this time, this property is only applicable to instant\nclone operations, and will be ignored for other migration\ntypes. The property is also only valid with\nVirtualEthernetCards, and any attempt to set this property\non an unsupported device will result in an error.\nThis property will persist only until the virtual machine\nundergoes a supported migration, at which point it will be\nconsumed and unset on the destination virtual machine,\npreventing the property from affecting future migrations.\nThe migration's success is not dependent on whether the device\nreaches the desired connection state.\nThe set of possible values are described in\n*VirtualDeviceConnectInfoMigrateConnectOp_enum*.\n",
            "type": "string"
          },
          "startConnected": {
            "description": "Specifies whether or not to connect the device\nwhen the virtual machine starts.\n",
            "type": "boolean"
          },
          "allowGuestControl": {
            "description": "Enables guest control over whether the connectable device is\nconnected.\n",
            "type": "boolean"
          },
          "connected": {
            "description": "Indicates whether the device is currently connected.\n\nValid only while the virtual machine is running.\n",
            "type": "boolean"
          },
          "status": {
            "description": "Indicates the current status of the connectable device.\n\nValid only while the\nvirtual machine is running. The set of possible values is described in\n*VirtualDeviceConnectInfoStatus_enum*\n",
            "type": "string"
          }
        },
        "required": [
          "startConnected",
          "allowGuestControl",
          "connected"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceConnectInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceConnectInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceConnectInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceDeviceBackingInfo": {
        "type": "object",
        "description": "The <code>*VirtualDeviceDeviceBackingInfo*</code> data object type\ndefines information about a host device or resource that backs a device\nin a virtual machine.\n",
        "properties": {
          "deviceName": {
            "description": "The name of the device on the host system.\n",
            "type": "string"
          },
          "useAutoDetect": {
            "description": "Indicates whether the device should be auto detected\ninstead of directly specified.\n\nIf this value is set to TRUE,\ndeviceName is ignored.\n",
            "type": "boolean"
          }
        },
        "required": [
          "deviceName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDeviceDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceDeviceGroupInfo": {
        "type": "object",
        "description": "<code>*VirtualDeviceDeviceGroupInfo*</code> contains information\nabout the device group device is assigned to.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "groupInstanceKey": {
            "description": "Device group instance key from\n<code>*VirtualMachineVirtualDeviceGroupsDeviceGroup*</code>.\n",
            "type": "integer",
            "format": "int32"
          },
          "sequenceId": {
            "description": "Device sequence in the group.\n\nSmall unique positive integer obtained\nfrom <code>*VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo.device*</code>\ntemplate.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "groupInstanceKey",
          "sequenceId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceDeviceGroupInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceDeviceGroupInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceDeviceGroupInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceFileBackingInfo": {
        "type": "object",
        "description": "<code>*VirtualDeviceFileBackingInfo*</code> is a data object type\nfor information about file backing for a device in a virtual machine.\n",
        "properties": {
          "fileName": {
            "description": "Filename for the host file used in this backing.\n",
            "type": "string"
          },
          "datastore": {
            "description": "Reference to the datastore managed object where this file is stored.\n\nIf the file is not located on a datastore, then this reference is null.\nThis is not used for configuration.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "backingObjectId": {
            "description": "Backing object's durable and unmutable identifier.\n\nEach backing object has a unique identifier which is not settable.\n",
            "type": "string"
          }
        },
        "required": [
          "fileName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDeviceFileBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceFileBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDevicePciBusSlotInfo": {
        "type": "object",
        "description": "The <code>*VirtualDevicePciBusSlotInfo*</code> data object type\ndefines information about a pci bus slot of pci device in a virtual machine.\n",
        "properties": {
          "pciSlotNumber": {
            "description": "The pci slot number of the virtual device.\n\nThe pci slot number assignment should generally be left to the system.\nIf assigned a value, and the value is invalid or duplicated, it will\nautomatically be reassigned. This will not cause an error.\n\nGenerally, the PCI slot numbers should never be specified in an\nReconfigure operation, and only in a CreateVM operation if i) they\nare specified for all devices, and ii) the numbers have been\ndetermined by looking at an existing VM configuration of similar\nhardware version. In other words, when the virtual hardware configuration\nis duplicated.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "pciSlotNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBusSlotInfo"
          }
        ]
      },
      "ArrayOfVirtualDevicePciBusSlotInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDevicePciBusSlotInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDevicePciBusSlotInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDevicePipeBackingInfo": {
        "type": "object",
        "description": "The <code>*VirtualDevicePipeBackingInfo*</code> data object type\ndefines information for using a named pipe as backing for a device\nin a virtual machine.\n",
        "properties": {
          "pipeName": {
            "description": "Pipe name for the host pipe associated with this backing.\n",
            "type": "string"
          }
        },
        "required": [
          "pipeName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDevicePipeBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDevicePipeBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDevicePipeBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceRemoteDeviceBackingInfo": {
        "type": "object",
        "description": "<code>*VirtualDeviceRemoteDeviceBackingInfo*</code> is a data object type\nfor information\nabout a remote device backing used by a device in a virtual machine.\n\nThe primary difference between a remote device backing and a\nlocal device backing is that the VirtualCenter server cannot provide a list\nof remote host devices available for this virtual device backing.\n",
        "properties": {
          "deviceName": {
            "description": "The name of the device on the remote system.\n",
            "type": "string"
          },
          "useAutoDetect": {
            "description": "Indicates whether the device should be auto detected\ninstead of directly specified.\n\nIf this value is set to TRUE,\n<code>deviceName</code> is ignored.\n",
            "type": "boolean"
          }
        },
        "required": [
          "deviceName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDeviceRemoteDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceRemoteDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceRemoteDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceURIBackingInfo": {
        "type": "object",
        "description": "The <code>*VirtualDeviceURIBackingInfo*</code> data object type\ndefines information for using a network socket as backing for a virtual device.\n",
        "properties": {
          "serviceURI": {
            "description": "Identifies the local host or a system on the network,\ndepending on the value of <code>*VirtualDeviceURIBackingInfo.direction*</code>.\n- If you use the virtual machine as a server, the URI identifies\n  the host on which the virtual machine runs. In this case,\n  the host name part of the URI should be empty, or it should\n  specify the address of the local host.\n- If you use the virtual machine as a client, the URI identifies\n  the remote system on the network.\n",
            "type": "string"
          },
          "direction": {
            "description": "The direction of the connection.\n\nFor possible values see\n*VirtualDeviceURIBackingOptionDirection_enum*\n",
            "type": "string"
          },
          "proxyURI": {
            "description": "Identifies a proxy service that provides network access to the\n<code>*VirtualDeviceURIBackingInfo.serviceURI*</code>.\n\nIf you specify a proxy URI, the virtual machine initiates\na connection with the proxy service and forwards the\n*VirtualDeviceURIBackingInfo.serviceURI* and *VirtualDeviceURIBackingInfo.direction* to the proxy.\n",
            "type": "string"
          }
        },
        "required": [
          "serviceURI",
          "direction"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDeviceURIBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceURIBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceURIBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceOption": {
        "type": "object",
        "description": "The VirtualDeviceOption data object type contains information about\na virtual device type, the options for configuring the virtual device,\nand the relationship between this virtual device and other devices.\n\nThe vSphere API groups device configurations that are mutually exclusive\ninto different configuration objects; each of these configuration objects\nmay define subtypes for virtual device backing options\nthat are independent of the virtual device.\nBacking-dependent options should appear in a subtype of\n*VirtualDeviceBackingOption*.\n",
        "properties": {
          "type": {
            "description": "The name of the run-time class the client should instantiate\nto create a run-time instance of this device.\n",
            "type": "string"
          },
          "connectOption": {
            "description": "If the device is connectable, then the connectOption\ndescribes the connect options and defaults.\n",
            "$ref": "#/components/schemas/VirtualDeviceConnectOption"
          },
          "busSlotOption": {
            "description": "If the device can use a bus slot configuration, then the busSlotOption\ndescribes the bus slot options.\n",
            "$ref": "#/components/schemas/VirtualDeviceBusSlotOption"
          },
          "controllerType": {
            "description": "Data object type that denotes the controller option object that is\nvalid for controlling this device.\n",
            "type": "string"
          },
          "autoAssignController": {
            "description": "Flag to indicate whether or not this device will be auto-assigned a controller\nif one is required.\n\nIf this is true, then a client need not explicitly create\nthe controller that this device will plug into.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "backingOption": {
            "description": "A list of backing options that can be used to map the virtual\ndevice to the host.\n\nThe list is optional, since some devices exist only within\nthe virtual machine; for example, a VirtualController.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceBackingOption"
            }
          },
          "defaultBackingOptionIndex": {
            "description": "Index into the backingOption list, indicating the default backing.\n",
            "type": "integer",
            "format": "int32"
          },
          "licensingLimit": {
            "description": "List of property names enforced by a licensing restriction\nof the underlying product.\n\nFor example, a limit that is not\nderived based on the product or hardware features; the\nproperty name \"numCPU\".\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deprecated": {
            "description": "Indicates whether this device is deprecated.\n\nHence, if set the device\ncannot be used when creating a new virtual machine or be added to an existing\nvirtual machine. However, the device is still supported by the platform.\n",
            "type": "boolean"
          },
          "plugAndPlay": {
            "description": "Indicates if this type of device can be hot-added to the virtual machine\nvia a reconfigure operation when the virtual machine is powered on.\n",
            "type": "boolean"
          },
          "hotRemoveSupported": {
            "description": "Indicates if this type of device can be hot-removed from the virtual machine\nvia a reconfigure operation when the virtual machine is powered on.\n",
            "type": "boolean"
          },
          "numaSupported": {
            "description": "***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "deprecated",
          "plugAndPlay",
          "hotRemoveSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceBackingOption": {
        "type": "object",
        "description": "The *VirtualDeviceBackingOption* data class\ndefines options for device-specific virtual backing objects.\n",
        "properties": {
          "type": {
            "description": "The name of the class the client should use to instantiate backing\nfor the virtual device.\n",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceBusSlotOption": {
        "type": "object",
        "description": "The *VirtualDeviceBusSlotOption* data class\ndefines options for device-specific bus slot objects.\n",
        "properties": {
          "type": {
            "description": "The name of the class the client should use to instantiate bus slot\nobject for the virtual device.\n",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceBusSlotOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceBusSlotOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceBusSlotOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceConnectOption": {
        "type": "object",
        "description": "The ConnectOption data object type contains information about options for\nconnectable virtual devices.\n",
        "properties": {
          "startConnected": {
            "description": "Flag to indicate whether or not the device supports\nthe startConnected feature.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "allowGuestControl": {
            "description": "Flag to indicate whether or not the device can be\nconnected and disconnected from within the guest operating system.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "startConnected",
          "allowGuestControl"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceConnectOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceConnectOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceConnectOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceDeviceBackingOption": {
        "type": "object",
        "description": "The DeviceBackingOption data class contains device-specific backing options.\n",
        "properties": {
          "autoDetectAvailable": {
            "description": "Flag to indicate whether the specific instance of this device can\nbe auto-detected on the host instead of having to specify a\nparticular physical device.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "autoDetectAvailable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDeviceDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceFileBackingOption": {
        "type": "object",
        "description": "The FileBackingOption data class contains file-specific backing options.\n",
        "properties": {
          "fileNameExtensions": {
            "description": "Valid filename extension for the filename.\n\nIf no extensions are present, any file extension is acceptable.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDeviceFileBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceFileBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDevicePipeBackingOption": {
        "type": "object",
        "description": "The <code>*VirtualDevicePipeBackingOption*</code> data object type contains options\nspecific to pipe backings.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDevicePipeBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDevicePipeBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDevicePipeBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceRemoteDeviceBackingOption": {
        "type": "object",
        "description": "VirtualDeviceOption.RemoteDeviceBackingOption describes the options\nfor a remote device backing.\n\nThe primary difference\nbetween a remote device backing and a local device backing is that\nthe VirtualCenter server cannot provide a list of remote host devices\navailable for this virtual device backing.\n",
        "properties": {
          "autoDetectAvailable": {
            "description": "Flag to indicate whether the specific instance of this device can\nbe auto-detected on the host instead of having to specify a\nparticular physical device.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "autoDetectAvailable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDeviceRemoteDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceRemoteDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceRemoteDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceURIBackingOption": {
        "type": "object",
        "description": "The *VirtualDeviceURIBackingOption* data object type describes network communication\noptions for virtual devices.\n\nWhen establishing a connection with a remote system on the network,\nthe virtual machine can act as a server or a client.\nWhen the virtual machine acts as a server, it accepts a connection.\nWhen the virtual machine acts as a client, it initiates the connection.\n",
        "properties": {
          "directions": {
            "description": "List of possible directions.\n\nValid directions are:\n- *server*\n- *client*\n",
            "$ref": "#/components/schemas/ChoiceOption"
          }
        },
        "required": [
          "directions"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDeviceURIBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceURIBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceURIBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceConfigSpec": {
        "type": "object",
        "description": "The VirtualDeviceSpec data object type encapsulates change\nspecifications for an individual virtual device.\n\nThe virtual\ndevice being added or modified must be fully specified.\n",
        "properties": {
          "operation": {
            "description": "Type of operation being performed on the specified virtual device.\n\nIf no operation is specified, the spec. is ignored.\n",
            "$ref": "#/components/schemas/VirtualDeviceConfigSpecOperation_enum"
          },
          "fileOperation": {
            "description": "Type of operation being performed on the backing\nof the specified virtual device.\n\nIf no file operation is specified in the VirtualDeviceSpec,\nthen any backing filenames in the\n*VirtualDevice*\nmust refer to files that already exist.\nThe \"replace\" and \"delete\" values for this property are only\napplicable to virtual disk backing files.\n",
            "$ref": "#/components/schemas/VirtualDeviceConfigSpecFileOperation_enum"
          },
          "device": {
            "description": "Device specification, with all necessary properties set.\n",
            "$ref": "#/components/schemas/VirtualDevice"
          },
          "profile": {
            "description": "Virtual Device Profile requirement.\n\nProfiles are solution specifics.\nStorage Profile Based Management(SPBM) is a vSphere server extension.\nThe API users who want to provision VMs using Storage Profiles, need to\ninteract with SPBM service.\nThis is an optional parameter and if user doesn't specify profile,\nthe default behavior will apply.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "backing": {
            "description": "BackingInfo configuration options.\n\nEach BackingSpec corresponds to a BackingInfo object. The member\n*VirtualDeviceConfigSpec.backing* refers to the\n*VirtualDeviceConfigSpec.device*.*VirtualDevice.backing*.\n",
            "$ref": "#/components/schemas/VirtualDeviceConfigSpecBackingSpec"
          },
          "filterSpec": {
            "description": "List of independent filters *VirtualMachineIndependentFilterSpec*\nto configure on the virtual device.\n\n***Since:*** vSphere API Release 7.0.2.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBaseIndependentFilterSpec"
            }
          },
          "changeMode": {
            "description": "The change mode of the device.\n\nThe values of the mode will be one of *VirtualDeviceConfigSpecChangeMode_enum* enumerations.\nOn unset, default to 'fail'.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceConfigSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceConfigSpecBackingSpec": {
        "type": "object",
        "description": "<code>*VirtualDeviceConfigSpecBackingSpec*</code> is a data object\ntype for information about configuration of the backing of a device\nin a virtual machine.\n\nThe member *VirtualDeviceConfigSpecBackingSpec.parent* refers the parent in the chain of\n*VirtualDeviceBackingInfo* objects.\n",
        "properties": {
          "parent": {
            "$ref": "#/components/schemas/VirtualDeviceConfigSpecBackingSpec"
          },
          "crypto": {
            "$ref": "#/components/schemas/CryptoSpec"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDeviceConfigSpecBackingSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceConfigSpecBackingSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceConfigSpecBackingSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDisk": {
        "type": "object",
        "description": "This data object type contains information about a disk in a virtual machine.\n\nThe virtual disk backing object types describe the different virtual disk backings\navailable.\nThe disk format version in each case describes\nthe version of the format that is used.\n\nSupported virtual disk backings:\n<dl>\n<dt>Sparse disk format, version 1 and 2</dt>\n<dd>The virtual disk backing grows when needed.\nSupported only for VMware Server.</dd>\n<dt>Flat disk format, version 1 and 2</dt>\n<dd>The virtual disk backing is preallocated.\nVersion 1 is supported only for VMware Server.</dd>\n<dt>Space efficient sparse disk format</dt>\n<dd>The virtual disk backing grows on demand and\nincorporates additional space optimizations.</dd>\n<dt>Raw disk format, version 2</dt>\n<dd>The virtual disk backing uses a full physical disk drive\nto back the virtual disk. Supported only for VMware Server.</dd>\n<dt>Partitioned raw disk format, version 2</dt>\n<dd>The virtual disk backing uses one or more partitions on a\nphysical disk drive to back a virtual disk. Supported only for VMware Server.</dd>\n<dt>Raw disk mapping, version 1</dt>\n<dd>The virtual disk backing uses a raw device mapping to back the virtual disk.\nSupported for ESX Server 2.5 and 3.x.</dd>\n</dl>\n",
        "properties": {
          "capacityInKB": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.5, use *VirtualDisk.capacityInBytes*.\n\nCapacity of this virtual disk in kilobytes.\n\nInformation might be lost when actual disk size is rounded off to kilobytes.\nIf the disk is on a Virtual Volume datastore the disk size must be a multiple\nof a megabyte.\n",
            "type": "integer",
            "format": "int64"
          },
          "capacityInBytes": {
            "description": "Capacity of this virtual disk in bytes.\n\nServer will always populate this property. Clients must initialize it when\ncreating a new non -RDM disk or in case they want to change the current\ncapacity of an existing virtual disk, but can omit it otherwise.\nIf the disk is on a Virtual Volume datastore the disk size must be a multiple\nof a megabyte.\n",
            "type": "integer",
            "format": "int64"
          },
          "shares": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.1, use\n*StorageIOAllocationInfo.shares*.\n\nDisk shares, used for resource scheduling.\n",
            "$ref": "#/components/schemas/SharesInfo"
          },
          "storageIOAllocation": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5, use.\n\nResource allocation for storage I/O.\n",
            "$ref": "#/components/schemas/StorageIOAllocationInfo"
          },
          "diskObjectId": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 6.5, use *VirtualDisk.vDiskId*.\n\nVirtual disk durable and unmutable identifier.\n\nVirtual disk has a UUID field but that can be set through\nVirtualDiskManager APIs.\nThis identifier is a universally unique identifier which is not settable.\nVirtualDisk can remain in existence even if it is not associated with VM.\n",
            "type": "string"
          },
          "vFlashCacheConfigInfo": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nvFlash cache configuration supported on this virtual disk.\n",
            "$ref": "#/components/schemas/VirtualDiskVFlashCacheConfigInfo"
          },
          "iofilter": {
            "description": "IDs of the IO Filters associated with the virtual disk.\n\nSee *IoFilterInfo.id*. This information\nis provided when retrieving configuration information for\nan existing virtual machine. The client cannot modify this information\non a virtual machine.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vDiskId": {
            "description": "ID of the virtual disk object as the first class entity.\n\nSee *ID*\nThe ID is a universally unique identifier for the disk lifecycle,\neven if the virtual disk is not associated with VM.\n",
            "$ref": "#/components/schemas/ID"
          },
          "vDiskVersion": {
            "description": "Disk descriptor version of the virtual disk.\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "integer",
            "format": "int32"
          },
          "nativeUnmanagedLinkedClone": {
            "description": "Indicates whether a disk with\n*VirtualDiskFlatVer2BackingInfo* backing is a linked\nclone from an unmanaged delta disk and hence the\n*VirtualDiskFlatVer2BackingInfo.parent* chain to\nthis delta disk will not be available.\n",
            "type": "boolean"
          },
          "independentFilters": {
            "description": "The IDs of the independent filters associated with the virtual disk.\n\nThis information is provided when retrieving configuration information for\nan existing virtual machine. The client cannot modify this information on\na virtual machine.\n\n***Since:*** vSphere API Release 7.0.2.1\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineBaseIndependentFilterSpec"
            }
          },
          "guestReadOnly": {
            "description": "Flag to indicate whether a disk should be presented to the guest\nin read-only mode (limited by choice of adapter).\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "boolean"
          }
        },
        "required": [
          "capacityInKB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualDisk": {
        "type": "object",
        "description": "A boxed array of *VirtualDisk*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDisk"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskFlatVer1BackingInfo": {
        "type": "object",
        "description": "This data object type contains information about backing a virtual disk by\nusing a virtual disk file on the host, in the flat file format used by\nGSX Server 2.x.\n\nFlat disks are allocated when created, unlike sparse disks, which\ngrow as needed.\n",
        "properties": {
          "diskMode": {
            "description": "The disk persistence mode.\n\nValid modes are:\n- *persistent*\n- *nonpersistent*\n- *undoable*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "type": "string"
          },
          "split": {
            "description": "Flag to indicate the type of virtual disk file: split or monolithic.\n\nIf true, the virtual disk is stored in multiple files, each 2GB.\n",
            "type": "boolean"
          },
          "writeThrough": {
            "description": "Flag to indicate whether writes should go directly to the file system\nor should be buffered.\n",
            "type": "boolean"
          },
          "contentId": {
            "description": "Content ID of the virtual disk file, if available.\n\nA content ID indicates the logical contents of the disk backing and its parents.\n\nThis property is only guaranteed to be up to date if this disk backing is not\ncurrently being written to by any virtual machine.\n\nThe only supported operation is comparing if two content IDs are equal or not.\nThe guarantee provided by the content ID is that if two disk backings have the\nsame content ID and are not currently being written to, then reads issued from\nthe guest operating system to those disk backings will return the same data.\n",
            "type": "string"
          },
          "parent": {
            "description": "The parent of this virtual disk file, if this is a delta disk backing.\n\nThis will be unset if this is not a delta disk backing.\n\nA delta disk backing is a way to preserve a virtual disk backing\nat some point in time. A delta disk backing is a file backing which in\nturn points to the original virtual disk backing (the parent). After a delta\ndisk backing is added, all writes go to the delta disk backing. All reads\nfirst try the delta disk backing and then try the parent backing if needed.\n\nA delta disk backing can be added to a disk either implicitly during\nsnapshot operations, or explicitly during create or reconfigure of the virtual\nmachine.\n\nNote that the type of the backing is consistent throughout the chain; any new\ndelta disk backing which is added is of the same type as the original disk .\nAlso note that since the parent backing is not being written to,\nit is possible that the parent backing may be shared among multiple\ndisks belonging to multiple virtual machines.\n\nDuring virtual machine *creation* and\n*reconfiguration* this property is\nonly checked if the *VirtualDeviceConfigSpec* specifies\nan *add operation* with a\n*create file operation*.\nIn this case, a new delta disk backing is created which points to the parent\ndisk backing. Only the *fileName*\nproperty is important; all other properties will be ignored. The parent backing\nis assumed to exist and will not be recursively created.\n\nThis property may only be set if\n*deltaDiskBackingsSupported*\nis true.\n",
            "$ref": "#/components/schemas/VirtualDiskFlatVer1BackingInfo"
          }
        },
        "required": [
          "diskMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskFlatVer1BackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskFlatVer1BackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskFlatVer1BackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskFlatVer2BackingInfo": {
        "type": "object",
        "description": "This data object type contains information about backing a virtual disk using a\nvirtual disk file on the host, in the flat file format used by VMware Server,\nESX Server 2.x, and ESX Server 3.x.\n\nFlat disks are allocated when created, unlike sparse disks, which\ngrow as needed.\n",
        "properties": {
          "diskMode": {
            "description": "The disk persistence mode.\n\nValid modes are:\n- *persistent*\n- *independent_persistent*\n- *independent_nonpersistent*\n- *nonpersistent*\n- *undoable*\n- *append*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "type": "string"
          },
          "split": {
            "description": "Flag to indicate the type of virtual disk file: split or monolithic.\n\nIf true, the virtual disk is stored in multiple files, each 2GB.\nOn ESX this property is ignored when creating new disks or\nediting existing disks. This property is always false for disks\ncreated on ESX.\nWhen an existing split disk such as those created by VMware\nServer is added to a virtual machine on ESX, the property will\nbe set to true when retrieved from *VirtualMachineConfigInfo*.\n",
            "type": "boolean"
          },
          "writeThrough": {
            "description": "Flag to indicate whether writes should go directly to the file system\nor should be buffered.\n",
            "type": "boolean"
          },
          "thinProvisioned": {
            "description": "Flag to indicate to the underlying filesystem, whether the\nvirtual disk backing file should be allocated lazily (using\nthin provisioning). This flag is only used for file systems\nthat support configuring the provisioning policy on a per file\nbasis, such as VMFS3.\n\nWhen specified as part of a *VirtualMachineConfigSpec*, this\nproperty applies only when creating a new virtual disk; it is\nignored when editing an existing virtual disk.\n\nsee *DatastoreCapability.perFileThinProvisioningSupported*\n",
            "type": "boolean"
          },
          "eagerlyScrub": {
            "description": "Flag to indicate to the underlying filesystem whether the\nvirtual disk backing file should be scrubbed completely at\nthis time.\n\nVirtual disks on some filesystems like VMFS3 are zeroed-out\nlazily so that disk creation time doesn't take too long.\nHowever, clustering applications and features like\nFault Tolerance require that the virtual disk be\ncompletely scrubbed. This setting allows controlling the\nscrubbing policy on a per-disk basis.\n\nIf this flag is unset or set to false when creating a new disk,\nthe disk scrubbing policy will be decided by the filesystem. If\nthis flag is unset or set to false when editing an existing disk,\nit is ignored.\nWhen returned as part of a *VirtualMachineConfigInfo*, this\nproperty may be unset if its value is unknown.\n",
            "type": "boolean"
          },
          "uuid": {
            "description": "Disk UUID for the virtual disk, if available.\n",
            "type": "string"
          },
          "contentId": {
            "description": "Content ID of the virtual disk file, if available.\n\nA content ID indicates the logical contents of the disk backing and its parents.\n\nThis property is only guaranteed to be up to date if this disk backing is not\ncurrently being written to by any virtual machine.\n\nThe only supported operation is comparing if two content IDs are equal or not.\nThe guarantee provided by the content ID is that if two disk backings have the\nsame content ID and are not currently being written to, then reads issued from\nthe guest operating system to those disk backings will return the same data.\n",
            "type": "string"
          },
          "changeId": {
            "description": "The change ID of the virtual disk for the corresponding\nsnapshot or virtual machine.\n\nThis can be used to track\nincremental changes to a virtual disk. See\n*VirtualMachine.QueryChangedDiskAreas*.\n",
            "type": "string"
          },
          "parent": {
            "description": "The parent of this virtual disk file, if this is a delta disk backing.\n\nThis will be unset if this is not a delta disk backing.\n\nA delta disk backing is a way to preserve a virtual disk backing\nat some point in time. A delta disk backing is a file backing which in\nturn points to the original virtual disk backing (the parent). After a delta\ndisk backing is added, all writes go to the delta disk backing. All reads\nfirst try the delta disk backing and then try the parent backing if needed.\n\nA delta disk backing can be added to a disk either implicitly during\nsnapshot operations, or explicitly during create or reconfigure of the virtual\nmachine.\n\nNote that the type of the backing is consistent throughout the chain; any new\ndelta disk backing which is added is of the same type as the original disk .\nAlso note that since the parent backing is not being written to,\nit is possible that the parent backing may be shared among multiple\ndisks belonging to multiple virtual machines.\n\nDuring virtual machine *creation* and\n*reconfiguration* this property is\nonly checked if the *VirtualDeviceConfigSpec* specifies\nan *add operation* with a\n*create file operation*.\nIn this case, a new delta disk backing is created which points to the parent\ndisk backing. Only the *fileName*\nproperty is important; all other properties will be ignored. The parent backing\nis assumed to exist and will not be recursively created.\n\nThis property may only be set if\n*deltaDiskBackingsSupported*\nis true.\n",
            "$ref": "#/components/schemas/VirtualDiskFlatVer2BackingInfo"
          },
          "deltaDiskFormat": {
            "description": "The format of the delta disk.\n\nThis field is valid only for a delta disk.\n\nSee *DeltaDiskFormat* for the\nsupported formats. If not specified, the default value used is\n*redoLogFormat*.\n\nIf *nativeFormat*\nis specified and the datastore does not support this format or the parent is\non a different datastore,\n*DeltaDiskFormatNotSupported* is\nthrown.\n\nvSphere server does not support relocation of virtual machines with\n*nativeFormat*.\nAn exception is thrown for such requests.\n",
            "type": "string"
          },
          "digestEnabled": {
            "description": "Indicates whether the disk backing has digest file enabled.\n",
            "type": "boolean"
          },
          "deltaGrainSize": {
            "description": "Grain size in kB for a delta disk of format type seSparseFormat.\n\nThe default\nsize is 4 kB.\nThis setting is used to specify the grain size of\n*Flex-SE* delta disks\nwhen the base disk is of type FlatVer2BackingInfo.\nThe *DeltaDiskFormat* must also\nbe set to seSparseFormat.\n",
            "type": "integer",
            "format": "int32"
          },
          "deltaDiskFormatVariant": {
            "description": "The delta disk format variant, if applicable.\n\nThis field is valid only for a delta disk and may specify more detailed\ninformation for the delta disk format specified in\n*deltaDiskFormat*.\n\nIf *redoLogFormat* is\nspecified for the\n*deltaDiskFormat*,\nsee *DeltaDiskFormatVariant* for the\nsupported formats. If this is not specified for\n*redoLogFormat*,\nthe default value used is\n*vmfsSparseVariant*.\n\nFor other delta disk formats, this currently remains unspecified.\n",
            "type": "string"
          },
          "sharing": {
            "description": "The sharing mode of the virtual disk.\n\nSee *VirtualDiskSharing_enum*. The default value is\nno sharing.\n",
            "type": "string"
          },
          "keyId": {
            "description": "Virtual Disk Backing encryption options.\n\nOn modification operations the value is ignored, use the specification\n*VirtualDeviceConfigSpecBackingSpec.crypto* in\n*VirtualDeviceConfigSpec.backing*.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "required": [
          "diskMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskFlatVer2BackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskFlatVer2BackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskFlatVer2BackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskLocalPMemBackingInfo": {
        "type": "object",
        "description": "This data object type contains information about backing a virtual disk\nusing non-volatile memory technologies (persistent memory).\n\nSupported for ESX Server 6.5 and later.\n",
        "properties": {
          "diskMode": {
            "description": "The disk persistence mode.\n\nSee also *VirtualDiskMode_enum*.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Disk UUID for the virtual disk, if available.\n",
            "type": "string"
          },
          "volumeUUID": {
            "description": "Persistent memory volume UUID - UUID which associates this\nvirtual disk with a specific host.\n\nThis is read only property.\n\nSee also *HostPersistentMemoryInfo.volumeUUID*.\n",
            "type": "string"
          },
          "contentId": {
            "description": "Content ID of the virtual disk file, if available.\n\nA content ID indicates the logical contents of the disk backing and\nits parents.\n\nThis property is only guaranteed to be up to date if this disk backing\nis not currently being written to by any virtual machine.\n\nThe only supported operation is comparing if two content IDs are equal\nor not. The guarantee provided by the content ID is that if two disk\nbackings have the same content ID and are not currently being written\nto, then reads issued from the guest operating system to those disk\nbackings will return the same data.\n",
            "type": "string"
          }
        },
        "required": [
          "diskMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskLocalPMemBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskLocalPMemBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskLocalPMemBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskPartitionedRawDiskVer2BackingInfo": {
        "type": "object",
        "description": "This data object type contains information about backing a virtual disk\nusing one or more partitions on a physical disk device.\n\nThis type of\nbacking is supported for VMware Server.\n",
        "properties": {
          "partition": {
            "description": "Array of partition indexes.\n\nThis array identifies the\npartitions that are used on the physical disk drive.\n",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "partition"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDiskRawDiskVer2BackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskPartitionedRawDiskVer2BackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskPartitionedRawDiskVer2BackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskPartitionedRawDiskVer2BackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskRawDiskMappingVer1BackingInfo": {
        "type": "object",
        "description": "This data object type contains information about backing a virtual disk using a\nraw device mapping.\n\nSupported for ESX Server 2.5 and 3.x.\n",
        "properties": {
          "lunUuid": {
            "description": "Unique identifier of the LUN accessed by the raw disk mapping.\n",
            "type": "string"
          },
          "deviceName": {
            "description": "The host-specific device the LUN is being accessed through.\n\nIf the\ntarget LUN is not available on the host then it is empty. For example, this\ncould happen if it has accidentally been masked out.\n",
            "type": "string"
          },
          "compatibilityMode": {
            "description": "The compatibility mode of the raw disk mapping (RDM).\n\nThis must be specified\nwhen a new virtual disk with an RDM backing is created. On subsequent virtual\nmachine reconfigurations, this property should be handled as follows,\ndepending on the version of the host:\n\nOn ESX Server 2.5, the compatibility mode of an RDM backing is a\ncharacteristic of the virtual machine's configuration. When reconfiguring\na virtual machine that currently uses a virtual disk backed by an RDM,\nthe compatibility mode of that backing may be modified. When reconfiguring a\nvirtual machine to add an existing virtual disk backed by an RDM, the\ncompatibility mode of that backing may be specified. If left unspecified it\ndefaults to \"physicalMode\".\n\nOn ESX Server 3.x, the compatibility mode of an RDM backing is a\ncharacteristic of the RDM itself. Once the RDM is created, its compatibility\nmode cannot be changed by reconfiguring the virtual machine. When\nreconfiguring a virtual machine to add an existing virtual disk backed by an\nRDM, the compatibility mode of that backing must be left unspecified.\n\nSee also *VirtualDiskCompatibilityMode_enum*.\n",
            "type": "string"
          },
          "diskMode": {
            "description": "The disk mode.\n\nValid values are:\n- *persistent*\n- *independent_persistent*\n- *independent_nonpersistent*\n- *nonpersistent*\n- *undoable*\n- *append*\n  \nDisk modes are only supported when the raw disk mapping is using virtual\ncompatibility mode.\n\nSee also *VirtualDiskMode_enum*.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Disk UUID for the virtual disk, if available.\n\nDisk UUID is not available if\nthe raw disk mapping is in physical compatibility mode.\n",
            "type": "string"
          },
          "contentId": {
            "description": "Content ID of the virtual disk file, if available.\n\nA content ID indicates the logical contents of the disk backing and its parents.\n\nThis property is only guaranteed to be up to date if this disk backing is not\ncurrently being written to by any virtual machine.\n\nThe only supported operation is comparing if two content IDs are equal or not.\nThe guarantee provided by the content ID is that if two disk backings have the\nsame content ID and are not currently being written to, then reads issued from\nthe guest operating system to those disk backings will return the same data.\n",
            "type": "string"
          },
          "changeId": {
            "description": "The change ID of the virtual disk for the corresponding\nsnapshot or virtual machine.\n\nThis can be used to track\nincremental changes to a virtual disk. See\n*VirtualMachine.QueryChangedDiskAreas*.\n",
            "type": "string"
          },
          "parent": {
            "description": "The parent of this virtual disk file, if this is a delta disk backing.\n\nThis will be unset if this is not a delta disk backing.\n\nA delta disk backing is a way to preserve a virtual disk backing\nat some point in time. A delta disk backing is a file backing which in\nturn points to the original virtual disk backing (the parent). After a delta\ndisk backing is added, all writes go to the delta disk backing. All reads\nfirst try the delta disk backing and then try the parent backing if needed.\n\nA delta disk backing can be added to a disk either implicitly during\nsnapshot operations, or explicitly during create or reconfigure of the virtual\nmachine.\n\nNote that the type of the backing is consistent throughout the chain; any new\ndelta disk backing which is added is of the same type as the original disk .\nAlso note that since the parent backing is not being written to,\nit is possible that the parent backing may be shared among multiple\ndisks belonging to multiple virtual machines.\n\nDuring virtual machine *creation* and\n*reconfiguration* this property is\nonly checked if the *VirtualDeviceConfigSpec* specifies\nan *add operation* with a\n*create file operation*.\nIn this case, a new delta disk backing is created which points to the parent\ndisk backing. Only the *fileName*\nproperty is important; all other properties will be ignored. The parent backing\nis assumed to exist and will not be recursively created.\n\nOnly raw disk mappings in *virtual compatibility mode* can have parents.\n\nThis property may only be set if\n*deltaDiskBackingsSupported*\nis true.\n",
            "$ref": "#/components/schemas/VirtualDiskRawDiskMappingVer1BackingInfo"
          },
          "deltaDiskFormat": {
            "description": "The format of the delta disk.\n\nThis field is valid only for a delta disk.\n\nSee *DeltaDiskFormat* for the\nsupported formats. The default value used for VM with hardware\nversion 8 and lower is\n*redoLogFormat*.\nThe default value used for VM with hardware\nversion 9 and higher is\n*seSparseFormat*.\n\n*nativeFormat* is not\nsupported for bask disk of type RawDiskMappingVer1BackingInfo.\n",
            "type": "string"
          },
          "deltaGrainSize": {
            "description": "Grain size in kB for a delta disk of format type seSparseFormat.\n\nThe default\nsize is 4 kB.\nThe grain size of\n*Flex-SE* delta disks\nwhen the base disk is of type RawDiskMappingVer1BackingInfo.\nThe *DeltaDiskFormat* must also\nbe set to seSparseFormat.\n",
            "type": "integer",
            "format": "int32"
          },
          "sharing": {
            "description": "The sharing mode of the virtual disk.\n\nSee *VirtualDiskSharing_enum*. The default value is\nno sharing.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskRawDiskMappingVer1BackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskRawDiskMappingVer1BackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskRawDiskMappingVer1BackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskRawDiskVer2BackingInfo": {
        "type": "object",
        "description": "This data object type contains information about backing a virtual disk by\nusing a host device, as used by VMware Server.\n",
        "properties": {
          "descriptorFileName": {
            "description": "The name of the raw disk descriptor file.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Disk UUID for the virtual disk, if available.\n",
            "type": "string"
          },
          "changeId": {
            "description": "The change ID of the virtual disk for the corresponding\nsnapshot or virtual machine.\n\nThis can be used to track\nincremental changes to a virtual disk. See\n*VirtualMachine.QueryChangedDiskAreas*.\n",
            "type": "string"
          },
          "sharing": {
            "description": "The sharing mode of the virtual disk.\n\nSee *VirtualDiskSharing_enum*. The default value is\nno sharing.\n",
            "type": "string"
          }
        },
        "required": [
          "descriptorFileName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskRawDiskVer2BackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskRawDiskVer2BackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskRawDiskVer2BackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskSeSparseBackingInfo": {
        "type": "object",
        "description": "Backing type for virtual disks that use the space efficient\nsparse format.\n\nSpace for space efficient sparse disks is allocated on\ndemand and optimizations are applied to achieve additional\nspace savings. The effective space usage of such a disk can\nbe obtained from *VirtualMachineFileLayoutEx*.\n",
        "properties": {
          "diskMode": {
            "description": "The disk persistence mode.\n\nValid modes are:\n- *persistent*\n- *independent_persistent*\n- *independent_nonpersistent*\n- *nonpersistent*\n- *undoable*\n- *append*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "type": "string"
          },
          "writeThrough": {
            "description": "Flag to indicate whether writes should go directly to the file system\nor should be buffered.\n",
            "type": "boolean"
          },
          "uuid": {
            "description": "Disk UUID for the virtual disk, if available.\n",
            "type": "string"
          },
          "contentId": {
            "description": "Content ID of the virtual disk file, if available.\n\nA content ID indicates the logical contents of the disk backing and its parents.\n\nThis property is only guaranteed to be up to date if this disk backing is not\ncurrently being written to by any virtual machine.\n\nThe only supported operation is comparing if two content IDs are equal or not.\nThe guarantee provided by the content ID is that if two disk backings have the\nsame content ID and are not currently being written to, then reads issued from\nthe guest operating system to those disk backings will return the same data.\n",
            "type": "string"
          },
          "changeId": {
            "description": "The change ID of the virtual disk for the corresponding\nsnapshot or virtual machine.\n\nThis can be used to track\nincremental changes to a virtual disk. See *VirtualMachine.QueryChangedDiskAreas*.\n",
            "type": "string"
          },
          "parent": {
            "description": "The parent of this virtual disk file, if this is a delta disk backing.\n\nThis will be unset if this is not a delta disk backing.\n\nA delta disk backing is a way to preserve a virtual disk backing\nat some point in time. A delta disk backing is a file backing which in\nturn points to the original virtual disk backing (the parent). After a delta\ndisk backing is added, all writes go to the delta disk backing. All reads\nfirst try the delta disk backing and then try the parent backing if needed.\n\nA delta disk backing can be added to a disk either implicitly during\nsnapshot operations, or explicitly during create or reconfigure of the virtual\nmachine.\n\nNote that the type of the backing is consistent throughout the chain; any new\ndelta disk backing which is added is of the same type as the original disk .\nAlso note that since the parent backing is not being written to,\nit is possible that the parent backing may be shared among multiple\ndisks belonging to multiple virtual machines.\n\nDuring virtual machine *creation* and\n*reconfiguration* this property is\nonly checked if the *VirtualDeviceConfigSpec* specifies\nan *add operation* with a\n*create file operation*.\nIn this case, a new delta disk backing is created which points to the parent\ndisk backing. Only the *fileName*\nproperty is important; all other properties will be ignored. The parent backing\nis assumed to exist and will not be recursively created.\n\nThis property may only be set if\n*deltaDiskBackingsSupported*\nis true.\n",
            "$ref": "#/components/schemas/VirtualDiskSeSparseBackingInfo"
          },
          "deltaDiskFormat": {
            "description": "The format of the delta disk.\n\nThis field is valid only for a delta disk.\n\nSee *DeltaDiskFormat* for the\nsupported formats. If not specified, the default value used is\n*redoLogFormat*.\n",
            "type": "string"
          },
          "digestEnabled": {
            "description": "Indicates whether the disk backing has digest file enabled.\n",
            "type": "boolean"
          },
          "grainSize": {
            "description": "Specify the grain size in kB.\n\nThe default size is 4 kB.\n",
            "type": "integer",
            "format": "int32"
          },
          "keyId": {
            "description": "Virtual Disk Backing encryption options.\n\nOn modification operations the value is ignored, use the specification\n*VirtualDeviceConfigSpecBackingSpec.crypto* in\n*VirtualDeviceConfigSpec.backing*.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "required": [
          "diskMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskSeSparseBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskSeSparseBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskSeSparseBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskSparseVer1BackingInfo": {
        "type": "object",
        "description": "This data object type contains information about backing a virtual disk by\nusing a virtual disk file on the host, in the sparse disk format used by\nGSX Server 2.x.\n",
        "properties": {
          "diskMode": {
            "description": "The disk persistence mode.\n\nValid values are:\n- *persistent*\n- *nonpersistent*\n- *undoable*\n- *independent_persistent*\n- *independent_nonpersistent*\n- *append*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "type": "string"
          },
          "split": {
            "description": "Flag to indicate the type of virtual disk file: split or monolithic.\n\nIf true, the virtual disk is stored in multiple files, each 2GB.\n",
            "type": "boolean"
          },
          "writeThrough": {
            "description": "Flag to indicate whether writes should go directly to the file system\nor should be buffered.\n",
            "type": "boolean"
          },
          "spaceUsedInKB": {
            "description": "The space in use for this sparse disk.\n\nThis information is provided\nwhen retrieving configuration information for an existing virtual\nmachine. The client cannot modify this information using reconfigure\non a virtual machine.\n",
            "type": "integer",
            "format": "int64"
          },
          "contentId": {
            "description": "Content ID of the virtual disk file, if available.\n\nA content ID indicates the logical contents of the disk backing and its parents.\n\nThis property is only guaranteed to be up to date if this disk backing is not\ncurrently being written to by any virtual machine.\n\nThe only supported operation is comparing if two content IDs are equal or not.\nThe guarantee provided by the content ID is that if two disk backings have the\nsame content ID and are not currently being written to, then reads issued from\nthe guest operating system to those disk backings will return the same data.\n",
            "type": "string"
          },
          "parent": {
            "description": "The parent of this virtual disk file, if this is a delta disk backing.\n\nThis will be unset if this is not a delta disk backing.\n\nA delta disk backing is a way to preserve a virtual disk backing\nat some point in time. A delta disk backing is a file backing which in\nturn points to the original virtual disk backing (the parent). After a delta\ndisk backing is added, all writes go to the delta disk backing. All reads\nfirst try the delta disk backing and then try the parent backing if needed.\n\nA delta disk backing can be added to a disk either implicitly during\nsnapshot operations, or explicitly during create or reconfigure of the virtual\nmachine.\n\nNote that the type of the backing is consistent throughout the chain; any new\ndelta disk backing which is added is of the same type as the original disk .\nAlso note that since the parent backing is not being written to,\nit is possible that the parent backing may be shared among multiple\ndisks belonging to multiple virtual machines.\n\nDuring virtual machine *creation* and\n*reconfiguration* this property is\nonly checked if the *VirtualDeviceConfigSpec* specifies\nan *add operation* with a\n*create file operation*.\nIn this case, a new delta disk backing is created which points to the parent\ndisk backing. Only the *fileName*\nproperty is important; all other properties will be ignored. The parent backing\nis assumed to exist and will not be recursively created.\n\nThis property may only be set if\n*deltaDiskBackingsSupported*\nis true.\n",
            "$ref": "#/components/schemas/VirtualDiskSparseVer1BackingInfo"
          }
        },
        "required": [
          "diskMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskSparseVer1BackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskSparseVer1BackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskSparseVer1BackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskSparseVer2BackingInfo": {
        "type": "object",
        "description": "This data object type contains information about backing a virtual disk by\nusing a virtual disk file on the host, in the sparse disk format used by\nVMware Server.\n",
        "properties": {
          "diskMode": {
            "description": "The disk persistence mode.\n\nValid modes are:\n- *persistent*\n- *independent_persistent*\n- *independent_nonpersistent*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "type": "string"
          },
          "split": {
            "description": "Flag to indicate the type of virtual disk file: split or monolithic.\n\nIf true, the virtual disk is stored in multiple files, each 2GB.\n",
            "type": "boolean"
          },
          "writeThrough": {
            "description": "Flag to indicate whether writes should go directly to the file system\nor should be buffered.\n",
            "type": "boolean"
          },
          "spaceUsedInKB": {
            "description": "The space in use for this sparse disk.\n\nThis information is provided\nwhen retrieving configuration information for an exisiting virtual\nmachine. The client cannot modify this information using reconfigure\non a virtual machine.\n",
            "type": "integer",
            "format": "int64"
          },
          "uuid": {
            "description": "Disk UUID for the virtual disk, if available.\n",
            "type": "string"
          },
          "contentId": {
            "description": "Content ID of the virtual disk file, if available.\n\nA content ID indicates the logical contents of the disk backing and its parents.\n\nThis property is only guaranteed to be up to date if this disk backing is not\ncurrently being written to by any virtual machine.\n\nThe only supported operation is comparing if two content IDs are equal or not.\nThe guarantee provided by the content ID is that if two disk backings have the\nsame content ID and are not currently being written to, then reads issued from\nthe guest operating system to those disk backings will return the same data.\n",
            "type": "string"
          },
          "changeId": {
            "description": "The change ID of the virtual disk for the corresponding\nsnapshot or virtual machine.\n\nThis can be used to track\nincremental changes to a virtual disk. See\n*VirtualMachine.QueryChangedDiskAreas*.\n",
            "type": "string"
          },
          "parent": {
            "description": "The parent of this virtual disk file, if this is a delta disk backing.\n\nThis will be unset if this is not a delta disk backing.\n\nA delta disk backing is a way to preserve a virtual disk backing\nat some point in time. A delta disk backing is a file backing which in\nturn points to the original virtual disk backing (the parent). After a delta\ndisk backing is added, all writes go to the delta disk backing. All reads\nfirst try the delta disk backing and then try the parent backing if needed.\n\nA delta disk backing can be added to a disk either implicitly during\nsnapshot operations, or explicitly during create or reconfigure of the virtual\nmachine.\n\nNote that the type of the backing is consistent throughout the chain; any new\ndelta disk backing which is added is of the same type as the original disk .\nAlso note that since the parent backing is not being written to,\nit is possible that the parent backing may be shared among multiple\ndisks belonging to multiple virtual machines.\n\nDuring virtual machine *creation* and\n*reconfiguration* this property is\nonly checked if the *VirtualDeviceConfigSpec* specifies\nan *add operation* with a\n*create file operation*.\nIn this case, a new delta disk backing is created which points to the parent\ndisk backing. Only the *fileName*\nproperty is important; all other properties will be ignored. The parent backing\nis assumed to exist and will not be recursively created.\n\nThis property may only be set if\n*deltaDiskBackingsSupported*\nis true.\n",
            "$ref": "#/components/schemas/VirtualDiskSparseVer2BackingInfo"
          },
          "keyId": {
            "description": "Virtual Disk Backing encryption options.\n\nOn modification operations the value is ignored, use the specification\n*VirtualDeviceConfigSpecBackingSpec.crypto* in\n*VirtualDeviceConfigSpec.backing*.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "required": [
          "diskMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualDiskSparseVer2BackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskSparseVer2BackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskSparseVer2BackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskVFlashCacheConfigInfo": {
        "type": "object",
        "description": "Data object describes the vFlash cache configuration on this virtual disk.\n",
        "properties": {
          "vFlashModule": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nName of vFlash module which manages the cache.\n\nIf not specified, default setting\n*HostVFlashManagerVFlashCacheConfigSpec.defaultVFlashModule*\nwill be used.\n",
            "type": "string"
          },
          "reservationInMB": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nAmount of vFlash resource that is guaranteed available to the cache.\n\nIf not specified,\ndefault reservation will be used.\n",
            "type": "integer",
            "format": "int64"
          },
          "cacheConsistencyType": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nCache data consistency types after a crash.\n\nSee *VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum*\nfor supported types. If not specified, the default value used is\n*strong*\n",
            "type": "string"
          },
          "cacheMode": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nCache modes.\n\nSee *VirtualDiskVFlashCacheConfigInfoCacheMode_enum*\nfor supported modes. If not specified, the default value used is\n*write_thru*.\n",
            "type": "string"
          },
          "blockSizeInKB": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nCache block size.\n\nThis parameter allows the user to control how much\ndata gets cached on a single access to the VMDK. Max block size is 1MB.\nDefault is 4KB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDiskVFlashCacheConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskVFlashCacheConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskVFlashCacheConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskId": {
        "type": "object",
        "description": "Identifier for a virtual disk.\n",
        "properties": {
          "vm": {
            "description": "Virtual machine reference.\n\nRefers instance of *VirtualMachine*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "diskId": {
            "description": "Device ID *VirtualDevice.key* of the virtual disk.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vm",
          "diskId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDiskId": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskId*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskOption": {
        "type": "object",
        "description": "The VirtualDiskOption data class contains the options for the\nvirtual disk data object type.\n",
        "properties": {
          "capacityInKB": {
            "description": "Minimum, maximum, and default capacity of the disk.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "ioAllocationOption": {
            "deprecated": true,
            "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nMinimum, maximum, and default values for Storage I/O allocation.\n\nSee also *StorageIOAllocationInfo*.\n",
            "$ref": "#/components/schemas/StorageIOAllocationOption"
          },
          "vFlashCacheConfigOption": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nvFlash cache configuration on the disk.\n",
            "$ref": "#/components/schemas/VirtualDiskOptionVFlashCacheConfigOption"
          }
        },
        "required": [
          "capacityInKB",
          "ioAllocationOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualDiskOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskDeltaDiskFormatsSupported": {
        "type": "object",
        "description": "Delta disk format supported for each datastore type.\n",
        "properties": {
          "datastoreType": {
            "description": "Datastore type name\n",
            "type": "string"
          },
          "deltaDiskFormat": {
            "description": "Delta disk formats supported.\n\nValid values are:\n- *redoLogFormat*\n- *nativeFormat*\n",
            "$ref": "#/components/schemas/ChoiceOption"
          }
        },
        "required": [
          "datastoreType",
          "deltaDiskFormat"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDiskDeltaDiskFormatsSupported": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskDeltaDiskFormatsSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskDeltaDiskFormatsSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskFlatVer1BackingOption": {
        "type": "object",
        "description": "This data object type contains the available options when backing a virtual disk\nusing a host file with the flat file format from GSX Server 2.x.\n\nFlat disks are pre-allocated, whereas sparse disks are grown as needed.\n",
        "properties": {
          "diskMode": {
            "description": "The disk mode.\n\nValid disk modes are:\n- *persistent*\n- *nonpersistent*\n- *undoable*\n- *independent_persistent*\n- *independent_nonpersistent*\n- *append*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "split": {
            "description": "Flag to indicate whether or not the host supports\nallowing the client to select whether or not a disk\nshould be split.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "writeThrough": {
            "description": "Flag to indicate whether or not the host supports\nallowing the client to select \"writethrough\" as a mode for\nvirtual disks.\n\nTypically, this is available only for GSX Server Linux hosts.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "growable": {
            "description": "Flag to indicate whether this backing can have its size changed.\n",
            "type": "boolean"
          }
        },
        "required": [
          "diskMode",
          "split",
          "writeThrough",
          "growable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDiskFlatVer1BackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskFlatVer1BackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskFlatVer1BackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskFlatVer2BackingOption": {
        "type": "object",
        "description": "This data object type contains the available options when backing a virtual\ndisk using a host file with the flat file format used in VMware Server and\nin ESX Server 2.x and greater.\n\nFlat disks are pre-allocated, whereas sparse disks are grown as needed.\n",
        "properties": {
          "diskMode": {
            "description": "The disk mode.\n\nValid disk modes are:\n- *persistent*\n- *independent_persistent*\n- *independent_nonpersistent*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "split": {
            "description": "Flag to indicate whether or not the host supports\nallowing the client to select whether or not a disk\nshould be split.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "writeThrough": {
            "description": "Flag to indicate whether or not the host supports\nallowing the client to select \"writethrough\" as a mode for\nvirtual disks.\n\nTypically, this is available only for VMware Server Linux hosts.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "growable": {
            "description": "Indicates whether or not this disk backing can be\nextended to larger sizes through a reconfigure operation.\n\nIf set to true, reconfiguring this virtual disk\nwith a *VirtualDisk.capacityInKB* value greater\nthan its current value will grow the disk to the newly specified size.\n",
            "type": "boolean"
          },
          "hotGrowable": {
            "description": "Indicates whether or not this disk backing can be\nextended to larger sizes through a reconfigure operation while\nthe virtual machine is powered on.\n\nIf set to true, reconfiguring this virtual disk\nwith a *VirtualDisk.capacityInKB* value greater\nthan its current value will grow the disk to the newly specified size\nwhile the virtual machine is powered on.\n",
            "type": "boolean"
          },
          "uuid": {
            "description": "Flag to indicate whether this backing supports disk UUID property.\n",
            "type": "boolean"
          },
          "thinProvisioned": {
            "description": "Flag to indicate if this backing supports thin-provisioned disks.\n\nWhen creating a thin-provisioned disk (or converting an existing disk to\nto a thin-provisioned one), both the target datastore and the\nhost accessing it must support thin-provisioning. This flag indicates only\nthe host capability. See *DatastoreCapability.perFileThinProvisioningSupported*\nfor datastore capability.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "eagerlyScrub": {
            "description": "Flag to indicate if this backing supports eager scrubbing.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "deltaDiskFormat": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1, please use\n*VirtualDiskFlatVer2BackingOption.deltaDiskFormatsSupported*.\n\nDelta disk formats supported.\n\nValid values are:\n- *redoLogFormat*\n- *nativeFormat*\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "deltaDiskFormatsSupported": {
            "description": "Delta disk formats supported for each datastore type.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskDeltaDiskFormatsSupported"
            }
          }
        },
        "required": [
          "diskMode",
          "split",
          "writeThrough",
          "growable",
          "hotGrowable",
          "uuid",
          "thinProvisioned",
          "eagerlyScrub",
          "deltaDiskFormat",
          "deltaDiskFormatsSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDiskFlatVer2BackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskFlatVer2BackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskFlatVer2BackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskLocalPMemBackingOption": {
        "type": "object",
        "description": "This data object type contains the available options when backing\na virtualdisk using persistent memory.\n",
        "properties": {
          "diskMode": {
            "description": "The disk mode.\n\nSee also *VirtualDiskMode_enum*.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "growable": {
            "description": "Indicates whether or not this disk backing can be\nextended to larger sizes through a reconfigure operation.\n\nIf set to true, reconfiguring this virtual disk\nwith a *VirtualDisk.capacityInKB* value greater\nthan its current value will grow the disk to the newly specified size.\n",
            "type": "boolean"
          },
          "hotGrowable": {
            "description": "Indicates whether or not this disk backing can be\nextended to larger sizes through a reconfigure operation while\nthe virtual machine is powered on.\n\nIf set to true, reconfiguring this virtual disk\nwith a *VirtualDisk.capacityInKB* value greater\nthan its current value will grow the disk to the newly specified size\nwhile the virtual machine is powered on.\n",
            "type": "boolean"
          },
          "uuid": {
            "description": "Flag to indicate whether this backing supports disk UUID property.\n",
            "type": "boolean"
          }
        },
        "required": [
          "diskMode",
          "growable",
          "hotGrowable",
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDiskLocalPMemBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskLocalPMemBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskLocalPMemBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskPartitionedRawDiskVer2BackingOption": {
        "type": "object",
        "description": "The VirtualDiskOption.PartitionedRawDiskVer2BackingOption object\ntype contains the available options when backing a virtual disk\nusing one or more partitions on a physical disk device.\n\nThis\nbacking is supported in VMware Server.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDiskRawDiskVer2BackingOption"
          }
        ]
      },
      "ArrayOfVirtualDiskPartitionedRawDiskVer2BackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskPartitionedRawDiskVer2BackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskPartitionedRawDiskVer2BackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskRawDiskMappingVer1BackingOption": {
        "type": "object",
        "description": "The VirtualDiskOption.RawDiskMappingVer1BackingOption object type\ncontains the available options when backing a virtual disk using\na raw device mapping on ESX Server 2.5 or 3.x.\n",
        "properties": {
          "descriptorFileNameExtensions": {
            "description": "Valid extensions for the filename of the optional\nraw disk mapping descriptor file.\n\nThis is present only for ESX Server 3.x and greater hosts.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "compatibilityMode": {
            "description": "The supported raw disk mapping compatibility modes.\n\nSee also *VirtualDiskCompatibilityMode_enum*.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "diskMode": {
            "description": "The disk mode.\n\nValid values are:\n- *persistent*\n- *independent_persistent*\n- *independent_nonpersistent*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "uuid": {
            "description": "Flag to indicate whether this backing supports disk UUID property.\n",
            "type": "boolean"
          }
        },
        "required": [
          "compatibilityMode",
          "diskMode",
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDiskRawDiskMappingVer1BackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskRawDiskMappingVer1BackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskRawDiskMappingVer1BackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskRawDiskVer2BackingOption": {
        "type": "object",
        "description": "The VirtualDiskOption.RawDiskVer2BackingOption object type\ncontains the available options when backing a virtual disk\nusing a host device on VMware Server.\n",
        "properties": {
          "descriptorFileNameExtensions": {
            "description": "Valid extensions for the filename of the raw disk descriptor\nfile.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "uuid": {
            "description": "Flag to indicate whether this backing supports disk UUID property.\n",
            "type": "boolean"
          }
        },
        "required": [
          "descriptorFileNameExtensions",
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDiskRawDiskVer2BackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskRawDiskVer2BackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskRawDiskVer2BackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskSeSparseBackingOption": {
        "type": "object",
        "description": "Backing options for virtual disks that use the space\nefficient sparse format.\n\nSpace for Flex-SE disks is allocated on demand and\noptimizations are applied to achieve additional\nspace savings.\n",
        "properties": {
          "diskMode": {
            "description": "The disk mode.\n\nValid disk modes are:\n- *persistent*\n- *independent_persistent*\n- *independent_nonpersistent*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "writeThrough": {
            "description": "Flag to indicate whether or not the host supports\nallowing the client to select \"writethrough\" as a mode for\nvirtual disks.\n\nTypically, this is available only for VMware Server Linux hosts.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "growable": {
            "description": "Indicates whether or not this disk backing can be\nextended to larger sizes through a reconfigure operation.\n\nIf set to true, reconfiguring this virtual disk\nwith a *VirtualDisk.capacityInKB* value greater\nthan its current value will grow the disk to the newly specified size.\n",
            "type": "boolean"
          },
          "hotGrowable": {
            "description": "Indicates whether or not this disk backing can be\nextended to larger sizes through a reconfigure operation while\nthe virtual machine is powered on.\n\nIf set to true, reconfiguring this virtual disk\nwith a *VirtualDisk.capacityInKB* value greater\nthan its current value will grow the disk to the newly specified size\nwhile the virtual machine is powered on.\n",
            "type": "boolean"
          },
          "uuid": {
            "description": "Flag to indicate whether this backing supports disk UUID property.\n",
            "type": "boolean"
          },
          "deltaDiskFormatsSupported": {
            "description": "Delta disk formats supported for each datastore type.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskDeltaDiskFormatsSupported"
            }
          }
        },
        "required": [
          "diskMode",
          "writeThrough",
          "growable",
          "hotGrowable",
          "uuid",
          "deltaDiskFormatsSupported"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDiskSeSparseBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskSeSparseBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskSeSparseBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskSparseVer1BackingOption": {
        "type": "object",
        "description": "This data object type contains the available options when backing a virtual\ndisk using a host file with the sparse file format from GSX Server 2.x.\n",
        "properties": {
          "diskModes": {
            "description": "The disk mode.\n\nValid disk modes are:\n- *persistent*\n- *nonpersistent*\n- *undoable*\n- *independent_persistent*\n- *independent_nonpersistent*\n- *append*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "split": {
            "description": "Flag to indicate whether or not the host supports\nallowing the client to select whether or not a sparse disk\nshould be split.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "writeThrough": {
            "description": "Flag to indicate whether or not the host supports\nallowing the client to select \"writethrough\" as a mode for\nvirtual disks.\n\nTypically, this is available only for VMware Server Linux hosts.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "growable": {
            "description": "Flag to indicate whether this backing can have its size changed.\n",
            "type": "boolean"
          }
        },
        "required": [
          "diskModes",
          "split",
          "writeThrough",
          "growable"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDiskSparseVer1BackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskSparseVer1BackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskSparseVer1BackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskSparseVer2BackingOption": {
        "type": "object",
        "description": "This data object type contains the options available when backing a virtual\ndisk using a host file with the sparse file format from VMware Server.\n",
        "properties": {
          "diskMode": {
            "description": "The disk mode.\n\nValid disk modes are:\n- *persistent*\n- *nonpersistent*\n- *undoable*\n- *independent_persistent*\n- *independent_nonpersistent*\n- *append*\n  \nSee also *VirtualDiskMode_enum*.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "split": {
            "description": "Flag to indicate whether or not the host supports\nallowing the client to select whether or not a sparse disk\nshould be split.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "writeThrough": {
            "description": "Flag to indicate whether or not the host supports\nallowing the client to select \"writethrough\" as a mode for\nvirtual disks.\n\nTypically, this is available only for VMware Server Linux hosts.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "growable": {
            "description": "Indicates whether or not this disk backing can be\nextended to larger sizes through a reconfigure operation.\n\nIf set to true, reconfiguring this virtual disk\nwith a *VirtualDisk.capacityInKB* value greater\nthan its current value will grow the disk to the newly specified size.\n",
            "type": "boolean"
          },
          "hotGrowable": {
            "description": "Indicates whether or not this disk backing can be\nextended to larger sizes through a reconfigure operation while\nthe virtual machine is powered on.\n\nIf set to true, reconfiguring this virtual disk\nwith a *VirtualDisk.capacityInKB* value greater\nthan its current value will grow the disk to the newly specified size\nwhile the virtual machine is powered on.\n",
            "type": "boolean"
          },
          "uuid": {
            "description": "Flag to indicate whether this backing supports disk UUID property.\n",
            "type": "boolean"
          }
        },
        "required": [
          "diskMode",
          "split",
          "writeThrough",
          "growable",
          "hotGrowable",
          "uuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualDiskSparseVer2BackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskSparseVer2BackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskSparseVer2BackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskOptionVFlashCacheConfigOption": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nOptions for vFlash cache configuration.\n",
        "properties": {
          "cacheConsistencyType": {
            "description": "Cache data consistency type.\n\nSee *VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum*\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "cacheMode": {
            "description": "Cache mode\nSee *VirtualDiskVFlashCacheConfigInfoCacheMode_enum*\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "reservationInMB": {
            "description": "Cache reservation\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "blockSizeInKB": {
            "description": "Cache block size\n",
            "$ref": "#/components/schemas/LongOption"
          }
        },
        "required": [
          "cacheConsistencyType",
          "cacheMode",
          "reservationInMB",
          "blockSizeInKB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualDiskOptionVFlashCacheConfigOption": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskOptionVFlashCacheConfigOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskOptionVFlashCacheConfigOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskConfigSpec": {
        "type": "object",
        "description": "The VirtualDiskSpec data object type encapsulates change\nspecifications for an individual virtual disk device.\n\nThe virtual\ndisk being added or modified must be fully specified.\n",
        "properties": {
          "diskMoveType": {
            "description": "Manner in which to move the virtual disk to the target datastore.\n\nThe set of possible values is described in\n*VirtualMachineRelocateDiskMoveOptions_enum*.\n\nThis property can only be set if *HostCapability.deltaDiskBackingsSupported* is true.\n\nIf left unset then *moveAllDiskBackingsAndDisallowSharing*\nis assumed.\n",
            "type": "string"
          },
          "migrateCache": {
            "deprecated": true,
            "description": "Deprecated since vSphere 7.0 because vFlash Read Cache\nend of availability.\n\nManner in which to transfer the cache associated with the virtual disk to the\ntarget host.\n\nIf left unset then migrate is used when virtual flash resource on the source host\nis accessible and when the backing vFlash module version is compatible with the\nspecific vFalsh module on the target host; otherwise flush is used for write back\ncache, or a no-op for write through cache. This setting can avoid VM migration failure\ndue to incompatibility.\nIf true then migrate is always used. VM migration may fail if the backing vFlash module\nversion is incompatible with the module on the target host.\nIf false then flush is used for write back cache. It is a no-op for write through\ncache. This setting can avoid VM migration failure due to incompatibility, but cache\nfiles have to be rebuilt on the target host.\nDefault is unset.\n\nSee also *HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption*.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceConfigSpec"
          }
        ]
      },
      "ArrayOfVirtualDiskConfigSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualDiskConfigSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDiskConfigSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualE1000": {
        "type": "object",
        "description": "The VirtualE1000 data object type represents an instance\nof the E1000 virtual Ethernet adapter attached to a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCard"
          }
        ]
      },
      "ArrayOfVirtualE1000": {
        "type": "object",
        "description": "A boxed array of *VirtualE1000*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualE1000"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualE1000Option": {
        "type": "object",
        "description": "The VirtualE1000 option data object type contains the options for the\n*VirtualE1000* data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCardOption"
          }
        ]
      },
      "ArrayOfVirtualE1000Option": {
        "type": "object",
        "description": "A boxed array of *VirtualE1000Option*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualE1000Option"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualE1000e": {
        "type": "object",
        "description": "The VirtualE1000e data object type represents an instance\nof the E1000e virtual Ethernet adapter attached to a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCard"
          }
        ]
      },
      "ArrayOfVirtualE1000e": {
        "type": "object",
        "description": "A boxed array of *VirtualE1000e*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualE1000e"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualE1000eOption": {
        "type": "object",
        "description": "The VirtualE1000e option data object type contains the options for the\n*VirtualE1000e* data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCardOption"
          }
        ]
      },
      "ArrayOfVirtualE1000eOption": {
        "type": "object",
        "description": "A boxed array of *VirtualE1000eOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualE1000eOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEnsoniq1371": {
        "type": "object",
        "description": "The VirtualEnsoniq1371 data object type represents an Ensoniq 1371\nsound card in a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSoundCard"
          }
        ]
      },
      "ArrayOfVirtualEnsoniq1371": {
        "type": "object",
        "description": "A boxed array of *VirtualEnsoniq1371*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEnsoniq1371"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEnsoniq1371Option": {
        "type": "object",
        "description": "The VirtualEnsoniq1371Option data object type contains the options for the\nvirtual Ensoniq 1371 sound card.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSoundCardOption"
          }
        ]
      },
      "ArrayOfVirtualEnsoniq1371Option": {
        "type": "object",
        "description": "A boxed array of *VirtualEnsoniq1371Option*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEnsoniq1371Option"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCard": {
        "type": "object",
        "description": "The *VirtualEthernetCard* data object contains the properties\nof an Ethernet adapter attached to a virtual machine.\n",
        "properties": {
          "dynamicProperty": {
            "description": "Set of dynamic properties.\n\nThis property is optional because only the\nproperties of an object that are unknown to a client will be part of this set.\nThis property is not readonly just in case we want to send such properties\nfrom a client in the future.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "addressType": {
            "description": "MAC address type.\n\nValid values for address type are:\n<dl>\n<dt>Manual</dt>\n<dd>Statically assigned MAC address.</dd>\n<dt>Generated</dt>\n<dd>Automatically generated MAC address.</dd>\n<dt>Assigned</dt>\n<dd>MAC address assigned by VirtualCenter.</dd>\n</dl>\n",
            "type": "string"
          },
          "macAddress": {
            "description": "MAC address assigned to the virtual network adapter.\n\nClients can\nset this property to any of the allowed address types. The server might\noverride the specified value for \"Generated\" or \"Assigned\" if it does not\nfall in the right ranges or is determined to be a duplicate.\n",
            "type": "string"
          },
          "wakeOnLanEnabled": {
            "description": "Indicates whether wake-on-LAN is enabled on this virtual network adapter.\n\nClients\ncan set this property to selectively enable or disable wake-on-LAN.\n",
            "type": "boolean"
          },
          "resourceAllocation": {
            "description": "Resource requirements of the virtual network adapter\n",
            "$ref": "#/components/schemas/VirtualEthernetCardResourceAllocation"
          },
          "externalId": {
            "description": "An ID assigned to the virtual network adapter by external management plane or\ncontroller.\n\nThe value and format of this property is determined by external\nmanagement plane or controller, and vSphere doesn't do any validation. It's\nalso up to external management plane or controller to set, unset or maintain\nthis property. Setting this property with an empty string value will unset the\nproperty.\n",
            "type": "string"
          },
          "uptCompatibilityEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nIndicates whether UPT(Universal Pass-through) compatibility is enabled\non this network adapter.\n\nUPT is only compatible for Vmxnet3 adapter.\nClients can set this property enabled or disabled if ethernet\nvirtual device is Vmxnet3.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualEthernetCard": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCard*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCard"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardDistributedVirtualPortBackingInfo": {
        "type": "object",
        "description": "The *VirtualEthernetCardDistributedVirtualPortBackingInfo*\ndata object defines backing for a virtual Ethernet card that connects\nto a distributed virtual switch port or portgroup.\n",
        "properties": {
          "port": {
            "description": "*DistributedVirtualPort* or *DistributedVirtualPortgroup*\nconnection.\n\nTo specify a port connection, set the\n*DistributedVirtualSwitchPortConnection.portKey* property.\nTo specify a portgroup connection, set the\n*DistributedVirtualSwitchPortConnection.portgroupKey* property.\n\nThis property will be unset during Virtual Machine or template cloning\noperation unless it's set to a *DistributedVirtualSwitchPortConnection*\nobject and the portgroup is a late binding portgroup.\n",
            "$ref": "#/components/schemas/DistributedVirtualSwitchPortConnection"
          }
        },
        "required": [
          "port"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardDistributedVirtualPortBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardDistributedVirtualPortBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardDistributedVirtualPortBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardLegacyNetworkBackingInfo": {
        "type": "object",
        "description": "The *VirtualEthernetCardLegacyNetworkBackingInfo* data object\nprovides legacy backing for a virtual Ethernet card.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardLegacyNetworkBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardLegacyNetworkBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardLegacyNetworkBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardNetworkBackingInfo": {
        "type": "object",
        "description": "The *VirtualEthernetCardNetworkBackingInfo* data object\ndefines network backing for a virtual Ethernet card.\n",
        "properties": {
          "network": {
            "description": "Reference to the network managed object to which this backing applies.\n\nThis is not used during configuration.\n\nRefers instance of *Network*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "inPassthroughMode": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 4.0, this property is not supported.\n&nbsp;.\n\n&nbsp;\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardNetworkBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardNetworkBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardNetworkBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardOpaqueNetworkBackingInfo": {
        "type": "object",
        "description": "This class defines backing for a virtual Ethernet card that connects\nto an opaque network.\n",
        "properties": {
          "opaqueNetworkId": {
            "description": "The opaque network ID\n",
            "type": "string"
          },
          "opaqueNetworkType": {
            "description": "The opaque network type\n",
            "type": "string"
          }
        },
        "required": [
          "opaqueNetworkId",
          "opaqueNetworkType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardOpaqueNetworkBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardOpaqueNetworkBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardOpaqueNetworkBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardResourceAllocation": {
        "type": "object",
        "description": "This class specifies the network resource requirement.\n",
        "properties": {
          "reservation": {
            "description": "Amount of network bandwidth that is guaranteed to the\nvirtual network adapter.\n\nIf utilization is less than reservation, the resource can be used by\nother virtual network adapters. Reservation is not allowed to exceed the\nvalue of *VirtualEthernetCardResourceAllocation.limit* if\n*VirtualEthernetCardResourceAllocation.limit* is set.\nUnits in Mbits/sec.\n",
            "type": "integer",
            "format": "int64"
          },
          "share": {
            "description": "Network share.\n\nThe value is used as a relative weight in\ncompeting for shared bandwidth, in case of resource contention.\n",
            "$ref": "#/components/schemas/SharesInfo"
          },
          "limit": {
            "description": "The bandwidth limit for the virtual network adapter.\n\nThe utilization of the virtual network adapter will not\nexceed this limit, even if there are available resources.\nTo clear the value of this property and revert it to unset,\nset the vaule to \"-1\" in an update operation.\nUnits in Mbits/sec.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "share"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardResourceAllocation": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardResourceAllocation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardResourceAllocation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardOption": {
        "type": "object",
        "description": "This data object type contains the options for the\nvirtual ethernet card data object type.\n",
        "properties": {
          "supportedOUI": {
            "description": "The valid Organizational Unique Identifiers (OUIs)\nsupported by this virtual Ethernet card.\n\n<dl>\n<dt>Supported OUIs for statically assigned MAC addresses:</dt>\n<dd>\"00:50:56\"</dd>\n</dl>\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "macType": {
            "description": "The supported MAC address types.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "wakeOnLanEnabled": {
            "description": "Flag to indicate whether or not wake-on-LAN is settable on this device.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "vmDirectPathGen2Supported": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nFlag to indicate whether VMDirectPath Gen 2 is available on this device.\n",
            "type": "boolean"
          },
          "uptCompatibilityEnabled": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and\nthere is no replacement.\n\nFlag to indicate whether Universal Pass-through(UPT) is settable on this device.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "supportedOUI",
          "macType",
          "wakeOnLanEnabled"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardOption": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardDVPortBackingOption": {
        "type": "object",
        "description": "This data object type contains the options for using a distributed\nvirtual port virtual network card backing data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardDVPortBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardDVPortBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardDVPortBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardLegacyNetworkBackingOption": {
        "type": "object",
        "description": "This data object type contains the options\nfor using a legacy virtual network card backing data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardLegacyNetworkBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardLegacyNetworkBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardLegacyNetworkBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardNetworkBackingOption": {
        "type": "object",
        "description": "This data object type contains the options for\nthe virtual network card backing data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardNetworkBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardNetworkBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardNetworkBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualEthernetCardOpaqueNetworkBackingOption": {
        "type": "object",
        "description": "This data object type contains the options for\nthe virtual network card backing data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualEthernetCardOpaqueNetworkBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualEthernetCardOpaqueNetworkBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualEthernetCardOpaqueNetworkBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualFloppy": {
        "type": "object",
        "description": "The VirtualFloppy data object type contains information about a floppy drive\nin a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualFloppy": {
        "type": "object",
        "description": "A boxed array of *VirtualFloppy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualFloppy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualFloppyDeviceBackingInfo": {
        "type": "object",
        "description": "The data object type for device backing of a virtual floppy drive.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualFloppyDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualFloppyDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualFloppyDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualFloppyImageBackingInfo": {
        "type": "object",
        "description": "The data object type for file image backing of a virtual floppy drive.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualFloppyImageBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualFloppyImageBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualFloppyImageBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualFloppyRemoteDeviceBackingInfo": {
        "type": "object",
        "description": "The data object type for remote device backing of a virtual floppy drive.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceRemoteDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualFloppyRemoteDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualFloppyRemoteDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualFloppyRemoteDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualFloppyOption": {
        "type": "object",
        "description": "The VirtualFloppyOption data class contains the options for the\nvirtual floppy data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualFloppyOption": {
        "type": "object",
        "description": "A boxed array of *VirtualFloppyOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualFloppyOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualFloppyDeviceBackingOption": {
        "type": "object",
        "description": "The DeviceBackingOption data object type contains the options\nfor the floppy device backing type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualFloppyDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualFloppyDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualFloppyDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualFloppyImageBackingOption": {
        "type": "object",
        "description": "The ImageBackingOption data object type contains the options\nfor the floppy image backing type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualFloppyImageBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualFloppyImageBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualFloppyImageBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualFloppyRemoteDeviceBackingOption": {
        "type": "object",
        "description": "The RemoteDeviceBackingOption data object type contains the options\nfor the floppy remote device backing type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceRemoteDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualFloppyRemoteDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualFloppyRemoteDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualFloppyRemoteDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualHdAudioCard": {
        "type": "object",
        "description": "The VirtualHdAudioCard data object type represents a HD Audio\nsound card in a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSoundCard"
          }
        ]
      },
      "ArrayOfVirtualHdAudioCard": {
        "type": "object",
        "description": "A boxed array of *VirtualHdAudioCard*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualHdAudioCard"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualHdAudioCardOption": {
        "type": "object",
        "description": "The VirtualHdAudioCardOption data object type contains the options for a\nvirtual HD Audio sound card.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSoundCardOption"
          }
        ]
      },
      "ArrayOfVirtualHdAudioCardOption": {
        "type": "object",
        "description": "A boxed array of *VirtualHdAudioCardOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualHdAudioCardOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualIDEController": {
        "type": "object",
        "description": "The VirtualIDEController data object type specifies a virtual IDE controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualIDEController": {
        "type": "object",
        "description": "A boxed array of *VirtualIDEController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualIDEController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualIDEControllerOption": {
        "type": "object",
        "description": "The VirtualIDEControllerOption data object type contains the options\nfor a virtual IDE controller.\n",
        "properties": {
          "numIDEDisks": {
            "description": "The minimum, maximum, and default number of IDE VirtualDisk instances you can\nhave, at any given time, in the IDE controller.\n\nThe number is further constrained\nby the number of available slots in the virtual IDE controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numIDECdroms": {
            "description": "The minimum, maximum, and default number of IDE VirtualCdrom instances you can\nhave, at any given time, in the IDE controller.\n\nThe number is further constrained\nby the number of available slots in the virtual IDE controller.\n",
            "$ref": "#/components/schemas/IntOption"
          }
        },
        "required": [
          "numIDEDisks",
          "numIDECdroms"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualIDEControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualIDEControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualIDEControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualKeyboard": {
        "type": "object",
        "description": "This data object type contains information about\nthe keyboard on a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualKeyboard": {
        "type": "object",
        "description": "A boxed array of *VirtualKeyboard*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualKeyboard"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualKeyboardOption": {
        "type": "object",
        "description": "The VirtualKeyboardOption data object type contains the options for the\nvirtual keyboard class.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualKeyboardOption": {
        "type": "object",
        "description": "A boxed array of *VirtualKeyboardOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualKeyboardOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualLsiLogicController": {
        "type": "object",
        "description": "VirtualLsiLogicController is the data object that represents\na LSI Logic SCSI controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSCSIController"
          }
        ]
      },
      "ArrayOfVirtualLsiLogicController": {
        "type": "object",
        "description": "A boxed array of *VirtualLsiLogicController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualLsiLogicController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualLsiLogicControllerOption": {
        "type": "object",
        "description": "VirtualLsiLogicControllerOption is the data object that contains\nthe options for a LSI Logic SCSI controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSCSIControllerOption"
          }
        ]
      },
      "ArrayOfVirtualLsiLogicControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualLsiLogicControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualLsiLogicControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualLsiLogicSASController": {
        "type": "object",
        "description": "VirtualLsiLogicSASController is the data object that represents\na LSI Logic SAS SCSI controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSCSIController"
          }
        ]
      },
      "ArrayOfVirtualLsiLogicSASController": {
        "type": "object",
        "description": "A boxed array of *VirtualLsiLogicSASController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualLsiLogicSASController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualLsiLogicSASControllerOption": {
        "type": "object",
        "description": "VirtualLsiLogicSASControllerOption is the data object that contains\nthe options for a LSI Logic SAS SCSI controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSCSIControllerOption"
          }
        ]
      },
      "ArrayOfVirtualLsiLogicSASControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualLsiLogicSASControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualLsiLogicSASControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualNVDIMM": {
        "type": "object",
        "description": "The Virtual NVDIMM device.\n",
        "properties": {
          "capacityInMB": {
            "description": "NVDIMM backing size in MiB.\n\nIf backing is inaccessible, then\ncapacity is reported as 0.\n",
            "type": "integer",
            "format": "int64"
          },
          "configuredCapacityInMB": {
            "description": "NVDIMM device's configured size in MiB.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "capacityInMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualNVDIMM": {
        "type": "object",
        "description": "A boxed array of *VirtualNVDIMM*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualNVDIMM"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualNVDIMMBackingInfo": {
        "type": "object",
        "description": "The <code>*VirtualNVDIMMBackingInfo*</code> data object type\ndefines information about a resource that backs a device\nin a virtual machine.\n",
        "properties": {
          "parent": {
            "description": "Parent object in snapshot chain.\n",
            "$ref": "#/components/schemas/VirtualNVDIMMBackingInfo"
          },
          "changeId": {
            "description": "The change ID of the virtual NVDIMM for the corresponding\nsnapshot of virtual machine.\n\nThis can be used to track\nincremental changes.\nSee *VirtualMachine.QueryChangedDiskAreas*.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualNVDIMMBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualNVDIMMBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualNVDIMMBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualNVDIMMController": {
        "type": "object",
        "description": "The Virtual NVDIMM controller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualNVDIMMController": {
        "type": "object",
        "description": "A boxed array of *VirtualNVDIMMController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualNVDIMMController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualNVDIMMControllerOption": {
        "type": "object",
        "description": "VirtualNVDIMMControllerOption is the data object that contains\nthe options for a virtual NVDIMM controller.\n",
        "properties": {
          "numNVDIMMControllers": {
            "description": "Minimum, maximum and default number of virtual NVDIMM controllers.\n",
            "$ref": "#/components/schemas/IntOption"
          }
        },
        "required": [
          "numNVDIMMControllers"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualNVDIMMControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualNVDIMMControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualNVDIMMControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualNVDIMMOption": {
        "type": "object",
        "description": "The VirtualNVDIMMOption contains information about\na virtual NVDIMM capacity limits and rules for\ncapacity growth operations.\n",
        "properties": {
          "capacityInMB": {
            "description": "Minimum and maximum capacity in MB.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "growable": {
            "description": "Option to show if device capacity growth is supported for\npowered off VMs.\n",
            "type": "boolean"
          },
          "hotGrowable": {
            "description": "Option to show if device capacity growth is supported for\npowered on VMs.\n",
            "type": "boolean"
          },
          "granularityInMB": {
            "description": "Option to show capacity growth granularity if growth operation\nis supported in MB.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "capacityInMB",
          "growable",
          "hotGrowable",
          "granularityInMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualNVDIMMOption": {
        "type": "object",
        "description": "A boxed array of *VirtualNVDIMMOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualNVDIMMOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualNVMEController": {
        "type": "object",
        "description": "The Virtual NVME controller.\n",
        "properties": {
          "sharedBus": {
            "description": "Mode for sharing the SCSI bus.\n\nThe modes are physicalSharing,\nand noSharing. See the\n*Sharing*\ndata object type for an explanation of these modes.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualNVMEController": {
        "type": "object",
        "description": "A boxed array of *VirtualNVMEController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualNVMEController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualNVMEControllerOption": {
        "type": "object",
        "description": "VirtualNVMEControllerOption is the data object that contains\nthe options for a virtual NVME controller.\n",
        "properties": {
          "numNVMEDisks": {
            "description": "Three properties (numNVMEDisks.min, numNVMEDisks.max, and\nnumNVMEDisks.defaultValue) define the minimum, maximum, and default\nnumber of NVME VirtualDisk instances available at any given time in the\nNVME controller.\n\nThe number of NVME VirtualDisk instances is\nalso limited by the number of available namespaces in the NVME controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "sharing": {
            "description": "Supported shared bus modes.\n\nSee *VirtualNVMEControllerSharing_enum* for the list of available modes.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "numNVMEDisks"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualNVMEControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualNVMEControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualNVMEControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIController": {
        "type": "object",
        "description": "The VirtualPCIController data object type defines a virtual PCI\ncontroller.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualPCIController": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIControllerOption": {
        "type": "object",
        "description": "This data object type contains the options\nfor a virtual PCI Controller.\n",
        "properties": {
          "numSCSIControllers": {
            "description": "Defines the minimum, maximum, and\ndefault number of VirtualSCSIController instances available\nat any given time in the PCI controller.\n\nThe number of\nVirtualSCSIController instances is also limited by the number of\navailable slots in the PCI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numEthernetCards": {
            "description": "Defines the minimum, maximum, and\ndefault number of VirtualEthernetCard instances available,\nat any given time, in the PCI controller.\n\nThe number of\nVirtualEthernetCard instances is also limited by the number of\navailable slots in the PCI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numVideoCards": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualVideoCard instances available,\nat any given time, in the PCI controller.\n\nThe number of\nVirtualVideoCard instances is also limited by the number of\navailable slots in the PCI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSoundCards": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualSoundCard instances available,\nat any given time, in the PCI controller.\n\nThe number of\nVirtualSoundCard instances is also limited by the number of\navailable slots in the PCI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numVmiRoms": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualVMIROM instances available,\nat any given time, in the PCI controller.\n\nThis is also limited\nby the number of available slots in the PCI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numVmciDevices": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualVMCIDevice instances available,\nat any given time, in the PCI controller.\n\nThis is also limited\nby the number of available slots in the PCI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numPCIPassthroughDevices": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualPCIPassthrough instances available,\nat any given time, in the PCI controller.\n\nThis is also limited\nby the number of available PCI Express slots in the PCI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSasSCSIControllers": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualLsiLogicSASController instances available,\nat any given time, in the PCI controller.\n\nThis is also limited\nby the number of available PCI Express slots in the PCI controller\nas well as the total number of supported SCSI controllers.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numVmxnet3EthernetCards": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualVmxnet3 ethernet card instances available,\nat any given time, in the PCI controller.\n\nThis is also limited\nby the number of available PCI Express slots in the PCI controller\nas well as the total number of supported ethernet cards.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numParaVirtualSCSIControllers": {
            "description": "Defines the minimum, maximum, and default\nnumber of ParaVirtualScsiController instances available,\nat any given time, in the PCI controller.\n\nThis is also limited\nby the number of available PCI Express slots in the PCI controller\nas well as the total number of supported SCSI controllers.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSATAControllers": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualSATAController instances available,\nat any given time, in the PCI controller.\n\nThis is also limited\nby the number of available PCI Express slots in the PCI controller\nas well as the total number of supported SATA controllers.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numNVMEControllers": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualNVMEController instances available,\nat any given time, in the PCI controller.\n\nThis is also limited\nby the number of available PCI Express slots in the PCI controller\nas well as the total number of supported NVME controllers.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numVmxnet3VrdmaEthernetCards": {
            "description": "Defines the minimum, maximum, and default\nnumber of VirtualVmxnet3Vrdma ethernet card instances available,\nat any given time, in the PCI controller.\n\nThis is also limited\nby the number of available PCI Express slots in the PCI controller\nas well as the total number of supported ethernet cards.\n",
            "$ref": "#/components/schemas/IntOption"
          }
        },
        "required": [
          "numSCSIControllers",
          "numEthernetCards",
          "numVideoCards",
          "numSoundCards",
          "numVmiRoms",
          "numVmciDevices",
          "numPCIPassthroughDevices",
          "numSasSCSIControllers",
          "numVmxnet3EthernetCards",
          "numParaVirtualSCSIControllers",
          "numSATAControllers"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualPCIControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthrough": {
        "type": "object",
        "description": "The VirtualPCIPassthrough data object type contains information about a\nPCI device on the virtual machine that is being backed by\na generic PCI device on the host via passthrough.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthrough": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthrough*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthrough"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughAllowedDevice": {
        "type": "object",
        "description": "A tuple of vendorId and deviceId indicating an allowed device\nfor a Dynamic DirectPath device.\n",
        "properties": {
          "vendorId": {
            "description": "The vendor ID for this PCI device.\n\nYou must use the vendor ID\nretrieved from the vSphere host or cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "deviceId": {
            "description": "The device ID of this PCI device.\n\nYou must use the device ID\nretrieved from the vSphere host or cluster.\n",
            "type": "integer",
            "format": "int32"
          },
          "subVendorId": {
            "description": "The subVendor ID for this PCI device.\n\nIf specified, you must use\nthe subVendor ID retrieved from the vSphere host or cluster.\nRange of legal values is 0x0 to 0xFFFF.\n",
            "type": "integer",
            "format": "int32"
          },
          "subDeviceId": {
            "description": "The subDevice ID of this PCI device.\n\nIf specified, you must use\nthe subDevice ID retrieved from the vSphere host or cluster.\nRange of legal values is 0x0 to 0xFFFF.\n",
            "type": "integer",
            "format": "int32"
          },
          "revisionId": {
            "description": "The revision ID of this PCI device.\n\nIf specified, you must use\nthe revision ID retrieved from the vSphere host or cluster.\nRange of legal values is 0x0 to 0xFF.\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          }
        },
        "required": [
          "vendorId",
          "deviceId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughAllowedDevice": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughAllowedDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughAllowedDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughDeviceBackingInfo": {
        "type": "object",
        "description": "The VirtualPCIPassthrough.DeviceBackingInfo data object type\ncontains information about the backing that maps the\nvirtual device onto a physical device.\n",
        "properties": {
          "id": {
            "description": "The name ID of this PCI, composed of \"bus:slot.function\".\n",
            "type": "string"
          },
          "deviceId": {
            "description": "The device ID of this PCI.\n\nYou must use the device ID retrieved\nfrom the vSphere host (*HostPciDevice*.deviceId), converted\nas is to a string.\n",
            "type": "string"
          },
          "systemId": {
            "description": "The ID of the system the PCI device is attached to.\n",
            "type": "string"
          },
          "vendorId": {
            "description": "The vendor ID for this PCI device.\n\nYou must use the vendor ID retrieved\nfrom the vSphere host (*HostPciDevice*.vendorId).\n",
            "type": "integer",
            "minimum": -32768,
            "maximum": 32767
          }
        },
        "required": [
          "id",
          "deviceId",
          "systemId",
          "vendorId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughDvxBackingInfo": {
        "type": "object",
        "description": "DVX Device specific information.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "deviceClass": {
            "description": "The device class that backs this DVX device.\n\nDuring add operations, this value must be a non-empty string.\nDuring edit operations, if this value is not set or is an empty\nstring, the current device class remains unchanged.\n",
            "type": "string"
          },
          "configParams": {
            "description": "The configuration parameters for this device class.\n\nAll required configuration parameters must be provided for both add\nand edit operations. The provided configuration parameters replace\nthe previous ones. In particular, passing an empty array will unset\nall existing configuration parameters.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionValue"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughDvxBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughDvxBackingInfo*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughDvxBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughDynamicBackingInfo": {
        "type": "object",
        "description": "The VirtualPCIPassthrough.DynamicBackingInfo data object type\ncontains information about the backing that maps the\nvirtual device onto a physical device for a Dynamic DirectPath\ndevice.\n",
        "properties": {
          "allowedDevice": {
            "description": "The list of allowed devices for use with a Dynamic DirectPath\ndevice.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughAllowedDevice"
            }
          },
          "customLabel": {
            "description": "An optional label.\n\nIf set, the device must also have the same\ncustomLabel attribute set.\n",
            "type": "string"
          },
          "assignedId": {
            "description": "The id of the device assigned when the VM is powered on.\n\nThis value\nis unset when the VM is powered off.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughDynamicBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughDynamicBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughDynamicBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughPluginBackingInfo": {
        "type": "object",
        "description": "The VirtualPCIPassthrough.PluginBackingInfo is a base data object type\nfor encoding plugin-specific information.\n\nThis base type does not define\nany properties. Specific plugin types are represented by subtypes which\ndefine properties for subtype-specific backing information.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughPluginBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughPluginBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughPluginBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughVmiopBackingInfo": {
        "type": "object",
        "description": "The VirtualPCIPassthrough.VmiopBackingInfo data object type\ncontains information about the plugin that emulates the\nvirtual device via the VMIOP plugin interface.\n\nAt present, this interface is only used to implement vGPU.\n",
        "properties": {
          "vgpu": {
            "description": "The vGPU configuration type exposed by a VMIOP plugin.\n",
            "type": "string"
          },
          "vgpuMigrateDataSizeMB": {
            "description": "The expected size of the vGPU device state during migration.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "integer",
            "format": "int32"
          },
          "migrateSupported": {
            "description": "Indicates whether the vGPU device is migration capable or not.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "boolean"
          },
          "enhancedMigrateCapability": {
            "description": "Indicates whether the vGPU has enhanced migration features for\nsub-second downtime.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualPCIPassthroughPluginBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughVmiopBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughVmiopBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughVmiopBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughOption": {
        "type": "object",
        "description": "The VirtualPCIPassthroughOption data object type describes the options\nfor the\n*VirtualPCIPassthrough*\ndata object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughDeviceBackingOption": {
        "type": "object",
        "description": "This data object type describes the options for the\n*VirtualPCIPassthroughDeviceBackingInfo* data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughDvxBackingOption": {
        "type": "object",
        "description": "Describes the options for\n*VirtualPCIPassthroughDvxBackingInfo*.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughDvxBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughDvxBackingOption*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughDvxBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughDynamicBackingOption": {
        "type": "object",
        "description": "This data object type describes the options for the\n*VirtualPCIPassthroughDynamicBackingInfo* data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughDynamicBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughDynamicBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughDynamicBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughPluginBackingOption": {
        "type": "object",
        "description": "This data object type describes the options for the\n*VirtualPCIPassthroughPluginBackingInfo* data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughPluginBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughPluginBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughPluginBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCIPassthroughVmiopBackingOption": {
        "type": "object",
        "description": "This data object type describes the options for the\n*VirtualPCIPassthroughVmiopBackingInfo* data object type.\n",
        "properties": {
          "vgpu": {
            "description": "Parameter indicating which GPU profile the plugin should emulate.\n\nSee also *ConfigTarget.sharedGpuPassthroughTypes*.\n",
            "$ref": "#/components/schemas/StringOption"
          },
          "maxInstances": {
            "description": "Maximum number of instances of this backing type allowed\nper virtual machine.\n\nThis is a parameter of the plugin\nitself, which may support only a limited number of\ninstances per virtual machine.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vgpu",
          "maxInstances"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualPCIPassthroughPluginBackingOption"
          }
        ]
      },
      "ArrayOfVirtualPCIPassthroughVmiopBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPCIPassthroughVmiopBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCIPassthroughVmiopBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCNet32": {
        "type": "object",
        "description": "This data object type defines the properties\nof an AMD Lance PCNet32 Ethernet card attached to a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCard"
          }
        ]
      },
      "ArrayOfVirtualPCNet32": {
        "type": "object",
        "description": "A boxed array of *VirtualPCNet32*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCNet32"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPCNet32Option": {
        "type": "object",
        "description": "The VirtualPCNet32Option data object type defines the options for the\nVirtualPCNet32 data object type.\n\nExcept for the boolean\nsupportsMorphing option, the options are inherited from the\n*VirtualEthernetCardOption* data\nobject type.\n",
        "properties": {
          "supportsMorphing": {
            "description": "Indicates that this Ethernet card supports morphing into vmxnet when\nappropriate.\n\nThis means that, if supportsMorphing=\"true\", the virtual\nAMD Lance PCNet32 Ethernet card becomes a vmxnet Ethernet card\nwith its added performance capabilities when appropriate.\n",
            "type": "boolean"
          }
        },
        "required": [
          "supportsMorphing"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCardOption"
          }
        ]
      },
      "ArrayOfVirtualPCNet32Option": {
        "type": "object",
        "description": "A boxed array of *VirtualPCNet32Option*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPCNet32Option"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPS2Controller": {
        "type": "object",
        "description": "The VirtualPS2Controller data object type represents a controller\nfor keyboards and mice.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualPS2Controller": {
        "type": "object",
        "description": "A boxed array of *VirtualPS2Controller*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPS2Controller"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPS2ControllerOption": {
        "type": "object",
        "description": "The VirtualPS2ControllerOption data object type contains the options\nfor a virtual PS/2 controller for keyboards and mice.\n\nIn addition to\nthe options defined in the *VirtualControllerOption* data object type, these options include the\nnumber of keyboards and mice.\n",
        "properties": {
          "numKeyboards": {
            "description": "The minimum, maximum, and default number of keyboards you can\nhave at any given time.\n\nThis is further constrained by the number\nof available slots in the PS/2 controller. The minimum, maximum,\nand default are integers defined by three properties:\n- **numKeyBoards.min**: the minimum.\n- **numKeyBoards.max**: the maximum.\n- **numKeyBoards.defaultValue**: the default number.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numPointingDevices": {
            "description": "The minimum, maximum, and default number of mice you can\nhave at any given time.\n\nThe number of mice is also limited by the number\nof available slots in the PS/2 controller. The minimum, maximum, and\ndefault are integers defined by three properties:\n- **numPointingDevices.min**: the minimum.\n- **numPointingDevices.max**: the maximum.\n- **numPointingDevices.defaultValue**: the default number.\n",
            "$ref": "#/components/schemas/IntOption"
          }
        },
        "required": [
          "numKeyboards",
          "numPointingDevices"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualPS2ControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPS2ControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPS2ControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualParallelPort": {
        "type": "object",
        "description": "This data object type represents a parallel port\nin a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualParallelPort": {
        "type": "object",
        "description": "A boxed array of *VirtualParallelPort*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualParallelPort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualParallelPortDeviceBackingInfo": {
        "type": "object",
        "description": "The data object type for a device backing of a virtual parallel port.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualParallelPortDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualParallelPortDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualParallelPortDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualParallelPortFileBackingInfo": {
        "type": "object",
        "description": "The data object type for a file backing of a virtual parallel port.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualParallelPortFileBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualParallelPortFileBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualParallelPortFileBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualParallelPortOption": {
        "type": "object",
        "description": "This data object type contains the options for the\nvirtual parallel port class.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualParallelPortOption": {
        "type": "object",
        "description": "A boxed array of *VirtualParallelPortOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualParallelPortOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualParallelPortDeviceBackingOption": {
        "type": "object",
        "description": "Data object type that represents the options for a device backing\nof a virtual parallel port.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualParallelPortDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualParallelPortDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualParallelPortDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualParallelPortFileBackingOption": {
        "type": "object",
        "description": "Data object type that represents the options for a file backing\nof a virtual parallel port.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualParallelPortFileBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualParallelPortFileBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualParallelPortFileBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPointingDevice": {
        "type": "object",
        "description": "The VirtualPointingDevice data object type contains information about\nthe mouse type on a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualPointingDevice": {
        "type": "object",
        "description": "A boxed array of *VirtualPointingDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPointingDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPointingDeviceDeviceBackingInfo": {
        "type": "object",
        "description": "The VirtualPointingDevice.DeviceBackingInfo provides information about\nthe physical mouse backing the VirtualPointingDevice data object\ntype.\n",
        "properties": {
          "hostPointingDevice": {
            "description": "This optional property defines the mouse type (two-button,\nthree-button, and so on).\n\nThe mouse type\ndetermines how the user interacts with the host mouse.\nThe valid values are specified in the\n*VirtualPointingDeviceHostChoice_enum* list.\n\n**Note**: The value specified by this property must be\none of the supported types listed in the hostPointingDevices.value\narray in the *VirtualPointingDeviceOption* data object type. If this property is\nnot set, then the property defaults to the\nhostPointingDevices.defaultIndex property in the same data\nobject type.\n",
            "type": "string"
          }
        },
        "required": [
          "hostPointingDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualPointingDeviceDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualPointingDeviceDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPointingDeviceDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPointingDeviceOption": {
        "type": "object",
        "description": "The VirtualPointingDeviceOption data object type contains the options\nfor the host mouse type defined in the\n*VirtualPointingDevice* data object type.\n\nThese options include the valid selections for the mouse type, the supported\nmouse types, and the default mouse type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualPointingDeviceOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPointingDeviceOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPointingDeviceOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPointingDeviceBackingOption": {
        "type": "object",
        "description": "The DeviceBackingOption data object type represents\nthe options for a pointing device backing a\nVirtualPointingDevice data object type.\n",
        "properties": {
          "hostPointingDevice": {
            "description": "This object defines the supported mouse types, including the default\nsupported mouse type, with the following properties:\n- **hostPointingDevices.value**: This array defines the\n  supported mouse types.\n- **hostPointingDevices.choiceDescription**: This array\n  provides the descriptions for the supported mouse types defined by\n  hostPointingDevices.value.\n- **hostPointingDevices.defaultIndex**: This integer points\n  to an index in the hostPointingDevices.value array. This is the\n  mouse type supported by default.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          }
        },
        "required": [
          "hostPointingDevice"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualPointingDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPointingDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPointingDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPrecisionClock": {
        "type": "object",
        "description": "This data object type represents a virtual clock device providing\nprecision time in a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualPrecisionClock": {
        "type": "object",
        "description": "A boxed array of *VirtualPrecisionClock*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPrecisionClock"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPrecisionClockSystemClockBackingInfo": {
        "type": "object",
        "description": "The *VirtualPrecisionClockSystemClockBackingInfo*\ndata object contains information about using host system clock as the\nbacking reference clock for this virtual device.\n",
        "properties": {
          "protocol": {
            "description": "The time synchronization protocol used to discipline system clock.\n\nSee *HostDateTimeInfoProtocol_enum* for valid values.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualPrecisionClockSystemClockBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualPrecisionClockSystemClockBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPrecisionClockSystemClockBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPrecisionClockOption": {
        "type": "object",
        "description": "The VirtualPrecisionClockOption data object type describes the\noptions for the *VirtualPrecisionClock* data\nobject type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualPrecisionClockOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPrecisionClockOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPrecisionClockOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualPrecisionClockSystemClockBackingOption": {
        "type": "object",
        "description": "This data object type describes the options for the\n*VirtualPrecisionClockSystemClockBackingInfo*\nVirtualPrecisionClockSystemClockBackingInfo} data object type.\n",
        "properties": {
          "protocol": {
            "description": "Parameter indicating the protocol used to discipline the\nhost system clock.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          }
        },
        "required": [
          "protocol"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualPrecisionClockSystemClockBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualPrecisionClockSystemClockBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPrecisionClockSystemClockBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSATAController": {
        "type": "object",
        "description": "The VirtualSATAController data object type represents\na SATA controller in a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualSATAController": {
        "type": "object",
        "description": "A boxed array of *VirtualSATAController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSATAController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSATAControllerOption": {
        "type": "object",
        "description": "The VirtualSATAControllerOption data object type contains the options\nfor a virtual SATA controller defined by the\n*VirtualSATAController*\ndata object type.\n",
        "properties": {
          "numSATADisks": {
            "description": "Three properties (numSATADisks.min, numSATADisks.max, and\nnumSATADisks.defaultValue) define the minimum, maximum, and default\nnumber of SATA VirtualDisk instances available at any given time in the\nSATA controller.\n\nThe number of SATA VirtualDisk instances is\nalso limited by the number of available slots in the SATA controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSATACdroms": {
            "description": "Three properties (numSATACdroms.min, numSATACdroms.max, and\nnumSATACdroms.defaultValue) define the minimum, maximum, and default\nnumber of SATA VirtualCdrom instances available\nin the SATA controller.\n\nThe number of SATA VirtualCdrom instances is\nalso limited by the number of available slots in the SATA controller.\n",
            "$ref": "#/components/schemas/IntOption"
          }
        },
        "required": [
          "numSATADisks",
          "numSATACdroms"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualSATAControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSATAControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSATAControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSCSIController": {
        "type": "object",
        "description": "The VirtualSCSIController data object type represents\na SCSI controller in a virtual machine.\n",
        "properties": {
          "hotAddRemove": {
            "description": "All SCSI controllers support hot adding and removing of devices.\n\nThis\nsupport can't be toggled in the current implementation. Therefore, this\noption is ignored when reconfiguring a SCSI controller and is always set\nto \"true\" when reading an existing configuration.\n",
            "type": "boolean"
          },
          "sharedBus": {
            "description": "Mode for sharing the SCSI bus.\n\nThe modes are physicalSharing,\nvirtualSharing, and noSharing. See the\n*Sharing*\ndata object type for an explanation of these modes.\n",
            "$ref": "#/components/schemas/VirtualSCSISharing_enum"
          },
          "scsiCtlrUnitNumber": {
            "description": "The unit number of the SCSI controller.\n\nThe SCSI controller sits on its\nown bus, so this field defines which slot the controller is using.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "sharedBus"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualSCSIController": {
        "type": "object",
        "description": "A boxed array of *VirtualSCSIController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSCSIController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSCSIControllerOption": {
        "type": "object",
        "description": "The VirtualSCSIControllerOption data object type contains the options\nfor a virtual SCSI controller defined by the\n*VirtualSCSIController*\ndata object type.\n",
        "properties": {
          "numSCSIDisks": {
            "description": "Three properties (numSCSIDisks.min, numSCSIDisks.max, and\nnumSCSIDisks.defaultValue) define the minimum, maximum, and default\nnumber of SCSI VirtualDisk instances available at any given time in the\nSCSI controller.\n\nThe number of SCSI VirtualDisk instances is\nalso limited by the number of available slots in the SCSI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSCSICdroms": {
            "description": "Three properties (numSCSICdroms.min, numSCSICdroms.max, and\nnumSCSICdroms.defaultValue) define the minimum, maximum, and default\nnumber of SCSI VirtualCdrom instances available\nin the SCSI controller.\n\nThe number of SCSI VirtualCdrom instances is\nalso limited by the number of available slots in the SCSI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSCSIPassthrough": {
            "description": "Three properties (numSCSIPassthrough.min, numSCSIPassthrough.max, and\nnumSCSIPassthrough.defaultValue) define the minimum, maximum, and\ndefault number of VirtualSCSIPassthrough instances available\nhave at any given time in the SCSI controller.\n\nThe number of\nVirtualSCSIPassthrough instances is also limited by the number of\navailable slots in the SCSI controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "sharing": {
            "description": "Supported shared bus modes.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSCSISharing_enum"
            }
          },
          "defaultSharedIndex": {
            "description": "Index into sharing array specifying the default value.\n",
            "type": "integer",
            "format": "int32"
          },
          "hotAddRemove": {
            "description": "All SCSI controllers support hot adding and removing of devices.\n\nThis\nsupport can't be toggled in the current implementation. Therefore, this\noption is ignored when reconfiguring a SCSI controller and is always set\nto \"true\" when reading an existing configuration.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "scsiCtlrUnitNumber": {
            "description": "The unit number of the SCSI controller.\n\nThe SCSI controller sits on its\nown bus, so that this field defines which slot the controller will use.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "numSCSIDisks",
          "numSCSICdroms",
          "numSCSIPassthrough",
          "sharing",
          "defaultSharedIndex",
          "hotAddRemove",
          "scsiCtlrUnitNumber"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualSCSIControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSCSIControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSCSIControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSCSIPassthrough": {
        "type": "object",
        "description": "The VirtualSCSIPassthrough data object type contains information about a\nSCSI device on the virtual machine that is being backed by\na generic SCSI device on the host via passthrough.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualSCSIPassthrough": {
        "type": "object",
        "description": "A boxed array of *VirtualSCSIPassthrough*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSCSIPassthrough"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSCSIPassthroughDeviceBackingInfo": {
        "type": "object",
        "description": "The VirtualSCSIPassthrough.DeviceBackingInfo data object type\ncontains information about the backing that maps the\nvirtual device onto a physical device.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualSCSIPassthroughDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualSCSIPassthroughDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSCSIPassthroughDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSCSIPassthroughOption": {
        "type": "object",
        "description": "The VirtualSCSIPassthroughOption data object type describes the options\nfor the\n*VirtualSCSIPassthrough*\ndata object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualSCSIPassthroughOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSCSIPassthroughOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSCSIPassthroughOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSCSIPassthroughDeviceBackingOption": {
        "type": "object",
        "description": "This data object type describes\nthe options for the\n*VirtualSCSIPassthroughDeviceBackingInfo* data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualSCSIPassthroughDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSCSIPassthroughDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSCSIPassthroughDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSIOController": {
        "type": "object",
        "description": "This data object type defines a\nSuper IO Controller for floppy drives, parallel ports,\nand serial ports.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualSIOController": {
        "type": "object",
        "description": "A boxed array of *VirtualSIOController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSIOController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSIOControllerOption": {
        "type": "object",
        "description": "The VirtualSIOControllerOption data object type contains the options\nfor a virtual Super IO Controller.\n",
        "properties": {
          "numFloppyDrives": {
            "description": "Three properties (numFloppyDrives.min, numFloppyDrives.max, and\nnumFloppyDrives.defaultValue) define the minimum, maximum, and default\nnumber of floppy drives you can have at any given time in the Super IO\nController.\n\nThis is further constrained by the number of available\nslots in the Super IO Controller.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numSerialPorts": {
            "description": "Three properties (numSerialPorts.min, numSerialPorts.max, and\nnumSerialPorts.defaultValue) define the minimum, maximum, and default\nnumber of serial ports you can\nhave at any given time in the Super IO Controller.\n\nThis is further\nconstrained by the number of available slots in the Super IO\nController.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "numParallelPorts": {
            "description": "Three properties (numParallelPorts.min, numParallelPorts.max, and\nnumParallelPorts.defaultValue) define the minimum, maximum, and default\nnumber of parallel ports you can\nhave at any given time in the Super IO controller.\n\nThis is further\nconstrained by the number of available slots in the Super IO\nController.\n",
            "$ref": "#/components/schemas/IntOption"
          }
        },
        "required": [
          "numFloppyDrives",
          "numSerialPorts",
          "numParallelPorts"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualSIOControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSIOControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSIOControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPort": {
        "type": "object",
        "description": "The <code>*VirtualSerialPort*</code> data object represents a serial port\non a virtual machine.\n\nA virtual serial port uses one of the following backing types to specify\nhow the virtual machine performs serial port operations.\n- Network backing (<code>*VirtualSerialPortURIBackingInfo*</code>)\n  supports a connection between the virtual machine and a resource\n  on the network. The virtual machine can initiate a connection with\n  the network resource, or it can listen for connections originating\n  from the network.\n- Pipe backing (<code>*VirtualSerialPortPipeBackingInfo*</code>)\n  supports I/O through a named pipe. The pipe connects the virtual machine\n  to a host application or a virtual machine on the same host.\n- File backing (<code>*VirtualSerialPortFileBackingInfo*</code>)\n  supports output through the virtual serial port to a file on the same host.\n- Physical serial port backing\n  (<code>*VirtualSerialPortDeviceBackingInfo*</code>)\n  supports a connection between the virtual machine and a\n  device that is connected to a physical serial port on the host.\n- ThinPrint backing (<code>*VirtualSerialPortThinPrintBackingInfo*</code>)\n  provides driver-free printing.\n  \nWhen you use network backing, you can also configure a virtual serial port\nto use a virtual serial port concentrator. The virtual machine initiates\na telnet connection with the concentrator, and the concentrator acts\nas a proxy between the virtual machine and a system on the network.\nBy using a virtual serial port concentrator, you can maintain the connection\nbetween the virtual machine and the network resource\nwhen a vMotion event moves the virtual machine from one host to another.\nWithout a virtual serial port concentrator, the connection would be lost.\nFor information about using a serial port concentrator,\nsee _Using a Proxy with vSphere Virtual Serial Ports_.\n\nYou can configure a virtual serial port when you create or reconfigure\na virtual machine. For example, to create a virtual serial port\nwith network backing, use the following sequence of operations.\nIn this procedure, the virtual serial port uses a proxy and will accept\na network connection.\n1. Use the <code>*EnvironmentBrowser.QueryConfigOption*</code> method\n   to determine the backing options that are available on a host.\n   The method returns a <code>*VirtualMachineConfigOption*</code> data object.\n   The virtual machine configuration data includes a list of backing options\n   (<code>*VirtualDeviceOption.backingOption*</code>).\n   The following pseudocode shows the path to the backing options.\n   \n   \n   &nbsp;&nbsp;&nbsp;&nbsp;<code>*VirtualMachineConfigOption*.hardwareOptions.VirtualDeviceOption\\[\\].backingOption\\[\\]</code>\n   \n   \n   The array of virtual device options can include a virtual serial port\n   (<code>*VirtualSerialPortOption*</code>). The array of serial port\n   backing options can include URI, file, pipe, or device backing options.\n2. Use the <code>*Folder.CreateVM_Task*</code> method\n   (or the <code>*ResourcePool.CreateChildVM_Task*</code> method)\n   to create the virtual machine and configure the virtual serial port backing.\n   Create a <code>*VirtualMachineConfigSpec*</code> data object and nested\n   data objects for the method's <code>config</code> parameter.\n   The following pseudocode shows the resulting path to the backing\n   information.\n   \n   \n   &nbsp;&nbsp;&nbsp;&nbsp;<code>*VirtualMachineConfigSpec*.deviceChange\\[\\].device.backing</code>\n   \n   \n   Set the direction property to \"server\" to direct the virtual machine to accept\n   a connection. Set the serviceURI property to the URI for the host on which\n   the virtual machine runs.\n   \nIf you use physical device backing\n(<code>*VirtualSerialPortDeviceBackingOption*</code>),\nyou should also use the <code>*EnvironmentBrowser.QueryConfigTarget*</code>\nmethod to determine if a serial device is available before configuring device backing.\n",
        "properties": {
          "yieldOnPoll": {
            "description": "Enables CPU yield behavior.\n\nIf you set <code>yieldOnPoll</code> to <code>true</code>,\nthe virtual machine will periodically relinquish the processor if its sole task\nis polling the virtual serial port. The amount of time it takes to regain\nthe processor will depend on the degree of other virtual machine activity on the host.\n\nTo use this property, the CPU yield option must be supported. (See the\n<code>*VirtualSerialPortOption.yieldOnPoll*</code> property for\nthe virtual serial port option object.)\n",
            "type": "boolean"
          }
        },
        "required": [
          "yieldOnPoll"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualSerialPort": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPort*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPort"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortDeviceBackingInfo": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortDeviceBackingInfo*</code> data object\ndefines information for using a host serial port device as backing for a\n<code>*VirtualSerialPort*</code>.\n\nOn a host, the first virtual machine\nto configure physical device backing for a virtual serial port will obtain\nthe mapping. As long as that machine maintains the backing, any additional attempts\nto configure backing using that device will fail (a recoverable error, see\nthe connection info <code>*VirtualDeviceConnectInfo.status*</code>).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualSerialPortDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortFileBackingInfo": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortFileBackingInfo*</code> data object provides\ninformation for backing a virtual serial port with a host file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualSerialPortFileBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortFileBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortFileBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortPipeBackingInfo": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortPipeBackingInfo*</code> data object defines information\nfor backing a <code>*VirtualSerialPort*</code> with a named pipe.\n\nYou can use a pipe to connect a virtual serial port to a host\napplication or to another virtual machine on the host computer.\nThis is useful for capturing debugging information sent through\nthe virtual serial port.\n",
        "properties": {
          "endpoint": {
            "description": "Indicates the role the virtual machine assumes as an endpoint\nfor the pipe.\n\nThe valid values are \"client\" or \"server\".\n",
            "type": "string"
          },
          "noRxLoss": {
            "description": "Enables optimized data transfer over the pipe.\n\nWhen you use this feature,\nthe ESX server buffers data to prevent data overrun.\nThis allows the virtual machine to read\nall of the data transferred over the pipe with no data loss.\nTo use optimized data transfer, set <code>noRxLoss</code> to <code>true</code>.\nTo disable this feature, set the property to <code>false.\n\nThis property is optional. If this property is not set, the ESX server\nuses the default value specified in the pipe backing options\n(noRxLoss.defaultValue - see\n<code>*VirtualSerialPortPipeBackingOption.noRxLoss*</code>\nin the pipe backing option object).\n\nTo use this property, optimized data transfer must be supported on the host.\n(See <code>*VirtualSerialPortPipeBackingOption.noRxLoss*</code>\nin the pipe backing option object.)\nIf the ESX server does not support the option, it ignores the\n<code>noRxLoss</code> setting in the pipe backing information object.\n\n**Note**: You can use this feature even if the other end of the pipe\nis not an application, but this is more likely to fail.\n",
            "type": "boolean"
          }
        },
        "required": [
          "endpoint"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevicePipeBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualSerialPortPipeBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortPipeBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortPipeBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortThinPrintBackingInfo": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortThinPrintBackingInfo*</code> data object defines\ninformation required for backing a <code>*VirtualSerialPort*</code> with a\nThinPrint device.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualSerialPortThinPrintBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortThinPrintBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortThinPrintBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortURIBackingInfo": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortURIBackingInfo*</code> data object\nspecifies network backing for a <code>*VirtualSerialPort*</code>.\n\nYou can use URI backing to create a network serial port on the virtual machine,\nsupporting connections between the virtual machine and remote systems.\n\nWhen a virtual machine establishes a connection with a remote system on the network,\nthe virtual machine can act as a server or a client. When the virtual machine\nacts as a server, it accepts a connection. When the virtual machine acts as a client,\nit initiates the connection.\n\nYou can configure the virtual serial port for communication through a\nvirtual serial port concentrator that acts as a proxy between the virtual\nmachine and the network. When you specify a\n<code>*VirtualDeviceURIBackingInfo.proxyURI*</code>,\nthe virtual machine initiates the connection with the concentrator\nand forwards the <code>*VirtualDeviceURIBackingInfo.direction*</code>\nand <code>*VirtualDeviceURIBackingInfo.serviceURI*</code>\nto the concentrator.\nFor information about using a virtual serial port concentrator,\nsee _Using a Proxy with vSphere Virtual Serial Ports_.\n\nESX hosts support different protocols depending on your virtual serial port configuration.\n- If the virtual machine is handling the network connection\n  directly (no <code>*VirtualDeviceURIBackingInfo.proxyURI*</code> specified),\n  you can use telnet, TCP, and SSL protocols.\n  The <code>*VirtualDeviceURIBackingInfo.serviceURI*</code>\n  must use one of the following URI schemes:\n  - <code>&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of\n    <code>tcp://&lt;host&gt;:&lt;port&gt;</code>.\n  - <code>tcp://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection\n    (IPv4 or IPv6).\n  - <code>tcp4://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection\n    (IPv4 only).\n  - <code>tcp6://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection\n    (IPv6 only).\n  - <code>ssl://&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of\n    <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code>.\n  - <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code> - encrypted SSL over TCP.\n  - <code>tcp4+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv4.\n  - <code>tcp6+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv6.\n  - <code>telnet://&lt;host&gt;:&lt;port&gt;</code> - telnet over TCP.\n    The virtual machine and remote system can negotiate and use SSL if the remote\n    system supports the telnet authentication option; if not, the connection\n    uses unencrypted text (plaintext).\n  - <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP.\n    In this case, SSL negotiation begins immediately and you cannot use\n    the telnet authentication option.\n    \n  As of vSphere 5.1 you can specify authentication parameters to support an encrypted\n  connection with a remote system using SSL over telnet or telnets.\n  The connection will fail if the peer does not support the protocols.\n  You cannot use certificate verification when you specify\n  <code>tcp</code>, <code>tcp4</code>, or <code>tcp6</code> schemas. For information\n  about parameter specification, see <a href=\"#authparam\">Authentication Parameters</a>\n  below.\n- If you are using a <code>*VirtualDeviceURIBackingInfo.proxyURI*</code>\n  to connect to a virtual serial port concentrator, the URI scheme for\n  the communication between the remote system on the network and the concentrator\n  depends on the concentrator implementation. The connection between\n  the concentrator and the virtual serial port must use telnet or secure telnet\n  (telnets). The proxy URI must use one of the following URI schemes. You cannot\n  specify a username and password in the proxy URI.\n  - <code>telnet://&lt;host&gt;:&lt;port&gt;</code>- telnet over TCP.\n    The virtual machine and remote system can negotiate and use SSL if the remote\n    system supports the telnet authentication option; if not, the connection\n    uses unencrypted text (plaintext).\n  - <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP.\n    In this case, SSL negotiation starts immediately and you cannot use\n    the telnet authentication option.\n    \n  As of vSphere 5.1 you can specify authentication parameters to support an encrypted\n  connection with a concentrator using SSL over telnet or telnets.\n  The connection will fail if the concentrator does not support the protocols.\n  For information about parameter specification,\n  see <a href=\"#authparam\">Authentication Parameters</a> below.\n  \n<a name=\"authparam\"></a>\n**Authentication Parameters**  \n  \nFor an encrypted connection, the URI includes a set of authentication\nparameters. The parameters are specified as key words or key/value pairs.\nThe following syntax description uses <code>telnet</code>; you can also\nspecify authentication parameters for secure telnet (<code>telnets</code>).\n\n<code>telnet://&lt;host&gt;:&lt;port&gt;&num;key\\[=value\\]\\[&amp;key\\[=value\\] ...\\]</code>\n\nThe first parameter must have a number sign (&num;) prefix. Additional parameters\nmust have an ampersand (&amp;) prefix. The following list shows the valid parameters.\n- <code>certificate=value</code> - Specifies a certificate in PEM format\n  against which the peer certificate is compared.\n  When you specify a certificate, certificate verification is automatically enabled.\n  See the description of the <code>verify</code> parameter below.\n- <code>thumbprint=value</code> - Specifies a certificate thumbprint against\n  which the peer certificate thumbprint is compared. When you specify a thumbprint,\n  certificate verification is automatically enabled. See the description of the\n  <code>verify</code> parameter below.\n- <code>peerName=value</code> - Specifies the peer name that will be used\n  to validate the peer certificate. When you specify a peer name,\n  certificate verification is automatically enabled. See the description of the\n  <code>verify</code> parameter below.\n- <code>verify</code> - Forces certificate verification. The virtual machine\n  will verify that the peer certificate subject matches the specified\n  <code>peerName</code> and that it was signed by a certificate authority\n  known to the ESXi host. Verification is automatically enabled if you specify a\n  <code>certificate</code>, <code>thumbprint</code>, or <code>peerName</code>.\n- <code>cipherList=value</code> - Specifies a list of SSL ciphers.\n  See <a href=\"http://www.openssl.org/docs/apps/ciphers.html\">OpenSSL ciphers</a>.\n  The ciphers are specified as a list separated by colons, spaces, or commas.\n  \nFor information about URI format, see\n<a href=\"http://www.ietf.org/rfc/rfc2396.txt\">RFC 2396</a>.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceURIBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualSerialPortURIBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortURIBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortURIBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortOption": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortOption*</code> data object contains the options\nfor configuring the virtual serial port device defined by the\n<code>*VirtualSerialPort*</code> data object.\n\nThese options include information about how the device is backed\nphysically on the host: by a network socket, a host file, a host serial port device,\nor a pipe to another process.\n",
        "properties": {
          "yieldOnPoll": {
            "description": "Indicates whether the virtual machine supports the CPU yield option during\nvirtual serial port polling.\n\nWhen this feature is supported and enabled,\nthe virtual machine will periodically relinquish the processor if its\nsole task is polling the virtual serial port.\n\nIf <code>yieldOnPoll.supported</code> is <code>false</code>, the virtual\nmachine ignores the virtual serial port object setting for\n<code>*VirtualSerialPort.yieldOnPoll*</code>.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "yieldOnPoll"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualSerialPortOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortDeviceBackingOption": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortDeviceBackingOption*</code> data object type\ncontains the options for backing a serial port with a host serial port device.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualSerialPortDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortFileBackingOption": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortFileBackingOption*</code> data object type\ncontains the options for backing a serial port with a host file.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceFileBackingOption"
          }
        ]
      },
      "ArrayOfVirtualSerialPortFileBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortFileBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortFileBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortPipeBackingOption": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortPipeBackingOption*</code> data object contains\nthe options for backing a serial port device with a pipe to another process.\n",
        "properties": {
          "endpoint": {
            "description": "Indicates the choices available and the default setting\nfor the pipe endpoint.\n\nAs an endpoint, the virtual machine can act\nas a client or a server.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "noRxLoss": {
            "description": "Indicates whether the server supports optimized data transfer\nover the pipe and also specifies default behavior.\n\nWhen this feature is supported and enabled, the server buffers data\nto prevent data overrun. This allows the virtual machine to read all\nof the data transferred over the pipe with no data loss.\n\nIf optimized data transfer is supported (<code>noRxLoss.supported</code>\nis <code>true</code>):\n- You can enable (or disable) the feature explicitly by setting the\n  <code>*VirtualSerialPortPipeBackingInfo.noRxLoss*</code>\n  property on the pipe backing information object.\n- If you do not set the\n  <code>*VirtualSerialPortPipeBackingInfo.noRxLoss*</code>\n  property on the\n  the pipe backing information object, the server enables\n  optimized data transfer if the <code>noRxLoss.defaultValue</code>\n  property on the pipe backing options object is <code>true</code>.\n  \nIf <code>noRxLoss.supported</code> is <code>false</code>, the server\nignores the optimization settings.\n\n**Note**: You can use this feature even if the other end of the pipe\nis not an application, but it is more likely to fail.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "endpoint",
          "noRxLoss"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevicePipeBackingOption"
          }
        ]
      },
      "ArrayOfVirtualSerialPortPipeBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortPipeBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortPipeBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortThinPrintBackingOption": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortThinPrintBackingOption*</code> data\nobject type contains the options for backing a serial port with a ThinPrint device.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualSerialPortThinPrintBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortThinPrintBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortThinPrintBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortURIBackingOption": {
        "type": "object",
        "description": "The <code>*VirtualSerialPortURIBackingOption*</code> data object type\ncontains the options for using a network socket as backing for a virtual serial port.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceURIBackingOption"
          }
        ]
      },
      "ArrayOfVirtualSerialPortURIBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSerialPortURIBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSerialPortURIBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSoundBlaster16": {
        "type": "object",
        "description": "The VirtualSoundBlaster16 data object type represents a Sound\nBlaster 16 sound card in a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSoundCard"
          }
        ]
      },
      "ArrayOfVirtualSoundBlaster16": {
        "type": "object",
        "description": "A boxed array of *VirtualSoundBlaster16*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSoundBlaster16"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSoundBlaster16Option": {
        "type": "object",
        "description": "The VirtualSoundBlaster16Option data object type contains the options for a\nvirtual SoundBlaster 16 sound card.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualSoundCardOption"
          }
        ]
      },
      "ArrayOfVirtualSoundBlaster16Option": {
        "type": "object",
        "description": "A boxed array of *VirtualSoundBlaster16Option*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSoundBlaster16Option"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSoundCard": {
        "type": "object",
        "description": "This data object type represents a sound card in\na virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualSoundCard": {
        "type": "object",
        "description": "A boxed array of *VirtualSoundCard*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSoundCard"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSoundCardDeviceBackingInfo": {
        "type": "object",
        "description": "The sound card device backing data class.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualSoundCardDeviceBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualSoundCardDeviceBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSoundCardDeviceBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSoundCardOption": {
        "type": "object",
        "description": "The VirtualSoundCardOption data class contains the options for the\nvirtual sound card class.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualSoundCardOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSoundCardOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSoundCardOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSoundCardDeviceBackingOption": {
        "type": "object",
        "description": "The VirtualSoundCardBackingOption class contains the options\nfor the virtual sound card backing class.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualSoundCardDeviceBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSoundCardDeviceBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSoundCardDeviceBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSriovEthernetCard": {
        "type": "object",
        "description": "The *VirtualSriovEthernetCard* data object defines the properties\nof a SR-IOV enabled Ethernet card attached to a virtual machine.\n",
        "properties": {
          "allowGuestOSMtuChange": {
            "description": "Indicates whether MTU can be changed from guest OS.\n",
            "type": "boolean"
          },
          "sriovBacking": {
            "description": "Information about SR-IOV passthrough backing of this VirtualSriovEthernetCard.\n\nDuring an edit operation, if this value is unset, no changes to the\nSR-IOV backing will be made. During an add operation, if this is unset,\nan automatic physical function assignment scheme as described above will be used.\nThis field is ignored and must be unset if this VirtualSriovEthernetCard\nis a DVX device, in which case the dvxBackingInfo field is set. In other\nwords, sriovBacking and dvxBackingInfo cannot both be set at any time.\n",
            "$ref": "#/components/schemas/VirtualSriovEthernetCardSriovBackingInfo"
          },
          "dvxBackingInfo": {
            "description": "Information about DVX backing of this VirtualSriovEthernetCard.\n\nThis field is set if and only if this VirtualSriovEthernetCard is a DVX\ndevice.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/VirtualPCIPassthroughDvxBackingInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCard"
          }
        ]
      },
      "ArrayOfVirtualSriovEthernetCard": {
        "type": "object",
        "description": "A boxed array of *VirtualSriovEthernetCard*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSriovEthernetCard"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSriovEthernetCardSriovBackingInfo": {
        "type": "object",
        "description": "The *VirtualSriovEthernetCardSriovBackingInfo*\ndata object contains information about the SR-IOV physical function and\nvirtual function backing for a passthrough NIC.\n",
        "properties": {
          "physicalFunctionBacking": {
            "description": "Physical function backing for this device.\n\nA specific physical function can be assigned to the device by specifying\nits id but the VirtualSriovNetworkCard can also be configured for automatic physical\nfunction assignment by providing a special value \"Automatic-0000:00:00.0\"\nas *VirtualPCIPassthroughDeviceBackingInfo.id*. This is supported if there is\nan associated SR-IOV network device pool for the network specified in\n*VirtualDevice.backing* - in that case a physical function from\nthe pool, if available, will be assigned to this device during power on.\nDuring reconfigure, if an SR-IOV backing is provided, the physical function backing\nmay not be left unset.\nA value of \"Automatic-\" followed by a valid physical function id\nin *VirtualPCIPassthroughDeviceBackingInfo.id* indicates that assignment\nis automatic and the physical function in question is the one that has currently\nbeen assigned.\n",
            "$ref": "#/components/schemas/VirtualPCIPassthroughDeviceBackingInfo"
          },
          "virtualFunctionBacking": {
            "description": "Virtual function backing for this device.\n\nDuring reconfigure, if this is unset, any currently assigned virtual function\nwill be overwritten and a new one will be selected. If\n*VirtualPCIPassthroughDeviceBackingInfo.id* contains a valid id for\na virtual function of the currently assigned physical function, this acts as\na hint and, if possible, the specified virtual function will be the one\nallocated for the device.\nWhen a virtual function is yet to be assigned to the device (e.g. if the VM\nhas not been powered on yet), the virtual function backing will be unset.\n",
            "$ref": "#/components/schemas/VirtualPCIPassthroughDeviceBackingInfo"
          },
          "virtualFunctionIndex": {
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualSriovEthernetCardSriovBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualSriovEthernetCardSriovBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSriovEthernetCardSriovBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSriovEthernetCardOption": {
        "type": "object",
        "description": "The VirtualSriovEthernetCardOption data object contains the options for the\nVirtualSriovEthernetCard data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCardOption"
          }
        ]
      },
      "ArrayOfVirtualSriovEthernetCardOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSriovEthernetCardOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSriovEthernetCardOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSriovEthernetCardSriovBackingOption": {
        "type": "object",
        "description": "This data object contains the option for SriovBackingInfo data\nof the virtual network SR-IOV card object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualSriovEthernetCardSriovBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualSriovEthernetCardSriovBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSriovEthernetCardSriovBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualTPM": {
        "type": "object",
        "description": "This data object type represents a TPM 2.0 module\nin a virtual machine.\n",
        "properties": {
          "endorsementKeyCertificateSigningRequest": {
            "description": "Endorsement Key Certificate Signing Request in DER format.\n\nThere may be more than one - one for RSA 2048, one for ECC NIST P256,\nand any number of other signing requests for other algorithms.\n",
            "type": "array",
            "items": {
              "type": "string",
              "format": "byte"
            }
          },
          "endorsementKeyCertificate": {
            "description": "Endorsement Key Certificate in DER format.\n\nThere may be more than one. Indices in this array do not match\nindices in *VirtualTPM.endorsementKeyCertificateSigningRequest* array,\nentries must be matched by comparing fields in DER data between\ncertificate signing requests and certificates.\n",
            "type": "array",
            "items": {
              "type": "string",
              "format": "byte"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualTPM": {
        "type": "object",
        "description": "A boxed array of *VirtualTPM*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualTPM"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualTPMOption": {
        "type": "object",
        "description": "This data object type contains the options for the\nvirtual TPM class.\n",
        "properties": {
          "supportedFirmware": {
            "description": "List of supported firmware selections, using\n*GuestOsDescriptorFirmwareType_enum* enumeration.\n\nThere is at least one value in this array.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualTPMOption": {
        "type": "object",
        "description": "A boxed array of *VirtualTPMOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualTPMOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSB": {
        "type": "object",
        "description": "The *VirtualUSB* data object describes the USB device configuration\nfor a virtual machine.\n\nYou can attach a USB device to an ESX host.\nThe device is available to only one virtual machine at a time. When you remove\nthe device from the virtual machine, it becomes available to other virtual machines\nlocated on the host. You can add up to 20 USB devices to a virtual machine.\nVirtual USB support requires virtual machine hardware version 7 or later.\n\nThe *VirtualUSB* object represents either a configuration to be applied to\nthe virtual machine or the current device configuration on the virtual machine.\n- To configure a USB connection for the virtual machine, add a *VirtualUSB*\n  object to the *VirtualDeviceConfigSpec*.\n  Use USB backing (*VirtualUSBUSBBackingInfo*) to establish\n  a connection with a virtual machine that will remain on the host to which\n  the USB device is attached.\n  The vSphere Server does not support vMotion for standard USB backing.\n  To configure vMotion support for a virtual machine with a USB connection,\n  use remote host backing for the USB connection\n  (*VirtualUSBRemoteHostBackingInfo*).\n  \n  To configure a USB device for a virtual machine, the virtual machine\n  must have a USB controller. To add a controller, include a\n  *VirtualUSBController* object in the virtual device\n  specification for your virtual machine configuration. You can add only one\n  USB controller to a virtual machine.\n- To determine USB device configuration status for the virtual machine,\n  check the virtual hardware device list\n  (*VirtualHardware*.*VirtualHardware.device*).\n  The presence of the *VirtualUSB* object in the hardware device list\n  indicates that the virtual machine is configured to use a USB device.\n  The *VirtualUSB.connected* property indicates\n  whether the virtual machine is connected to the device.\n  \nTo determine the USB options available on the host, use the\n*EnvironmentBrowser.QueryConfigOption* method to retrieve the virtual\nmachine configuration. The presence of the *VirtualUSBOption*\nobject in the retrieved configuration\n(*VirtualMachineConfigOption*.*VirtualMachineConfigOption.hardwareOptions*.*VirtualHardwareOption.virtualDeviceOption*)\nindicates that the host supports USB connections.\n\nThe following operations will disconnect a USB device, losing data if data transfer\nis in progress over the USB connection.\n- Hot add of memory, CPU, or PCI devices. A hot add operation disconnects only\n  USB devices for virtual machines that use a local connection to the device\n  (*VirtualUSBUSBBackingInfo*).\n- Suspend and resume on a virtual machine.\n- vMotion of a virtual machine with a USB connection,\n  if you are not using remote host USB backing.\n  \nThe following services do not support USB connections.\n- Fault Tolerance virtual machines cannot use USB devices.\n- DPM (Distributed Power Management) will put a host into standby,\n  regardless of any connections to USB devices on the host.\n- DRS (Distributed Resource Scheduling) may power-off hosts that have\n  USB connections to virtual machines.\n",
        "properties": {
          "connected": {
            "description": "Flag indicating whether the device is currently connected.\n\nThe virtual machine is not connected to the device if the autoconnect pattern\nspecified in the USB device backing\n(*VirtualDeviceDeviceBackingInfo*.*VirtualDeviceDeviceBackingInfo.deviceName*)\ncan not be satisfied, either\nbecause there is no such device, or the matching device is not\navailable. Valid only while the virtual machine is running.\n",
            "type": "boolean"
          },
          "vendor": {
            "description": "Vendor ID of the USB device.\n",
            "type": "integer",
            "format": "int32"
          },
          "product": {
            "description": "Product ID of the USB device.\n",
            "type": "integer",
            "format": "int32"
          },
          "family": {
            "description": "Device class families.\n\nFor possible values see\n*VirtualMachineUsbInfoFamily_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "speed": {
            "description": "Device speeds detected by server.\n\nFor possible values see\n*VirtualMachineUsbInfoSpeed_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "connected"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualUSB": {
        "type": "object",
        "description": "A boxed array of *VirtualUSB*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSB"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBRemoteClientBackingInfo": {
        "type": "object",
        "description": "The virtual remote client USB device backing class.\n",
        "properties": {
          "hostname": {
            "description": "Hostname of the remote client where the physical USB device resides.\n",
            "type": "string"
          }
        },
        "required": [
          "hostname"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceRemoteDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualUSBRemoteClientBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBRemoteClientBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBRemoteClientBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBRemoteHostBackingInfo": {
        "type": "object",
        "description": "The *VirtualUSBRemoteHostBackingInfo* data object\nidentifies a host and a USB device that is attached to the host.\n\nUse this object to configure support for persistent access to the USB device\nwhen vMotion operations migrate a virtual machine to a different host.\nThe vCenter Server will not migrate the virtual machine to a host\nthat does not support the USB remote host backing capability.\n\nSpecify remote host backing as part of the USB device configuration\nwhen you create or reconfigure a virtual machine\n(*VirtualMachineConfigSpec*.*VirtualMachineConfigSpec.deviceChange*.*VirtualDeviceConfigSpec.device*.*VirtualDevice.backing*).\n\nTo identify the USB device, you specify an autoconnect pattern\nfor the *VirtualDeviceDeviceBackingInfo.deviceName*.\nThe virtual machine can connect to the USB device if the ESX server\ncan find a USB device described by the autoconnect pattern.\nThe autoconnect pattern consists of name:value pairs. You can\nuse any combination of the following fields.\n- path - USB connection path on the host\n- pid - idProduct field in the USB device descriptor\n- vid - idVendor field in the USB device descriptor\n- hostId - unique ID for the host\n- speed - device speed (low, full, or high)\n  \nFor example, the following pattern identifies a USB device:\n\n&nbsp;&nbsp;&nbsp;&nbsp;<code>\"path:1/3/0 hostId:44\\\\ 45\\\\ 4c\\\\ 43\\\\ 00\\\\ 10\\\\ 54-80\\\\ 35\\\\ ca\\\\ c0\\\\ 4f\\\\ 4d\\\\ 37\\\\ 31\"</code>\n\nThis pattern identifies the USB device connected to port 1/3/0 on the\nhost with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.\n\nSpecial characters for autoconnect pattern values:\n- The name and value are separated by a colon (:).\n- Name:value pairs are separated by spaces.\n- The escape character is a backslash (\\\\). Use a single backslash to embed\n  a space in a value. Use a double blackslash to embed a single backslash\n  in the value.\n",
        "properties": {
          "hostname": {
            "description": "Name of the ESX host to which the physical USB device is attached\n(*HostSystem*.*ManagedEntity.name*).\n\nWhen you configure remote host backing, hostname must identify\nthe local host on which the virtual machine is running.\n",
            "type": "string"
          }
        },
        "required": [
          "hostname"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualUSBRemoteHostBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBRemoteHostBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBRemoteHostBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBUSBBackingInfo": {
        "type": "object",
        "description": "The *VirtualUSBUSBBackingInfo* data object\nidentifies a USB device on the host where the virtual machine\nis located.\n\nThis type of backing supports only a local connection\nwhere the virtual machine will remain on the host to which the\nUSB device is attached.\n\nTo identify the USB device, you specify an autoconnect pattern\nfor the *VirtualDeviceDeviceBackingInfo.deviceName*.\nThe virtual machine can connect to the USB device if the ESX server\ncan find a USB device described by the autoconnect pattern.\nThe autoconnect pattern consists of name:value pairs. You can\nuse any combination of the following fields.\n- path - USB connection path on the host\n- pid - idProduct field in the USB device descriptor\n- vid - idVendor field in the USB device descriptor\n- hostId - unique ID for the host\n- speed - device speed (low, full, or high)\n  \nFor example, the following pattern identifies a USB device:\n\n&nbsp;&nbsp;&nbsp;&nbsp;<code>\"path:1/3/0 hostId:44\\\\ 45\\\\ 4c\\\\ 43\\\\ 00\\\\ 10\\\\ 54-80\\\\ 35\\\\ ca\\\\ c0\\\\ 4f\\\\ 4d\\\\ 37\\\\ 31\"</code>\n\nThis pattern identifies the USB device connected to port 1/3/0 on the\nhost with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.\n\nSpecial characters for autoconnect pattern values:\n- The name and value are separated by a colon (:).\n- Name:value pairs are separated by spaces.\n- The escape character is a backslash (\\\\). Use a single backslash to embed\n  a space in a value. Use a double blackslash to embed a single backslash\n  in the value.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingInfo"
          }
        ]
      },
      "ArrayOfVirtualUSBUSBBackingInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBUSBBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBUSBBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBController": {
        "type": "object",
        "description": "The *VirtualUSBController* data object describes a virtual USB controller\nand contains a list of the devices connected to the controller.\n\nA virtual machine must have a virtual USB controller before you can add\na USB device to the virtual machine configuration. To add a controller,\ninclude a *VirtualUSBController* object in the\n*VirtualDeviceConfigSpec* for your virtual machine configuration.\nYou can add only one controller to a virtual machine.\nA virtual USB controller supports up to 20 USB device connections on the\nvirtual machine.\n\nThe ESX Server host must have the USB controller hardware and modules\nthat support USB 2.0 and USB1.1.\nYou can use a maximum of 15 USB controllers on a host. If your system\nincludes an additional number of controllers with connected devices,\nthe additional devices will not be available to virtual machines on the host.\n\nYou must remove all USB devices from a virtual machine before you can\nremove the USB controller.\n",
        "properties": {
          "autoConnectDevices": {
            "description": "Flag to indicate whether or not the ability to hot plug devices\nis enabled on this controller.\n",
            "type": "boolean"
          },
          "ehciEnabled": {
            "description": "Flag to indicate whether or not enhanced host controller\ninterface (USB 2.0) is enabled on this controller.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualUSBController": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBControllerPciBusSlotInfo": {
        "type": "object",
        "description": "The <code>*VirtualUSBControllerPciBusSlotInfo*</code> data object type\ndefines information about the pci bus slots of usb controller device\nin a virtual machine.\n",
        "properties": {
          "ehciPciSlotNumber": {
            "description": "The pci slot number of eHCI controller.\n\nThis property should be used only when the ehciEnabled property\nis set to true.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevicePciBusSlotInfo"
          }
        ]
      },
      "ArrayOfVirtualUSBControllerPciBusSlotInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBControllerPciBusSlotInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBControllerPciBusSlotInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBControllerOption": {
        "type": "object",
        "description": "The VirtualUSBControllerOption data object type contains the options\nfor a virtual USB Host Controller Interface.\n",
        "properties": {
          "autoConnectDevices": {
            "description": "Flag to indicate whether or not the ability to autoconnect devices\nis enabled for this virtual USB controller.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "ehciSupported": {
            "description": "Flag to indicate whether or not enhanced host controller\ninterface (USB 2.0) is available on this virtual USB controller.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "supportedSpeeds": {
            "description": "Range of USB device speeds supported by this USB controller type.\n\nAcceptable values are specified at *VirtualMachineUsbInfoSpeed_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "autoConnectDevices",
          "ehciSupported",
          "supportedSpeeds"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualUSBControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBOption": {
        "type": "object",
        "description": "The *VirtualUSBOption* data object type contains options for\nUSB device configuration on a virtual machine.\n\nThe vSphere API supports\nthe following options:\n- Local host USB connection\n  (*VirtualUSBUSBBackingOption*)\n- Remote host USB connection\n  (*VirtualUSBRemoteHostBackingOption*)\n  \nFor information about USB device configuration, see *VirtualUSB*.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualUSBOption": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBRemoteClientBackingOption": {
        "type": "object",
        "description": "This data object type contains the options for\nthe virtual remote USB client backing data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceRemoteDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualUSBRemoteClientBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBRemoteClientBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBRemoteClientBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBRemoteHostBackingOption": {
        "type": "object",
        "description": "The *VirtualUSBRemoteHostBackingOption* data object\ncontains options for remote host USB configuration.\n\nThis backing option\nindicates support for persistent USB connections when vMotion operations\nmigrate virtual machines to different hosts.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualUSBRemoteHostBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBRemoteHostBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBRemoteHostBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBUSBBackingOption": {
        "type": "object",
        "description": "The *VirtualUSBUSBBackingOption* data object\ncontains the options for virtual backing for a USB device.\n\nThis backing option indicates support for a local connection where\nthe virtual machine will remain on the host to which the USB device\nis attached.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceDeviceBackingOption"
          }
        ]
      },
      "ArrayOfVirtualUSBUSBBackingOption": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBUSBBackingOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBUSBBackingOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBXHCIController": {
        "type": "object",
        "description": "The *VirtualUSBXHCIController* data object describes a virtual\nUSB Extensible Host Controller Interface (USB 3.0).\n\nFor more informatino see *VirtualUSBController*.\n",
        "properties": {
          "autoConnectDevices": {
            "description": "Flag to indicate whether or not the ability to hot plug devices\nis enabled on this controller.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualController"
          }
        ]
      },
      "ArrayOfVirtualUSBXHCIController": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBXHCIController*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBXHCIController"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualUSBXHCIControllerOption": {
        "type": "object",
        "description": "The VirtualUSBXHCIControllerOption data object type contains the options\nfor a virtual USB Extensible Host Controller Interface (USB 3.0).\n",
        "properties": {
          "autoConnectDevices": {
            "description": "Flag to indicate whether or not the ability to autoconnect devices\nis enabled for this virtual USB controller.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "supportedSpeeds": {
            "description": "Range of USB device speeds supported by this USB controller type.\n\nAcceptable values are specified at *VirtualMachineUsbInfoSpeed_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "autoConnectDevices",
          "supportedSpeeds"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualControllerOption"
          }
        ]
      },
      "ArrayOfVirtualUSBXHCIControllerOption": {
        "type": "object",
        "description": "A boxed array of *VirtualUSBXHCIControllerOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualUSBXHCIControllerOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVMCIDevice": {
        "type": "object",
        "description": "The *VirtualMachineVMCIDevice* data object represents\na virtual communication device that supports the VMCI\n(Virtual Machine Communication Interface).\n\nEach virtual machine has a VMCI device that handles\ninterprocess socket-based communication.\nVMCI device information is available in the virtual machine\nhardware device list\n(*VirtualMachine*.*VirtualMachine.config*.*VirtualMachineConfigInfo.hardware*.*VirtualHardware.device*\\[\\]).\n\nAn application running on a virtual machine uses the VMCI Sockets API\nfor communication with other virtual machines on the same host\n(communication between virtual machines is not supported on vSphere\n5.1 and later platforms as described for\nVirtualVMCIDevice.*VirtualMachineVMCIDevice.allowUnrestrictedCommunication*),\nor for communication with the host.\nFor information about using the vSphere VMCI Sockets API,\nsee the _VMCI Sockets Programming Guide_.\n",
        "properties": {
          "id": {
            "description": "Unique identifier for VMCI socket access to this virtual machine.\n\nUse this value to identify this virtual machine in calls to the\nVMCI Sockets API. Applications running on other virtual machines on this\nhost will use this value to connect to this virtual machine.\nYou can cast this value to a 32-bit unsigned integer.\n\nThe vSphere Server sets this value when a virtual machine\npowers on. The Server may change this value after power\noperations such as vMotion or restoring a virtual machine\nfrom a snapshot. If you have saved a VMCI device identifier,\ncheck to see if the value is still valid after power\noperations.\n",
            "type": "integer",
            "format": "int64"
          },
          "allowUnrestrictedCommunication": {
            "deprecated": true,
            "description": "Deprecated as of vSphere API 5.1. On vSphere 5.1 and later\nplatforms, the VMCI device does not support communication with\nother virtual machines. Therefore, this property has no effect\non these platforms.\n\nDetermines the extent of VMCI communication with this virtual\nmachine.\n\nSet this property to true to allow VMCI communication\nwith all virtual machines on the host and with trusted services.\nSet this property to false to allow VMCI communication only\nwith trusted services such as the hypervisor on the host.\n\nIf unset, communication is restricted to trusted services only.\n",
            "type": "boolean"
          },
          "filterEnable": {
            "description": "Determines if filtering of VMCI communication is enabled for this virtual\nmachine.\n\nSet this property to enable or disable filter rules as specified\nin *VirtualMachineVMCIDevice.filterInfo*.\n",
            "type": "boolean"
          },
          "filterInfo": {
            "description": "Specify a *VirtualMachineVMCIDeviceFilterInfo* data object that controls the extent of\nVMCI communication with this virtual machine.\n",
            "$ref": "#/components/schemas/VirtualMachineVMCIDeviceFilterInfo"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualMachineVMCIDevice": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVMCIDevice*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVMCIDevice"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVMCIDeviceFilterInfo": {
        "type": "object",
        "description": "The *VirtualMachineVMCIDeviceFilterInfo* data object contains an array of filters.\n\nTo\nclear all existing filters, leave filters unset or specify an empty\narray.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVMCIDeviceFilterSpec"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVMCIDeviceFilterInfo": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVMCIDeviceFilterInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVMCIDeviceFilterInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVMCIDeviceFilterSpec": {
        "type": "object",
        "description": "The *VirtualMachineVMCIDeviceFilterSpec* data object describes a filter based on protocol,\ndirection and port or port-range.\n",
        "properties": {
          "rank": {
            "description": "Long value representing filter rank.\n\nThis is the rank of this filter. Filters are guaranteed to be\nprocessed in ascending rank order, that is, if rank1 &lt; rank2, then\nrank1 is processed before rank2. The ranks within an array of\nfilters should be unique.\n",
            "type": "integer",
            "format": "int64"
          },
          "action": {
            "description": "String value from *VirtualMachineVMCIDeviceAction_enum* enum object.\n",
            "type": "string"
          },
          "protocol": {
            "description": "String value from *VirtualMachineVMCIDeviceProtocol_enum* enum object\n",
            "type": "string"
          },
          "direction": {
            "description": "String value from *VirtualMachineVMCIDeviceDirection_enum* enum object.\n",
            "type": "string"
          },
          "lowerDstPortBoundary": {
            "description": "Long value representing the lower destination port boundary.\n\nIf unset, the lower destination port boundary is default to the\nlowest port number supported by the given protocol.\n\nTo specify a single port, both lowerDstPortBoundary and\nupperDstPortBoundary shall be set to the same value.\n",
            "type": "integer",
            "format": "int64"
          },
          "upperDstPortBoundary": {
            "description": "Long value representing the upper destination port range.\n\nIf unset, the upper destination port boundary is default to the\nhighest port number supported by the given protocol.\n\nTo specify a single port, both lowerDstPortBoundary and\nupperDstPortBoundary shall be set to the same value.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "rank",
          "action",
          "protocol",
          "direction"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVMCIDeviceFilterSpec": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVMCIDeviceFilterSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVMCIDeviceFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVMCIDeviceOption": {
        "type": "object",
        "description": "The *VirtualMachineVMCIDeviceOption* data object contains the options\nfor the virtual VMCI device (*VirtualMachineVMCIDevice*).\n",
        "properties": {
          "allowUnrestrictedCommunication": {
            "description": "Indicates support for VMCI communication and specifies the default\noperation.\n\nIf *BoolOption.defaultValue* is set to true,\nthe virtual machine can participate in VMCI communication with all other\nvirtual machines on the host. Otherwise, VMCI communication will be\nrestricted to trusted services such as the hypervisor on the host.\nOn vSphere 5.1 and later platforms, the VMCI device does not support\ncommunication with other virtual machines. Therefore, this property has\nno effect on these platforms.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "filterSpecOption": {
            "description": "Filter specification options.\n",
            "$ref": "#/components/schemas/VirtualMachineVMCIDeviceOptionFilterSpecOption"
          },
          "filterSupported": {
            "description": "Indicates support for VMCI firewall filters and specifies the default\noperation.\n\nIf *BoolOption.supported* is set to true,\nthen firewall filtering can be used for this virtual machine to allow\nor deny traffic over VMCI.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "allowUnrestrictedCommunication"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualMachineVMCIDeviceOption": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVMCIDeviceOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVMCIDeviceOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVMCIDeviceOptionFilterSpecOption": {
        "type": "object",
        "description": "Filter specification options.\n\nIndicates options for each filter\nspecification, as defined by\n*VirtualMachineVMCIDeviceFilterSpec*.\n",
        "properties": {
          "action": {
            "description": "Available actions.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "protocol": {
            "description": "Available protocols.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "direction": {
            "description": "Available directions.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          },
          "lowerDstPortBoundary": {
            "description": "Minimum, maximum and default values for lower destination port\nboundary.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "upperDstPortBoundary": {
            "description": "Minimum, maximum and default values for upper destination port\nboundary.\n",
            "$ref": "#/components/schemas/LongOption"
          }
        },
        "required": [
          "action",
          "protocol",
          "direction",
          "lowerDstPortBoundary",
          "upperDstPortBoundary"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVirtualMachineVMCIDeviceOptionFilterSpecOption": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVMCIDeviceOptionFilterSpecOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVMCIDeviceOptionFilterSpecOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVMIROM": {
        "type": "object",
        "deprecated": true,
        "description": "Deprecated as of vSphere API 6.0. On vSphere 6.0 and later\nplatforms, the VMIROM device does not provide any functionality.\n\nThe VirtualVMIROM data object type represents the ROM on the\nvirtual machine's PCI bus that provides support for VMI.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualMachineVMIROM": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVMIROM*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVMIROM"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVMIROMOption": {
        "type": "object",
        "description": "This data object type contains the options for the\n*VirtualVMIROM* data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualVMIROMOption": {
        "type": "object",
        "description": "A boxed array of *VirtualVMIROMOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVMIROMOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineVideoCard": {
        "type": "object",
        "description": "The VirtualVideoCard data object type represents a video card in\na virtual machine.\n",
        "properties": {
          "videoRamSizeInKB": {
            "description": "The size of the framebuffer for a virtual machine.\n",
            "type": "integer",
            "format": "int64"
          },
          "numDisplays": {
            "description": "Indicates the number of supported monitors.\n\nThe number of displays X the maximum resolution of each display is\nbounded by the video RAM size of the virtual video card.\nThis property can only be updated when the virtual machine is\npowered off.\n",
            "type": "integer",
            "format": "int32"
          },
          "useAutoDetect": {
            "description": "Flag to indicate whether the display settings of the host on which the\nvirtual machine is running should be used to automatically determine\nthe display settings of the virtual machine's video card.\n\nThis setting takes effect at virtual machine power-on time. If this\nvalue is set to TRUE, numDisplays will be ignored.\n",
            "type": "boolean"
          },
          "enable3DSupport": {
            "description": "Flag to indicate whether the virtual video card supports 3D functions.\n\nThis property can only be updated when the virtual machine is powered\noff.\n",
            "type": "boolean"
          },
          "use3dRenderer": {
            "description": "Indicate how the virtual video device renders 3D graphics.\n\nThe virtual video device can use hardware acceleration and software\nrendering. By default, VMware products determine whether or not to\nuse hardware acceleration based on the availability of physical graphics\ndevices. Certain workloads can benefit from explicitly specifying if\nhardware acceleration is required. For example, 3D intensive workloads\nmay indicate to run on systems with graphics hardware.\n\nThere are three settings.\n\n(automatic) - The virtual device chooses how to render 3D graphics (default).\n(software) - The virtual device will use software rendering and\nwill not attempt to use hardware acceleration.\n(hardware) - The virtual device will use hardware acceleration and\nwill not activate without it.\n",
            "type": "string"
          },
          "graphicsMemorySizeInKB": {
            "description": "The size of graphics memory.\n\nIf 3d support is enabled this setting gives the amount of guest memory\nused for graphics resources.\nThis property can only be updated when the virtual machine is\npowered off.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualMachineVideoCard": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineVideoCard*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineVideoCard"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVideoCardOption": {
        "type": "object",
        "description": "This data object type contains the options for the\n*VirtualVideoCard* data object type.\n",
        "properties": {
          "videoRamSizeInKB": {
            "description": "Minimum, maximum and default size of the video frame buffer.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "numDisplays": {
            "description": "Minimum, maximum and default value for the number of displays.\n",
            "$ref": "#/components/schemas/IntOption"
          },
          "useAutoDetect": {
            "description": "Flag to indicate whether the display settings of the host should\nbe used to automatically determine the display settings of the\nvirtual machine's video card.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "support3D": {
            "description": "Flag to indicate whether the virtual video card supports 3D functions.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "use3dRendererSupported": {
            "description": "Flag to indicate whether the virtual video card can specify how to render 3D graphics.\n",
            "$ref": "#/components/schemas/BoolOption"
          },
          "graphicsMemorySizeInKB": {
            "description": "The minimum, maximum, and default values for graphics memory size.\n",
            "$ref": "#/components/schemas/LongOption"
          },
          "graphicsMemorySizeSupported": {
            "description": "Flag to indicate whether the virtual video card can specify the size\nof graphics memory.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualVideoCardOption": {
        "type": "object",
        "description": "A boxed array of *VirtualVideoCardOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVideoCardOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVmxnet": {
        "type": "object",
        "description": "The VirtualVmxnet data object type represents an instance\nof the Vmxnet virtual Ethernet adapter attached to a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCard"
          }
        ]
      },
      "ArrayOfVirtualVmxnet": {
        "type": "object",
        "description": "A boxed array of *VirtualVmxnet*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVmxnet"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVmxnet2": {
        "type": "object",
        "description": "The VirtualVmxnet2 data object type represents an instance\nof the Vmxnet2 virtual Ethernet adapter attached to a virtual machine.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualVmxnet"
          }
        ]
      },
      "ArrayOfVirtualVmxnet2": {
        "type": "object",
        "description": "A boxed array of *VirtualVmxnet2*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVmxnet2"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVmxnet2Option": {
        "type": "object",
        "description": "The VirtualVmxnet2Option data object type contains the options for the\n*VirtualVmxnet2* data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualVmxnetOption"
          }
        ]
      },
      "ArrayOfVirtualVmxnet2Option": {
        "type": "object",
        "description": "A boxed array of *VirtualVmxnet2Option*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVmxnet2Option"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVmxnet3": {
        "type": "object",
        "description": "The VirtualVmxnet3 data object type represents an instance\nof the Vmxnet3 virtual Ethernet adapter attached to a virtual machine.\n",
        "properties": {
          "uptv2Enabled": {
            "description": "Indicates whether UPTv2(Uniform Pass-through version 2) compatibility is\nenabled on this network adapter.\n\nUPTv2 is only available on Vmxnet3\nadapter. Clients can set this property enabled or disabled if ethernet\nvirtual device is Vmxnet3. It requires the VM hardware version is\ncompatible with ESXi version which has enabled smartnic feature.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualVmxnet"
          }
        ]
      },
      "ArrayOfVirtualVmxnet3": {
        "type": "object",
        "description": "A boxed array of *VirtualVmxnet3*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVmxnet3"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVmxnet3Option": {
        "type": "object",
        "description": "The VirtualVmxnet3Option data object type contains the options for the\n*VirtualVmxnet3* data object type.\n",
        "properties": {
          "uptv2Enabled": {
            "description": "Flag to indicate whether UPTv2(Uniform Pass-through version 2) is\nsettable on this device.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualVmxnetOption"
          }
        ]
      },
      "ArrayOfVirtualVmxnet3Option": {
        "type": "object",
        "description": "A boxed array of *VirtualVmxnet3Option*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVmxnet3Option"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVmxnet3Vrdma": {
        "type": "object",
        "description": "The VirtualVmxnet3Vrdma data object type represents an instance of the\nVRDMA virtual Remote Direct Memory Access adapter attached to a virtual\nmachine.\n",
        "properties": {
          "deviceProtocol": {
            "description": "VRDMA Device protocol.\n\nSee\n*VirtualVmxnet3VrdmaOptionDeviceProtocols_enum* for more information.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualVmxnet3"
          }
        ]
      },
      "ArrayOfVirtualVmxnet3Vrdma": {
        "type": "object",
        "description": "A boxed array of *VirtualVmxnet3Vrdma*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVmxnet3Vrdma"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVmxnet3VrdmaOption": {
        "type": "object",
        "description": "The VirtualVmxnet3VrdmaOption data object type contains the options for the\n*VirtualVmxnet3Vrdma* data object type.\n",
        "properties": {
          "deviceProtocol": {
            "description": "The supported device protocols.\n",
            "$ref": "#/components/schemas/ChoiceOption"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualVmxnet3Option"
          }
        ]
      },
      "ArrayOfVirtualVmxnet3VrdmaOption": {
        "type": "object",
        "description": "A boxed array of *VirtualVmxnet3VrdmaOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVmxnet3VrdmaOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualVmxnetOption": {
        "type": "object",
        "description": "The VirtualVmxnetOption data object type contains the options for the\n*VirtualVmxnet* data object type.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualEthernetCardOption"
          }
        ]
      },
      "ArrayOfVirtualVmxnetOption": {
        "type": "object",
        "description": "A boxed array of *VirtualVmxnetOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualVmxnetOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualWDT": {
        "type": "object",
        "description": "This data object type represents a watchdog timer in a virtual machine.\n",
        "properties": {
          "runOnBoot": {
            "description": "Flag to indicate if the virtual watchdog timer device should be\ninitialized as the Enabled/Stopped or Enabled/Running sub-state.\n\nIf not set, the device will default to being initialized as the\nEnabled/Stopped sub-state.\n",
            "type": "boolean"
          },
          "running": {
            "description": "Flag to indicate if the virtual watchdog timer device is currently\nin the Enabled/Running state.\n\nThe guest can cause state changes,\nwhich will result in this flag being either set or cleared.\n",
            "type": "boolean"
          }
        },
        "required": [
          "runOnBoot",
          "running"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDevice"
          }
        ]
      },
      "ArrayOfVirtualWDT": {
        "type": "object",
        "description": "A boxed array of *VirtualWDT*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualWDT"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualWDTOption": {
        "type": "object",
        "description": "This data object type contains the options for the\nvirtual watchdog timer class.\n",
        "properties": {
          "runOnBoot": {
            "description": "Flag to indicate whether or not the \"run on boot\" option\nis settable on this device.\n",
            "$ref": "#/components/schemas/BoolOption"
          }
        },
        "required": [
          "runOnBoot"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualDeviceOption"
          }
        ]
      },
      "ArrayOfVirtualWDTOption": {
        "type": "object",
        "description": "A boxed array of *VirtualWDTOption*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualWDTOption"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestAliases": {
        "type": "object",
        "description": "Describes the representation of an alias and the subjects\nthat are trusted from that VMware SSO Server.\n",
        "properties": {
          "base64Cert": {
            "description": "The associated VMware SSO Server X.509 certificate, in base64\nencoded DER format.\n",
            "type": "string"
          },
          "aliases": {
            "description": "A white list of aliases that the in-guest user account trusts;\nit can be a subset of the subjects known to the identity\nprovider.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestAuthAliasInfo"
            }
          }
        },
        "required": [
          "base64Cert",
          "aliases"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestAliases": {
        "type": "object",
        "description": "A boxed array of *GuestAliases*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestAliases"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestAuthAliasInfo": {
        "type": "object",
        "description": "Describes a subject associated with an X.509 certificate in the alias\nstore.\n",
        "properties": {
          "subject": {
            "description": "The subject.\n",
            "$ref": "#/components/schemas/GuestAuthSubject"
          },
          "comment": {
            "description": "User-supplied data to describe the subject.\n",
            "type": "string"
          }
        },
        "required": [
          "subject",
          "comment"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestAuthAliasInfo": {
        "type": "object",
        "description": "A boxed array of *GuestAuthAliasInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestAuthAliasInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestAuthAnySubject": {
        "type": "object",
        "description": "The ANY subject.\n\nWhen an in-guest user account is configured\nto trust an alias using the ANY subject, any vSphere user\nauthenticated by that alias will be allowed to impersonate the\nin-guest user.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestAuthSubject"
          }
        ]
      },
      "ArrayOfGuestAuthAnySubject": {
        "type": "object",
        "description": "A boxed array of *GuestAuthAnySubject*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestAuthAnySubject"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestAuthNamedSubject": {
        "type": "object",
        "description": "A named subject.\n\nGrants access to a specific vSphere user with\nthe specified name.\n",
        "properties": {
          "name": {
            "description": "The subject name.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestAuthSubject"
          }
        ]
      },
      "ArrayOfGuestAuthNamedSubject": {
        "type": "object",
        "description": "A boxed array of *GuestAuthNamedSubject*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestAuthNamedSubject"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestAuthSubject": {
        "type": "object",
        "description": "A Subject.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestAuthSubject": {
        "type": "object",
        "description": "A boxed array of *GuestAuthSubject*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestAuthSubject"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestMappedAliases": {
        "type": "object",
        "description": "Represents a mapping between an external subject, as\nauthenticated by a given VMware SSO Server, and an in-guest user.\n",
        "properties": {
          "base64Cert": {
            "description": "The associated VMware SSO Server X.509 certificate, in base64\nencoded DER format.\n",
            "type": "string"
          },
          "username": {
            "description": "The in-guest user associated with the mapping.\n",
            "type": "string"
          },
          "subjects": {
            "description": "The list of subjects associated with the mapping.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestAuthSubject"
            }
          }
        },
        "required": [
          "base64Cert",
          "username",
          "subjects"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestMappedAliases": {
        "type": "object",
        "description": "A boxed array of *GuestMappedAliases*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestMappedAliases"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestFileAttributes": {
        "type": "object",
        "description": "Different attributes for a guest file.\n- Check *GuestPosixFileAttributes*\n  for Posix guest files.\n- Check *GuestWindowsFileAttributes*\n  for Windows guest files.\n",
        "properties": {
          "modificationTime": {
            "description": "The date and time the file was last modified.\n\nIf this property is not specified when passing a\n*GuestFileAttributes* object to\n*GuestFileManager.InitiateFileTransferToGuest*,\nthe default value will be the time when the file is created inside the\nguest.\n",
            "type": "string",
            "format": "date-time"
          },
          "accessTime": {
            "description": "The date and time the file was last accessed.\n\nIf this property is not specified when passing a\n*GuestFileAttributes* object to\n*GuestFileManager.InitiateFileTransferToGuest*,\nthe default value will be the time when the file is created inside the\nguest.\n",
            "type": "string",
            "format": "date-time"
          },
          "symlinkTarget": {
            "description": "The target for the file if it's a symbolic link.\n\nThis is currently only set for Linux guest operating systems,\nbut may be supported in the\nfuture on Windows guest operating systems that support symbolic links.\nThis property gives information about files when returned from\n*GuestFileManager.ListFilesInGuest* or\n*GuestFileManager.InitiateFileTransferFromGuest*\nas part of a *GuestFileAttributes* object.\nThis property will be ignored when passing a\n*GuestFileAttributes* object to\n*GuestFileManager.InitiateFileTransferToGuest* or\n*GuestFileManager.ChangeFileAttributesInGuest*.\nIf the file is a symbolic link, then the attributes of the target\nare returned, not those of the symbolic link.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestFileAttributes": {
        "type": "object",
        "description": "A boxed array of *GuestFileAttributes*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestFileAttributes"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestFileInfo": {
        "type": "object",
        "properties": {
          "path": {
            "description": "The complete path to the file\n",
            "type": "string"
          },
          "type": {
            "description": "The file type, one of *GuestFileType_enum*\n",
            "type": "string"
          },
          "size": {
            "description": "The file size in bytes\n",
            "type": "integer",
            "format": "int64"
          },
          "attributes": {
            "description": "Different attributes of a file.\n",
            "$ref": "#/components/schemas/GuestFileAttributes"
          }
        },
        "required": [
          "path",
          "type",
          "size",
          "attributes"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestFileInfo": {
        "type": "object",
        "description": "A boxed array of *GuestFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileTransferInformation": {
        "type": "object",
        "description": "Represents the information about a\n*GuestFileManager.InitiateFileTransferFromGuest* operation\nof *GuestFileManager* object.\n\nThe user can use the URL provided in url property to transfer\nthe file from the guest. The user should send a HTTP GET request to the\nURL. Entire file content will be returned in the body of the response\nmessage.\n",
        "properties": {
          "attributes": {
            "description": "File attributes of the file that is being transferred from the guest.\n",
            "$ref": "#/components/schemas/GuestFileAttributes"
          },
          "size": {
            "description": "Total size of the file in bytes.\n",
            "type": "integer",
            "format": "int64"
          },
          "url": {
            "description": "Specifies the URL to which the user has to send HTTP GET request.\n\nMultiple GET requests cannot be sent to the URL simultaneously. URL\nwill become invalid once a successful GET request is sent.\n  \n  \nThe host part of the URL is returned as '\\*' if the hostname to be used\nis the name of the server to which the call was made. For example, if\nthe call is made to esx-svr-1.domain1.com, and the file is available for\ndownload from\n`https://esx-svr-1.domain1.com/guestFile?id=1&token=1234`,\nthe URL returned may be\n`https://&#42;/guestFile?id=1&token=1234`.\nThe client replaces the asterisk with the server name on which it\ninvoked the call.\n  \n  \nThe URL is valid only for 10 minutes from the time it is generated.\nAlso, the URL becomes invalid whenever the virtual machine is powered\noff, suspended or unregistered.\n",
            "type": "string"
          }
        },
        "required": [
          "attributes",
          "size",
          "url"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFileTransferInformation": {
        "type": "object",
        "description": "A boxed array of *FileTransferInformation*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileTransferInformation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestListFileInfo": {
        "type": "object",
        "properties": {
          "files": {
            "description": "A list of *GuestFileInfo*\ndata objects containing information for all the matching files.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestFileInfo"
            }
          },
          "remaining": {
            "description": "The number of files left to be returned.\n\nIf non-zero,\nthen the next set of files can be returned by calling\nListFiles again with the index set to the number of results\nalready returned.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "remaining"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestListFileInfo": {
        "type": "object",
        "description": "A boxed array of *GuestListFileInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestListFileInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestPosixFileAttributes": {
        "type": "object",
        "description": "Different attributes for Posix guest file.\n",
        "properties": {
          "ownerId": {
            "description": "The owner ID.\n\nIf this property is not specified when passing a\n*GuestPosixFileAttributes* object to\n*GuestFileManager.InitiateFileTransferToGuest*,\nthe default value will be the owner Id of the user who invoked\nthe file transfer operation.\n",
            "type": "integer",
            "format": "int32"
          },
          "groupId": {
            "description": "The group ID.\n\nIf this property is not specified when passing a\n*GuestPosixFileAttributes* object to\n*GuestFileManager.InitiateFileTransferToGuest*,\nthe default value will be the group Id of the user who invoked\nthe file transfer operation.\n",
            "type": "integer",
            "format": "int32"
          },
          "permissions": {
            "description": "The file permissions.\n\nWhen creating a file with\n*GuestFileManager.InitiateFileTransferToGuest*,\nthese are in chmod(2) format. When reporting on\nexisting files, these are in stat(2) format.\nIf this property is not specified when passing a\n*GuestPosixFileAttributes* object to\n*GuestFileManager.InitiateFileTransferToGuest*,\nthe file will be created with 0644 permissions.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestFileAttributes"
          }
        ]
      },
      "ArrayOfGuestPosixFileAttributes": {
        "type": "object",
        "description": "A boxed array of *GuestPosixFileAttributes*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestPosixFileAttributes"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestWindowsFileAttributes": {
        "type": "object",
        "description": "Different attributes for a Windows guest file.\n",
        "properties": {
          "hidden": {
            "description": "The file is hidden.\n\nIf this property is not specified when passing a\n*GuestWindowsFileAttributes* object to\n*GuestFileManager.InitiateFileTransferToGuest*,\nthe file will not be set as a hidden file.\n",
            "type": "boolean"
          },
          "readOnly": {
            "description": "The file is read-only.\n\nIf this property is not specified when passing a\n*GuestWindowsFileAttributes* object to\n*GuestFileManager.InitiateFileTransferToGuest*,\nthe file will not be set as a read-only file.\n",
            "type": "boolean"
          },
          "createTime": {
            "description": "The date and time the file was created.\n\nThis property gives information about files when returned from\n*GuestFileManager.ListFilesInGuest* or\n*GuestFileManager.InitiateFileTransferFromGuest*\nas part of a *GuestWindowsFileAttributes*\nobject. This property will be ignored when passing a\n*GuestWindowsFileAttributes* object to\n*GuestFileManager.InitiateFileTransferToGuest* or\n*GuestFileManager.ChangeFileAttributesInGuest*.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestFileAttributes"
          }
        ]
      },
      "ArrayOfGuestWindowsFileAttributes": {
        "type": "object",
        "description": "A boxed array of *GuestWindowsFileAttributes*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestWindowsFileAttributes"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestAuthentication": {
        "type": "object",
        "description": "GuestAuthentication is an abstract base class for authentication\nin the guest.\n",
        "properties": {
          "interactiveSession": {
            "description": "This is set to true if the client wants an interactive session\nin the guest.\n\nSetting this is supported only for *NamePasswordAuthentication*.\n",
            "type": "boolean"
          }
        },
        "required": [
          "interactiveSession"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestAuthentication": {
        "type": "object",
        "description": "A boxed array of *GuestAuthentication*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestAuthentication"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NamePasswordAuthentication": {
        "type": "object",
        "description": "NamePasswordAuthentication contains the information necessary to authenticate\nwithin a guest using a name and password.\n\nThis is the typical method for\nauthentication within a guest and the one currently used by VIX.\nThis method of authentication is stateless.\n\nTo use NamePasswordAuthentication, populate username and password with the\nappropriate login information. You should not use *GuestAuthManager.AcquireCredentialsInGuest*\nor *GuestAuthManager.ReleaseCredentialsInGuest* for NamePasswordAuthentication.\n\nOnce populated, you can use NamePasswordAuthentication in any guest operations function call.\n",
        "properties": {
          "username": {
            "description": "The user name for Name-Password authentication.\n",
            "type": "string"
          },
          "password": {
            "description": "The password for Name-Password authentication.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "username",
          "password"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestAuthentication"
          }
        ]
      },
      "ArrayOfNamePasswordAuthentication": {
        "type": "object",
        "description": "A boxed array of *NamePasswordAuthentication*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NamePasswordAuthentication"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestProcessInfo": {
        "type": "object",
        "properties": {
          "name": {
            "description": "The process name\n",
            "type": "string"
          },
          "pid": {
            "description": "The process ID\n",
            "type": "integer",
            "format": "int64"
          },
          "owner": {
            "description": "The process owner\n",
            "type": "string"
          },
          "cmdLine": {
            "description": "The full command line\n",
            "type": "string"
          },
          "startTime": {
            "description": "The start time of the process\n",
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "description": "If the process was started using\n*GuestProcessManager.StartProgramInGuest*\nthen the process completion time will be available if\nqueried within 5 minutes after it completes.\n",
            "type": "string",
            "format": "date-time"
          },
          "exitCode": {
            "description": "If the process was started using\n*GuestProcessManager.StartProgramInGuest*\nthen the process exit code will be available if\nqueried within 5 minutes after it completes.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "name",
          "pid",
          "owner",
          "cmdLine",
          "startTime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestProcessInfo": {
        "type": "object",
        "description": "A boxed array of *GuestProcessInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestProcessInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestProgramSpec": {
        "type": "object",
        "description": "This describes the arguments to *GuestProcessManager.StartProgramInGuest*.\n",
        "properties": {
          "programPath": {
            "description": "The absolute path to the program to start.\n\nFor Linux guest operating systems, /bin/bash is used to start the\nprogram.\n\nFor Solaris guest operating systems, /bin/bash is used to start\nthe program if it exists.\nOtherwise /bin/sh is used. If /bin/sh is used, then the process ID\nreturned by *GuestProcessManager.StartProgramInGuest* will be that of the shell used\nto start the program, rather than the program itself, due to the\ndifferences in how /bin/sh and /bin/bash work. This PID will\nstill be usable for watching the process with\n*GuestProcessManager.ListProcessesInGuest* to\nfind its exit code and elapsed time.\n",
            "type": "string"
          },
          "arguments": {
            "description": "The arguments to the program.\n\nIn Linux and Solaris guest operating\nsystems, the program will be executed by a guest shell.\nThis allows stdio redirection, but may also\nrequire that characters which must be escaped to the shell also\nbe escaped on the command line provided.\n\nFor Windows guest operating systems, prefixing the command with\n\"cmd /c\" can provide stdio redirection.\n",
            "type": "string"
          },
          "workingDirectory": {
            "description": "The absolute path of the working directory for the program to be\nrun.\n\nVMware recommends explicitly setting the working directory\nfor the program to be run. If this value is unset or is an empty\nstring, the behavior depends on the guest operating system.\nFor Linux guest operating systems, if this value is unset or is\nan empty string, the working directory will be the home directory\nof the user associated with the guest authentication.\nFor other guest operating systems, if this value is unset, the\nbehavior is unspecified.\n",
            "type": "string"
          },
          "envVariables": {
            "description": "An array of environment variables, specified\nin the guest OS notation (eg PATH=c:\\\\bin;c:\\\\windows\\\\system32\nor LD\\_LIBRARY\\_PATH=/usr/lib:/lib), to be set for the program\nbeing run.\n\nNote that these are not additions to the default\nenvironment variables; they define the complete set available to\nthe program. If none are specified the values are guest dependent.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "programPath",
          "arguments"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestProgramSpec": {
        "type": "object",
        "description": "A boxed array of *GuestProgramSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestProgramSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestWindowsProgramSpec": {
        "type": "object",
        "description": "This describes the arguments to *GuestProcessManager.StartProgramInGuest* that apply\nonly for Windows guests.\n",
        "properties": {
          "startMinimized": {
            "description": "Makes any program window start minimized.\n",
            "type": "boolean"
          }
        },
        "required": [
          "startMinimized"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestProgramSpec"
          }
        ]
      },
      "ArrayOfGuestWindowsProgramSpec": {
        "type": "object",
        "description": "A boxed array of *GuestWindowsProgramSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestWindowsProgramSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SAMLTokenAuthentication": {
        "type": "object",
        "description": "SAMLTokenAuthentication contains the information necessary to authenticate\nwithin a guest using a SAML bearer token.\n\nSAML token authentication relies on a guest alias that associates a guest\naccount with the subject and certificate\nencoded in a SAML token obtained from the VMware SSO Server.\n- Use the *GuestAliasManager*.\n  *GuestAliasManager.AddGuestAlias* method to create a guest\n  alias.\n- Use a SAMLTokenAuthentication object for the\n  auth parameter to guest operations methods.\n  \nAfter you have created an alias, you can use SAML token authentication\nfor guest operations methods.\nDo not use SAML token authentication for the\n*GuestAuthManager.AcquireCredentialsInGuest* and\n*GuestAuthManager.ReleaseCredentialsInGuest* methods.\n",
        "properties": {
          "token": {
            "description": "The SAML bearer token.\n",
            "type": "string",
            "format": "password"
          },
          "username": {
            "description": "This is the guest user to be associated with the authentication.\n\nIf none is specified, a guest dependent mapping will decide what\nuser account is applied.\n",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestAuthentication"
          }
        ]
      },
      "ArrayOfSAMLTokenAuthentication": {
        "type": "object",
        "description": "A boxed array of *SAMLTokenAuthentication*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SAMLTokenAuthentication"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SSPIAuthentication": {
        "type": "object",
        "description": "SSPIAuthentication contains the information necessary to\ninitiate a ticketed authentication session in the guest\nusing SSPI credentials.\n\nThe ticketed session is not stateless and stores state inside of the guest.\n\nTo use SSPIAuthentication, populate sspiToken with a base64 encoded SSPI token.\nThen call *GuestAuthManager.AcquireCredentialsInGuest* with\nthe SSPIAuthentication object and no sessionID.\nAfter issuing the *GuestAuthManager.AcquireCredentialsInGuest* call, a\n*GuestAuthenticationChallenge* will be thrown.\nUse the serverChallenge sspiToken in *GuestAuthenticationChallenge*\nto generate the proper SSPI response token.\nPopulate an SSPIAuthentication object with the base64 encoded SSPI response token, and\ncall *GuestAuthManager.AcquireCredentialsInGuest* with the SSPIAuthentication object and\nthe sessionID found in *GuestAuthenticationChallenge*.\n\nSuccessful authentication will result in a *TicketedSessionAuthentication*\nobject being returned. You can use the *TicketedSessionAuthentication* in any\nguest operations function call. You should NOT attempt to use SSPIAuthentication in any guest\noperations function call.\n\nWhen you no longer need the *TicketedSessionAuthentication* object, you should\ncall *GuestAuthManager.ReleaseCredentialsInGuest* to free associated resources\nand session data.\n\nUsage notes: SSPI authentication has the same limitations as a duplicated primary token obtained\nfrom the Windows API function LogonUser with the LOGON32\\_LOGON\\_NETWORK logon type. This will affect\nprograms started with *GuestProcessManager.StartProgramInGuest*. For example, launched\nprograms will be unable to use WMI functions unless the \"Remote Enable\" privilege is enabled for\nthe user. Similarly, access to network resources may fail due to the limitations of the token.\n",
        "properties": {
          "sspiToken": {
            "description": "This contains a base64 encoded SSPI Token.\n",
            "type": "string"
          }
        },
        "required": [
          "sspiToken"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestAuthentication"
          }
        ]
      },
      "ArrayOfSSPIAuthentication": {
        "type": "object",
        "description": "A boxed array of *SSPIAuthentication*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SSPIAuthentication"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TicketedSessionAuthentication": {
        "type": "object",
        "description": "TicketedSessionAuthentication contains the information necessary to\nuse previously obtained credentials in the guest.\n\nThe ticketed session is not stateless and stores state inside of the guest.\n\nA TicketedSessionAuthentication object will be returned as the result of a\nsuccessful call to *GuestAuthManager.AcquireCredentialsInGuest*. You can\nuse this object in any guest operations function call.\n\nWhen you no longer need the TicketedSessionAuthentication object, you should\ncall *GuestAuthManager.ReleaseCredentialsInGuest* to free associated resources\nand session data.\n",
        "properties": {
          "ticket": {
            "description": "This contains a base64 encoded Ticket.\n",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "ticket"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestAuthentication"
          }
        ]
      },
      "ArrayOfTicketedSessionAuthentication": {
        "type": "object",
        "description": "A boxed array of *TicketedSessionAuthentication*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TicketedSessionAuthentication"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegKeySpec": {
        "type": "object",
        "description": "This describes the registry key.\n",
        "properties": {
          "keyName": {
            "description": "The key name.\n",
            "$ref": "#/components/schemas/GuestRegKeyNameSpec"
          },
          "classType": {
            "description": "The user-defined class type of this key.\n",
            "type": "string"
          },
          "lastWritten": {
            "description": "Time stamp of last modification.\n",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "keyName",
          "classType",
          "lastWritten"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestRegKeySpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegKeySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegKeySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegKeyNameSpec": {
        "type": "object",
        "description": "This describes the registry key name.\n",
        "properties": {
          "registryPath": {
            "description": "The full path to a registry key.\n",
            "type": "string"
          },
          "wowBitness": {
            "description": "The wow bitness, one of *GuestRegKeyWowSpec_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "registryPath",
          "wowBitness"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestRegKeyNameSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegKeyNameSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegKeyNameSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegKeyRecordSpec": {
        "type": "object",
        "description": "This describes the registry key record.\n",
        "properties": {
          "key": {
            "description": "The key.\n",
            "$ref": "#/components/schemas/GuestRegKeySpec"
          },
          "fault": {
            "description": "Any error that occurred while trying to access this key.\n\nPresence of this fault indicates that a recursive listing failed to\nopen this key to find keys below it in the tree. This could be a\nresult of insufficient user permissions within the guest.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestRegKeyRecordSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegKeyRecordSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegKeyRecordSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegValueSpec": {
        "type": "object",
        "description": "This describes the registry value.\n",
        "properties": {
          "name": {
            "description": "The value name.\n",
            "$ref": "#/components/schemas/GuestRegValueNameSpec"
          },
          "data": {
            "description": "The value data.\n\nUse one of the extended classes to specify data type:\n*GuestRegValueDwordSpec*,\n*GuestRegValueQwordSpec*,\n*GuestRegValueStringSpec*,\n*GuestRegValueExpandStringSpec*,\n*GuestRegValueMultiStringSpec*,\n*GuestRegValueBinarySpec*.\n",
            "$ref": "#/components/schemas/GuestRegValueDataSpec"
          }
        },
        "required": [
          "name",
          "data"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestRegValueSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegValueSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegValueSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegValueBinarySpec": {
        "type": "object",
        "description": "This describes the registry value binary.\n",
        "properties": {
          "value": {
            "description": "The data of the registry value.\n\nThe Windows registry allows this type of value to exist without\nhaving any data associated with it.\n",
            "type": "string",
            "format": "byte"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegValueDataSpec"
          }
        ]
      },
      "ArrayOfGuestRegValueBinarySpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegValueBinarySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegValueBinarySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegValueDataSpec": {
        "type": "object",
        "description": "This describes the registry value data.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestRegValueDataSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegValueDataSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegValueDataSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegValueDwordSpec": {
        "type": "object",
        "description": "This describes the registry value dword.\n",
        "properties": {
          "value": {
            "description": "The data of the registry value.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegValueDataSpec"
          }
        ]
      },
      "ArrayOfGuestRegValueDwordSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegValueDwordSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegValueDwordSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegValueExpandStringSpec": {
        "type": "object",
        "description": "This describes the registry value expand string.\n",
        "properties": {
          "value": {
            "description": "The expanded (if applicable) data of the registry value.\n\nThe Windows registry allows this type of value to exist without\nhaving any data associated with it.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegValueDataSpec"
          }
        ]
      },
      "ArrayOfGuestRegValueExpandStringSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegValueExpandStringSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegValueExpandStringSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegValueMultiStringSpec": {
        "type": "object",
        "description": "This describes the registry value multi string.\n",
        "properties": {
          "value": {
            "description": "The data of the registry value.\n\nThe Windows registry allows this type of value to exist without\nhaving any data associated with it.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegValueDataSpec"
          }
        ]
      },
      "ArrayOfGuestRegValueMultiStringSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegValueMultiStringSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegValueMultiStringSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegValueNameSpec": {
        "type": "object",
        "description": "This describes the registry value name.\n",
        "properties": {
          "keyName": {
            "description": "The key name that contains this value.\n",
            "$ref": "#/components/schemas/GuestRegKeyNameSpec"
          },
          "name": {
            "description": "The name of the value.\n",
            "type": "string"
          }
        },
        "required": [
          "keyName",
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfGuestRegValueNameSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegValueNameSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegValueNameSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegValueQwordSpec": {
        "type": "object",
        "description": "This describes the registry value qword.\n",
        "properties": {
          "value": {
            "description": "The data of the registry value.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegValueDataSpec"
          }
        ]
      },
      "ArrayOfGuestRegValueQwordSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegValueQwordSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegValueQwordSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "GuestRegValueStringSpec": {
        "type": "object",
        "description": "This describes the registry value string.\n",
        "properties": {
          "value": {
            "description": "The data of the registry value.\n\nThe Windows registry allows this type of value to exist without\nhaving any data associated with it.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/GuestRegValueDataSpec"
          }
        ]
      },
      "ArrayOfGuestRegValueStringSpec": {
        "type": "object",
        "description": "A boxed array of *GuestRegValueStringSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestRegValueStringSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DeviceGroupId": {
        "type": "object",
        "description": "Identifier of a replication device group.\n",
        "properties": {
          "id": {
            "description": "ID of the device group.\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDeviceGroupId": {
        "type": "object",
        "description": "A boxed array of *DeviceGroupId*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceGroupId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FaultDomainId": {
        "type": "object",
        "description": "Represents the identity of a replication fault domain.\n\nFault domains IDs are globally\nunique.\n",
        "properties": {
          "id": {
            "description": "ID of the fault domain.\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfFaultDomainId": {
        "type": "object",
        "description": "A boxed array of *FaultDomainId*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FaultDomainId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationGroupId": {
        "type": "object",
        "description": "The identity of a replication group.\n\nA following well-known ReplicationGroupId\n\n{\n\nfaultDomainId: <a validfaultdomainid>\n\ndeviceGroupId: ffffffff-ffff-ffff-ffff-ffffffffffff\n\n}\n\nmeans that VASA provider can create a new ReplicationGroupId\non demand (this feature may not be supported in the first\nvSphere release that supports VVol replication).\n",
        "properties": {
          "faultDomainId": {
            "description": "ID of the fault domain to which the group belongs.\n\nCombined with the fault\ndomain id, the group id is unique. A group may (or may not) have the same\nid in all the fault domains.\n",
            "$ref": "#/components/schemas/FaultDomainId"
          },
          "deviceGroupId": {
            "description": "Id of the replication device group.\n\nA group may have the same (or different) id in each fault\ndomain.\n",
            "$ref": "#/components/schemas/DeviceGroupId"
          }
        },
        "required": [
          "faultDomainId",
          "deviceGroupId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicationGroupId": {
        "type": "object",
        "description": "A boxed array of *ReplicationGroupId*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationGroupId"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ReplicationSpec": {
        "type": "object",
        "properties": {
          "replicationGroupId": {
            "description": "Replication Group id\n",
            "$ref": "#/components/schemas/ReplicationGroupId"
          }
        },
        "required": [
          "replicationGroupId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfReplicationSpec": {
        "type": "object",
        "description": "A boxed array of *ReplicationSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReplicationSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanClusterConfigInfo": {
        "type": "object",
        "description": "The *VsanClusterConfigInfo* data object contains configuration\ndata for the VSAN service in a cluster.\n\nThis data object is used both for\nspecifying cluster-wide settings when updating the VSAN service, and as an\noutput datatype when retrieving current cluster-wide VSAN service settings.\n\nSee also *ComputeResource.ReconfigureComputeResource_Task*.\n",
        "properties": {
          "enabled": {
            "description": "Whether the VSAN service is enabled for the cluster.\n",
            "type": "boolean"
          },
          "defaultConfig": {
            "description": "Default VSAN settings to use for hosts admitted to the cluster when the\nVSAN service is enabled.\n\nIf omitted, values will default as though the\nfields in the *VsanClusterConfigInfoHostDefaultInfo* have been omitted.\n\nSee also *VsanClusterConfigInfo.enabled*, *VsanClusterConfigInfoHostDefaultInfo*.\n",
            "$ref": "#/components/schemas/VsanClusterConfigInfoHostDefaultInfo"
          },
          "vsanEsaEnabled": {
            "description": "Whether the vSAN ESA is enabled for vSAN cluster.\n\nThis can only be\nenabled when vSAN is enabled on the cluster.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanClusterConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VsanClusterConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanClusterConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanClusterConfigInfoHostDefaultInfo": {
        "type": "object",
        "description": "Default VSAN service configuration to be used for hosts admitted\nto the cluster.\n\nSee also *VsanClusterConfigInfo.defaultConfig*.\n",
        "properties": {
          "uuid": {
            "description": "VSAN service cluster UUID, in the string form\n\"nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn\", where n are hexadecimal\ndigits.\n\nWhen enabling the VSAN service on the cluster, this value shall\nnot be specified by the user; a suitable UUID will be generated\nby the platform.\nWhile the VSAN service is enabled, this is a read-only value.\n",
            "type": "string"
          },
          "autoClaimStorage": {
            "deprecated": true,
            "description": "Deprecated as this configuration will be deprecated, autoclaim\nwill be no longer supported.\n\nWhether the VSAN service is configured to automatically claim local\nstorage on VSAN-enabled hosts in the cluster.\n\nIf omitted while enabling the VSAN service, this value will default\nto <code>true</code>.\nChanging this value to <code>false</code> shall not affect any\nexisting disk mappings in use by hosts currently participating in\nthe VSAN service.\nChanging this value to <code>true</code> will result in local disks\nbeing automatically claimed for use by the VSAN service, for hosts\ncurrently participating in the VSAN service.\n\nSee also *VsanHostConfigInfoStorageInfo.diskMapping*, *VsanHostConfigInfoStorageInfo.autoClaimStorage*.\n",
            "type": "boolean"
          },
          "checksumEnabled": {
            "description": "Whether the VSAN service is configured to enforce checksum protection.\n\nIf omitted while enabling the VSAN service, this value will default\nto <code>false<code>.\nChange this value to <code>false</code> shall not affect any existing\ndisk status.\nChanging this value to <code>true</code> shall do disk enforcement\ncheck that all VSAN disks are checksum enabled.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanClusterConfigInfoHostDefaultInfo": {
        "type": "object",
        "description": "A boxed array of *VsanClusterConfigInfoHostDefaultInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanClusterConfigInfoHostDefaultInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostClusterStatus": {
        "type": "object",
        "description": "The *VsanHostClusterStatus* data object contains a host's cluster status\ninformation for the VSAN service.\n\nThis data object is used to represent\nread-only state whose values may change during operation.\n\nSee also *HostVsanSystem.QueryHostStatus*.\n",
        "properties": {
          "uuid": {
            "description": "VSAN service cluster UUID.\n",
            "type": "string"
          },
          "nodeUuid": {
            "description": "VSAN node UUID for this host.\n",
            "type": "string"
          },
          "health": {
            "description": "VSAN health state for this host.\n\nSee also *VsanHostHealthState_enum*.\n",
            "type": "string"
          },
          "nodeState": {
            "description": "VSAN node state for this host.\n",
            "$ref": "#/components/schemas/VsanHostClusterStatusState"
          },
          "memberUuid": {
            "description": "List of UUIDs for VSAN nodes known to this host.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "health",
          "nodeState"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostClusterStatus": {
        "type": "object",
        "description": "A boxed array of *VsanHostClusterStatus*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostClusterStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostClusterStatusState": {
        "type": "object",
        "description": "Data object representing the VSAN node state for a host.\n",
        "properties": {
          "state": {
            "description": "VSAN node state for this host.\n\nSee also *VsanHostNodeState_enum*.\n",
            "type": "string"
          },
          "completion": {
            "description": "An estimation of the completion of a node state transition; this\nvalue may be populated for transitory node states.\n\nSee also *VsanHostNodeState_enum*.\n",
            "$ref": "#/components/schemas/VsanHostClusterStatusStateCompletionEstimate"
          }
        },
        "required": [
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostClusterStatusState": {
        "type": "object",
        "description": "A boxed array of *VsanHostClusterStatusState*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostClusterStatusState"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostClusterStatusStateCompletionEstimate": {
        "type": "object",
        "description": "Estimated completion status for transitory node states.\n\nSee also *VsanHostNodeState_enum*.\n",
        "properties": {
          "completeTime": {
            "description": "Estimated time of completion.\n",
            "type": "string",
            "format": "date-time"
          },
          "percentComplete": {
            "description": "Estimated percent of completion as a value in the range \\[0, 100\\].\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostClusterStatusStateCompletionEstimate": {
        "type": "object",
        "description": "A boxed array of *VsanHostClusterStatusStateCompletionEstimate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostClusterStatusStateCompletionEstimate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostConfigInfo": {
        "type": "object",
        "description": "The *VsanHostConfigInfo* data object contains host-specific settings\nfor the VSAN service.\n\nThis data object is used both for specifying\nsettings for updating the VSAN service, and as an output datatype\nwhen retrieving current VSAN service settings.\n",
        "properties": {
          "enabled": {
            "description": "Whether the VSAN service is currently enabled on this host.\n",
            "type": "boolean"
          },
          "hostSystem": {
            "description": "The *HostSystem* for this host.\n\nThis argument is required when this configuration is specified as\nan input to VC-level APIs. When this configuration is specified\nto a host-level direct API, this argument may be omitted.\n\nSee also *ComputeResource.ReconfigureComputeResource_Task*, *HostVsanSystem.UpdateVsan_Task*.\n\nRefers instance of *HostSystem*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "clusterInfo": {
            "description": "The VSAN service cluster configuration for this host.\n",
            "$ref": "#/components/schemas/VsanHostConfigInfoClusterInfo"
          },
          "storageInfo": {
            "description": "The VSAN storage configuration for this host.\n\nVSAN storage configuration settings are independent of the\ncurrent value of *VsanHostConfigInfo.enabled*.\n",
            "$ref": "#/components/schemas/VsanHostConfigInfoStorageInfo"
          },
          "networkInfo": {
            "description": "The VSAN network configuration for this host.\n\nVSAN network configuration settings are independent of the\ncurrent value of *VsanHostConfigInfo.enabled*.\n",
            "$ref": "#/components/schemas/VsanHostConfigInfoNetworkInfo"
          },
          "faultDomainInfo": {
            "description": "The VSAN fault domain configuration for this host.\n\nVSAN host fault domain settings are independent of the\ncurrent value of *VsanHostConfigInfo.enabled*.\n",
            "$ref": "#/components/schemas/VsanHostFaultDomainInfo"
          },
          "vsanEsaEnabled": {
            "description": "Whether the vSAN ESA is enabled on this host.\n\nThis can only be\nenabled when vSAN is enabled on this host.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VsanHostConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostConfigInfoClusterInfo": {
        "type": "object",
        "description": "Host-local VSAN cluster configuration.\n\nThis data object is used\nboth for specifying and retrieving cluster configuration for a\nhost participating in the VSAN service.\n",
        "properties": {
          "uuid": {
            "description": "VSAN service cluster UUID, in the string form\n\"nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn\", where n are hexadecimal\ndigits.\n\nIf provided while enabling the VSAN service, this value will be\nused for the service cluster UUID. If omitted when enabling the\nVSAN service, a suitable UUID will be generated by the platform.\nThis is a read-only value while the VSAN service is enabled.\n",
            "type": "string"
          },
          "nodeUuid": {
            "description": "VSAN node UUID for this host.\n\nThis is a read-only value which is populated upon enabling of the\nVSAN service.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostConfigInfoClusterInfo": {
        "type": "object",
        "description": "A boxed array of *VsanHostConfigInfoClusterInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostConfigInfoClusterInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostFaultDomainInfo": {
        "type": "object",
        "description": "Host-local VSAN fault domain configuration.\n\nThis data object is used\nboth for specifying and retrieving fault domain configuration for a\nhost participating in the VSAN service.\n",
        "properties": {
          "name": {
            "description": "The configured VSAN fault domain.\n\nThe length of fault domain name should not exceed 256.\nEmpty string indicates that the default fault domain is used.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostFaultDomainInfo": {
        "type": "object",
        "description": "A boxed array of *VsanHostFaultDomainInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostFaultDomainInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostConfigInfoNetworkInfo": {
        "type": "object",
        "description": "Host-local VSAN network configuration.\n\nThis data object is used\nboth for specifying and retrieving network configuration for a\nhost participating in the VSAN service.\n",
        "properties": {
          "port": {
            "description": "Set of PortConfig entries for use by the VSAN service, one per\n\"virtual network\" as used by VSAN.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostConfigInfoNetworkInfoPortConfig"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostConfigInfoNetworkInfo": {
        "type": "object",
        "description": "A boxed array of *VsanHostConfigInfoNetworkInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostConfigInfoNetworkInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostConfigInfoNetworkInfoPortConfig": {
        "type": "object",
        "description": "A PortConfig represents a virtual network adapter and its\nconfiguration for use by the VSAN service.\n\nSee also *HostVirtualNic*.\n",
        "properties": {
          "ipConfig": {
            "description": "*VsanHostIpConfig* for this PortConfig.\n",
            "$ref": "#/components/schemas/VsanHostIpConfig"
          },
          "device": {
            "description": "Device name which identifies the network adapter for this\nPortConfig.\n\nSee also *HostVirtualNic.device*.\n",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostConfigInfoNetworkInfoPortConfig": {
        "type": "object",
        "description": "A boxed array of *VsanHostConfigInfoNetworkInfoPortConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostConfigInfoNetworkInfoPortConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostConfigInfoStorageInfo": {
        "type": "object",
        "description": "Host-local VSAN storage configuration.\n\nThis data object is used\nboth for specifying and retrieving storage configuration for a\nhost participating in the VSAN service.\n",
        "properties": {
          "autoClaimStorage": {
            "deprecated": true,
            "description": "Deprecated as this configuration will be deprecated, autoclaim\nwill be no longer supported.\n\nWhether the VSAN service is configured to automatically claim local\nunused storage on this host.\n\nWhen set, the VSAN service will automatically format and use local\ndisks. Side effects from any disk consumption will be reflected in\n*VsanHostConfigInfoStorageInfo.diskMapping*.\nIf this argument is specified as a host-level configuration input\nat the VC-level (see *ClusterConfigInfoEx.vsanHostConfig*),\nit will override that of any cluster-level default value.\n\nSee also *VsanHostConfigInfoStorageInfo.diskMapping*, *ClusterConfigInfoEx.vsanHostConfig*, *VsanClusterConfigInfo.defaultConfig*.\n",
            "type": "boolean"
          },
          "diskMapping": {
            "deprecated": true,
            "description": "Deprecated use *VsanHostConfigInfoStorageInfo.diskMapInfo* instead.\n\nList of *VsanHostDiskMapping* entries in use by the VSAN service.\n\nDiskMappings to be used by the VSAN service may be manually\nspecified using\n*HostVsanSystem.InitializeDisks_Task*.\n\nSee also *HostVsanSystem.InitializeDisks_Task*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskMapping"
            }
          },
          "diskMapInfo": {
            "description": "List of *VsanHostDiskMapping* entries with runtime information from\nthe perspective of this host.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskMapInfo"
            }
          },
          "checksumEnabled": {
            "deprecated": true,
            "description": "Deprecated this attribute was originally used for indicating whether\nhardware checksums is supported on the disks. But in vSphere 2016\nhardware checksums are replaced with software implementation,\nsupported by all disks. This makes current field redundant,\nand its value as an input/output is ignored.\n\nWhether checksum is enabled on all the disks in this host.\n\nIf any disk is not checksum capable or 520 bps formatted,\nwe will skip it.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostConfigInfoStorageInfo": {
        "type": "object",
        "description": "A boxed array of *VsanHostConfigInfoStorageInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostConfigInfoStorageInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostDecommissionMode": {
        "type": "object",
        "description": "A *VsanHostDecommissionMode* defines an action to take upon decommissioning\na host from use with the VSAN service.\n\nIf the VSAN service DecommissionMode is omitted in a call to\n*HostSystem.EnterMaintenanceMode_Task*, the default action chosen\nwill be *ensureObjectAccessibility*.\n\nSee also *HostSystem.EnterMaintenanceMode_Task*, *HostMaintenanceSpec.vsanMode*.\n",
        "properties": {
          "objectAction": {
            "description": "Specifies an action to take with regard to the VSAN service upon\nputting a host into maintenance mode.\n\nSee also *VsanHostDecommissionModeObjectAction_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "objectAction"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostDecommissionMode": {
        "type": "object",
        "description": "A boxed array of *VsanHostDecommissionMode*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDecommissionMode"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostDiskMapInfo": {
        "type": "object",
        "description": "A DiskMapInfo represents a *VsanHostDiskMapping* and its\ncorresponding runtime information.\n\nSee also *VsanHostConfigInfoStorageInfo*, *HostVsanSystem.InitializeDisks_Task*.\n",
        "properties": {
          "mapping": {
            "description": "DiskMapping.\n",
            "$ref": "#/components/schemas/VsanHostDiskMapping"
          },
          "mounted": {
            "description": "Indicates whether the *VsanHostDiskMapping* is mounted.\n",
            "type": "boolean"
          }
        },
        "required": [
          "mapping",
          "mounted"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostDiskMapInfo": {
        "type": "object",
        "description": "A boxed array of *VsanHostDiskMapInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskMapInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostDiskMapResult": {
        "type": "object",
        "description": "A DiskMapResult represents the result of an operation performed\non the set of disks in a *VsanHostDiskMapping*.\n\nSee also *HostVsanSystem.InitializeDisks_Task*, *HostVsanSystem.UpdateVsan_Task*.\n",
        "properties": {
          "mapping": {
            "description": "DiskMapping for this result.\n",
            "$ref": "#/components/schemas/VsanHostDiskMapping"
          },
          "diskResult": {
            "description": "List of results for each disk in the mapping.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskResult"
            }
          },
          "error": {
            "description": "Error information for this result.\n\nSee also *VsanDiskFault*.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "mapping"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostDiskMapResult": {
        "type": "object",
        "description": "A boxed array of *VsanHostDiskMapResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskMapResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostDiskMapping": {
        "type": "object",
        "description": "A *VsanHostDiskMapping* is a set of one SSD *HostScsiDisk* backed\nby a set of one or more non-SSD *HostScsiDisk*.\n\nThe maximum\nallowed *VsanHostDiskMapping* for a host is 5. A maximum set\nof 7 non-SSDs *HostScsiDisk* can be added to the one\nSSD *HostScsiDisk*.\n\nSee also *VsanHostConfigInfoStorageInfo*, *HostVsanSystem.InitializeDisks_Task*.\n",
        "properties": {
          "ssd": {
            "description": "SSD *HostScsiDisk*.\n",
            "$ref": "#/components/schemas/HostScsiDisk"
          },
          "nonSsd": {
            "description": "Set of non-SSD backing *HostScsiDisk*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostScsiDisk"
            }
          }
        },
        "required": [
          "ssd",
          "nonSsd"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostDiskMapping": {
        "type": "object",
        "description": "A boxed array of *VsanHostDiskMapping*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskMapping"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostDiskResult": {
        "type": "object",
        "description": "A DiskResult represents the result of VSAN configuration operation\non a *HostScsiDisk*, and its current eligibility state for use by\nthe VSAN service.\n\nSee also *HostVsanSystem.QueryDisksForVsan*, *HostVsanSystem.UpdateVsan_Task*, *VsanHostDiskResultState_enum*.\n",
        "properties": {
          "disk": {
            "description": "Disk for this result.\n",
            "$ref": "#/components/schemas/HostScsiDisk"
          },
          "state": {
            "description": "State of the disk for this result.\n\nSee also *VsanHostDiskResultState_enum*.\n",
            "type": "string"
          },
          "vsanUuid": {
            "description": "VSAN disk UUID in case this disk is a VSAN disk.\n",
            "type": "string"
          },
          "error": {
            "description": "Error information for this result: may be populated with additional\ninformation about the disk at hand, regardless of the disk's state.\n\nSee also *VsanDiskFault*, *VsanHostDiskResult.state*.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "degraded": {
            "description": "Indicates whether the disk is degraded in VSAN performance.\n\nIf set, indicates the disk performance is degraded in VSAN\nIf unset, it is unknown whether the disk performance is degraded in VSAN.\n",
            "type": "boolean"
          }
        },
        "required": [
          "disk",
          "state"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostDiskResult": {
        "type": "object",
        "description": "A boxed array of *VsanHostDiskResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostIpConfig": {
        "type": "object",
        "description": "An *VsanHostIpConfig* is a pair of multicast IP addresses for use by the VSAN\nservice.\n\nFor VSAN there is one such IpConfig pair per \"virtual network\" as\nrepresented by *VsanHostConfigInfoNetworkInfoPortConfig*.\n\nSee also *VsanHostConfigInfoNetworkInfo*, *VsanHostConfigInfoNetworkInfo.port*, *VsanHostConfigInfoNetworkInfoPortConfig*, *HostVsanSystem.UpdateVsan_Task*.\n",
        "properties": {
          "upstreamIpAddress": {
            "description": "Agent-to-master multicast IP address.\n",
            "type": "string"
          },
          "downstreamIpAddress": {
            "description": "Master-to-agent multicast IP address.\n",
            "type": "string"
          }
        },
        "required": [
          "upstreamIpAddress",
          "downstreamIpAddress"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostIpConfig": {
        "type": "object",
        "description": "A boxed array of *VsanHostIpConfig*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostIpConfig"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostMembershipInfo": {
        "type": "object",
        "description": "The *VsanHostMembershipInfo* data object contains VSAN cluster\nmembership information for a single host, as observed from a\ngiven host.\n\nThis data object is used to represent read-only\nstate whose values may change during operation.\n\nSee also *HostRuntimeInfo.vsanRuntimeInfo*.\n",
        "properties": {
          "nodeUuid": {
            "description": "VSAN node UUID for the host of this MembershipInfo.\n\nSee also *VsanHostClusterStatus.nodeUuid*.\n",
            "type": "string"
          },
          "hostname": {
            "description": "Hostname for the host of this MembershipInfo.\n\nMay be the empty string \"\" if the hostname is unavailable.\n",
            "type": "string"
          }
        },
        "required": [
          "nodeUuid",
          "hostname"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostMembershipInfo": {
        "type": "object",
        "description": "A boxed array of *VsanHostMembershipInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostMembershipInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostVsanDiskInfo": {
        "type": "object",
        "description": "A VsanDiskInfo represents the additional detailed\ninformation of a ScsiDisk used by VSAN,\nto map physical disk to VSAN disk.\n\nSee also *HostScsiDisk*.\n",
        "properties": {
          "vsanUuid": {
            "description": "Disk UUID in VSAN\n",
            "type": "string"
          },
          "formatVersion": {
            "description": "VSAN file system version number\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vsanUuid",
          "formatVersion"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostVsanDiskInfo": {
        "type": "object",
        "description": "A boxed array of *VsanHostVsanDiskInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostVsanDiskInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostRuntimeInfo": {
        "type": "object",
        "description": "This data object contains VSAN cluster runtime information from\nthe perspective of the host in question.\n\nThis data object is used to represent read-only state whose values\nmay change during operation.\n",
        "properties": {
          "membershipList": {
            "description": "This property reports host membership information.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostMembershipInfo"
            }
          },
          "diskIssues": {
            "description": "List of disk issues detected on this host.\n\nTo retrieve more information on the issues, use\n*HostVsanSystem.QueryDisksForVsan*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostRuntimeInfoDiskIssue"
            }
          },
          "accessGenNo": {
            "description": "Generation number tracking object accessibility.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostRuntimeInfo": {
        "type": "object",
        "description": "A boxed array of *VsanHostRuntimeInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostRuntimeInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostRuntimeInfoDiskIssue": {
        "type": "object",
        "description": "Data structure of reporting a disk issue.\n",
        "properties": {
          "diskId": {
            "description": "Disk uuid, @see vim.host.ScsiLun#uuid\n",
            "type": "string"
          },
          "issue": {
            "description": "Type of issue\n\nSee also *VsanDiskIssueType_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "diskId",
          "issue"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVsanHostRuntimeInfoDiskIssue": {
        "type": "object",
        "description": "A boxed array of *VsanHostRuntimeInfoDiskIssue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostRuntimeInfoDiskIssue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BaseConfigInfo": {
        "type": "object",
        "description": "This data object type contains the basic configuration for\na virtual storage object or a virtual storage object snapshot.\n",
        "properties": {
          "id": {
            "description": "ID of this object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "name": {
            "description": "Descriptive name of this object.\n",
            "type": "string"
          },
          "createTime": {
            "description": "The date and time this object was created.\n",
            "type": "string",
            "format": "date-time"
          },
          "keepAfterDeleteVm": {
            "description": "Choice of the deletion behavior of this virtual storage object.\n\nIf not set, the default value is false.\n",
            "type": "boolean"
          },
          "relocationDisabled": {
            "description": "Is virtual storage object relocation disabled.\n\nIf not set, the default value is false.\n",
            "type": "boolean"
          },
          "nativeSnapshotSupported": {
            "description": "Is virtual storage object supports native snapshot.\n\nIf not set, the default value is false.\n",
            "type": "boolean"
          },
          "changedBlockTrackingEnabled": {
            "description": "If Virtua storage object has changed block tracking enabled.\n\nIf not set, the default value is false.\n",
            "type": "boolean"
          },
          "backing": {
            "description": "Backing of this object.\n",
            "$ref": "#/components/schemas/BaseConfigInfoBackingInfo"
          },
          "metadata": {
            "description": "Metadata associated with the FCD if available.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "vclock": {
            "description": "VClock associated with the fcd when the operation completed.\n\nThe files is unset if the operation is a retrieve.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
            "$ref": "#/components/schemas/vslmVClockInfo"
          },
          "iofilter": {
            "description": "IDs of the IO Filters associated with the virtual disk.\n\nSee *IoFilterInfo.id*.\nThe client cannot modify this information on a virtual machine.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "name",
          "createTime",
          "backing"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfBaseConfigInfo": {
        "type": "object",
        "description": "A boxed array of *BaseConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BaseConfigInfoBackingInfo": {
        "type": "object",
        "description": "The data object type is a base type of backing of a virtual\nstorage object.\n",
        "properties": {
          "datastore": {
            "description": "The datastore managed object where this backing is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfBaseConfigInfoBackingInfo": {
        "type": "object",
        "description": "A boxed array of *BaseConfigInfoBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseConfigInfoBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BaseConfigInfoDiskFileBackingInfo": {
        "type": "object",
        "description": "The data object type for disk file backing of a virtual storage\nobject.\n\nDisk file backing provides full virtualization of the backend\nstorage.\n",
        "properties": {
          "provisioningType": {
            "description": "Provisioning type.\n\nSee *BaseConfigInfoDiskFileBackingInfoProvisioningType_enum* for the\nsupported types.\n",
            "type": "string"
          }
        },
        "required": [
          "provisioningType"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseConfigInfoFileBackingInfo"
          }
        ]
      },
      "ArrayOfBaseConfigInfoDiskFileBackingInfo": {
        "type": "object",
        "description": "A boxed array of *BaseConfigInfoDiskFileBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseConfigInfoDiskFileBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BaseConfigInfoFileBackingInfo": {
        "type": "object",
        "description": "Information for file backing of a virtual storage\nobject.\n\nFile backing is mainly used for virtual disks.\n",
        "properties": {
          "filePath": {
            "description": "Full file path for the host file used in this backing.\n",
            "type": "string"
          },
          "backingObjectId": {
            "description": "Id refers to the backed storage object where the virtual storage object\nis backed on.\n",
            "type": "string"
          },
          "parent": {
            "description": "The parent of this virtual disk file, if this is a delta disk backing.\n\nThis will be unset if this is the root disk backing.\n\nNote that the type of the backing is consistent throughout the chain;\nany new delta disk backing which is added is of the same type as the\noriginal disk. Also note that since the parent backing is not being\nwritten to, it is possible that the parent backing may be shared among\nmultiple disks.\n\nOnly raw disk mappings in\n*virtual compatibility mode* can have parents.\n",
            "$ref": "#/components/schemas/BaseConfigInfoFileBackingInfo"
          },
          "deltaSizeInMB": {
            "description": "Size allocated by the FS for this file/chain/link/extent only.\n\nThis property is used only for a delta disk whose\n*BaseConfigInfoFileBackingInfo.parent* is set.\n",
            "type": "integer",
            "format": "int64"
          },
          "keyId": {
            "description": "key id used to encrypt the backing disk.\n",
            "$ref": "#/components/schemas/CryptoKeyId"
          }
        },
        "required": [
          "filePath"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseConfigInfoBackingInfo"
          }
        ]
      },
      "ArrayOfBaseConfigInfoFileBackingInfo": {
        "type": "object",
        "description": "A boxed array of *BaseConfigInfoFileBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseConfigInfoFileBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "BaseConfigInfoRawDiskMappingBackingInfo": {
        "type": "object",
        "description": "This data object type contains information about raw device mapping.\n",
        "properties": {
          "lunUuid": {
            "description": "Unique identifier of the LUN accessed by the raw disk mapping.\n",
            "type": "string"
          },
          "compatibilityMode": {
            "description": "The compatibility mode of the raw disk mapping (RDM).\n\nThis must be\nspecified when a new virtual disk with an RDM backing is created.\n\nSee also *VirtualDiskCompatibilityMode_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "lunUuid",
          "compatibilityMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseConfigInfoFileBackingInfo"
          }
        ]
      },
      "ArrayOfBaseConfigInfoRawDiskMappingBackingInfo": {
        "type": "object",
        "description": "A boxed array of *BaseConfigInfoRawDiskMappingBackingInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseConfigInfoRawDiskMappingBackingInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmCloneSpec": {
        "type": "object",
        "description": "Specification of cloning a virtual storage object.\n",
        "properties": {
          "name": {
            "description": "Descriptive name of the cloned virtual storage object.\n",
            "type": "string"
          },
          "keepAfterDeleteVm": {
            "description": "Choice of the deletion behavior of this virtual storage object.\n\nIf not set, the default value is false.\n",
            "type": "boolean"
          },
          "metadata": {
            "description": "The metadata KV pairs that are supposed to be updated on the destination\nvirtual storage object.\n\nThe clone task is atomic by design. That being\nsaid, failing to update the specified metadata pairs leads to the failure\nof the clone task. If unset, no metadata will be updated. An empty string\nvalue is indicative of a vcenter tag.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VslmMigrateSpec"
          }
        ]
      },
      "ArrayOfVslmCloneSpec": {
        "type": "object",
        "description": "A boxed array of *VslmCloneSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmCloneSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmCreateSpec": {
        "type": "object",
        "description": "Specification to create a virtual storage object.\n",
        "properties": {
          "name": {
            "description": "Descriptive name of this virtual storage object.\n",
            "type": "string"
          },
          "keepAfterDeleteVm": {
            "description": "Choice of the deletion behavior of this virtual storage object.\n\nIf not set, the default value is true.\n",
            "type": "boolean"
          },
          "backingSpec": {
            "description": "Specification of the backings of the virtual storage object.\n",
            "$ref": "#/components/schemas/VslmCreateSpecBackingSpec"
          },
          "capacityInMB": {
            "description": "Size in MB of the virtual storage object.\n",
            "type": "integer",
            "format": "int64"
          },
          "profile": {
            "description": "Virtual storage object Profile requirement.\n\nIf unset,\nthe default behavior will apply.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "crypto": {
            "description": "Crypto operation of the disk.\n\nIf unset and if *VslmCreateSpec.profile* contains an encryption iofilter,\nthen crypto will be of type CryptoSpecEncrypt, and filled with\nkeyId that is automatically generated and keyProviderId that is the\ndefault kms cluster.\n",
            "$ref": "#/components/schemas/CryptoSpec"
          },
          "metadata": {
            "description": "The metadata KV pairs that are supposed to be created on the newly created\nvirtual storage object.\n\nThe create task is atomic by design. That being\nsaid, failing to add the specified metadata pairs leads to the failure\nof the create task. If unset, no metadata will be added. An empty string\nvalue is indicative of a vcenter tag.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          }
        },
        "required": [
          "name",
          "backingSpec",
          "capacityInMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmCreateSpec": {
        "type": "object",
        "description": "A boxed array of *VslmCreateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmCreateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmCreateSpecBackingSpec": {
        "type": "object",
        "description": "Specification of the backing of a virtual\nstorage object.\n",
        "properties": {
          "datastore": {
            "description": "The datastore managed object where this backing is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "path": {
            "description": "Relative location in the specified datastore where disk needs to be\ncreated.\n\nIf not specified disk gets created at the defualt\nVStorageObject location on the specified datastore.\n",
            "type": "string"
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmCreateSpecBackingSpec": {
        "type": "object",
        "description": "A boxed array of *VslmCreateSpecBackingSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmCreateSpecBackingSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmCreateSpecDiskFileBackingSpec": {
        "type": "object",
        "description": "Specification of the disk file backing of a virtual\nstorage object.\n",
        "properties": {
          "provisioningType": {
            "description": "Provisioning type.\n\nSee also *BaseConfigInfoDiskFileBackingInfoProvisioningType_enum*\n\nIf unset, system will first look up the provisioning type specified\nin the policy. If still not found, the default\n*thin*\nwill be used..\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VslmCreateSpecBackingSpec"
          }
        ]
      },
      "ArrayOfVslmCreateSpecDiskFileBackingSpec": {
        "type": "object",
        "description": "A boxed array of *VslmCreateSpecDiskFileBackingSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmCreateSpecDiskFileBackingSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmCreateSpecRawDiskMappingBackingSpec": {
        "type": "object",
        "description": "Specification of the rdm backing of a virtual\nstorage object.\n",
        "properties": {
          "lunUuid": {
            "description": "Unique identifier of the LUN accessed by the raw disk mapping.\n",
            "type": "string"
          },
          "compatibilityMode": {
            "description": "The compatibility mode of the raw disk mapping (RDM).\n\nThis must be specified\nwhen a new virtual disk with an RDM backing is created.\n\nSee also *VirtualDiskCompatibilityMode_enum*.\n",
            "type": "string"
          }
        },
        "required": [
          "lunUuid",
          "compatibilityMode"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VslmCreateSpecBackingSpec"
          }
        ]
      },
      "ArrayOfVslmCreateSpecRawDiskMappingBackingSpec": {
        "type": "object",
        "description": "A boxed array of *VslmCreateSpecRawDiskMappingBackingSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmCreateSpecRawDiskMappingBackingSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DiskCryptoSpec": {
        "type": "object",
        "description": "This data object type contains the crypto information of all disks along\nthe chain\n",
        "properties": {
          "parent": {
            "description": "The parent in the chain.\n",
            "$ref": "#/components/schemas/DiskCryptoSpec"
          },
          "crypto": {
            "description": "Crypto information of the current disk.\n",
            "$ref": "#/components/schemas/CryptoSpec"
          }
        },
        "required": [
          "crypto"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDiskCryptoSpec": {
        "type": "object",
        "description": "A boxed array of *DiskCryptoSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskCryptoSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ID": {
        "type": "object",
        "description": "This data object type describes an identifier class which\nis globally unique to identify the associated object.\n",
        "properties": {
          "id": {
            "description": "Id string which is globally unique to identify\nan object.\n",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfID": {
        "type": "object",
        "description": "A boxed array of *ID*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ID"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "vslmInfrastructureObjectPolicy": {
        "type": "object",
        "description": "The data object type describes improved virtual disk infrastructure namespace\nstorage policy details.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "backingObjectId": {
            "type": "string"
          },
          "profileId": {
            "type": "string"
          },
          "error": {
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "name",
          "backingObjectId",
          "profileId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfvslmInfrastructureObjectPolicy": {
        "type": "object",
        "description": "A boxed array of *vslmInfrastructureObjectPolicy*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/vslmInfrastructureObjectPolicy"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "vslmInfrastructureObjectPolicySpec": {
        "type": "object",
        "description": "Specification to assign a SPBM policy to FCD infrastructure object\n(namespace).\n\nThis is used in object-based storage.\n",
        "properties": {
          "datastore": {
            "description": "Datastore on which datastore policy needs to be assigned.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "profile": {
            "description": "SPBM Profile to associate.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          }
        },
        "required": [
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfvslmInfrastructureObjectPolicySpec": {
        "type": "object",
        "description": "A boxed array of *vslmInfrastructureObjectPolicySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/vslmInfrastructureObjectPolicySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmMigrateSpec": {
        "type": "object",
        "description": "Base specification of moving or copying a virtual storage object.\n",
        "properties": {
          "backingSpec": {
            "description": "Specification of the backings of the target virtual storage object.\n",
            "$ref": "#/components/schemas/VslmCreateSpecBackingSpec"
          },
          "profile": {
            "description": "Virtual storage object Profile requirement.\n\nIf unset,\nthe default behavior will apply.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineProfileSpec"
            }
          },
          "consolidate": {
            "description": "Flag indicates any delta disk backings will be consolidated\nduring migration.\n\nIf unset, delta disk backings will not be\nconsolidated.\n",
            "type": "boolean"
          },
          "disksCrypto": {
            "description": "Disk chain crypto information.\n\nIf unset and if *VslmMigrateSpec.profile* contains an encryption iofilter and if\nsource VStorageObject is unencrypted, then disksCyrpto will be of type\nCryptoSpecEncrypt, and filled with keyId that is automatically generated\nand keyProviderId that is the default kms cluster. During the migration,\nthe object will be encrypted.\nIf unset and if *VslmMigrateSpec.profile* is a default policy and if source\nVStorageObject is unenrypted, then disksCrypto is treated as\nCryptoSpecNoOp. During migration, no cryptographic change.\nIf unset and if *VslmMigrateSpec.profile* contains an encryption iofilter and if\nsource VStorageObject is encrypted, then disksCyrpto is treated as\nCryptoSpecNoOp. During migration, no cryptographic change.\nIf unset and if *VslmMigrateSpec.profile* is a default policy and if\nsource VStorageObject is encrypted, then disksCyrpto is treated as\nCryptoSpecDecrypt, during migration, the object will be decrypted.\nTo recrypt the disk during migration, disksCrypto has to be present.\n",
            "$ref": "#/components/schemas/DiskCryptoSpec"
          },
          "service": {
            "description": "The service endpoint of vCenter where the FCD should be located.\n\nIf\nnot specified the current vCenter service is used.\n\n***Since:*** vSphere API Release 8.0.3.0\n",
            "$ref": "#/components/schemas/ServiceLocator"
          }
        },
        "required": [
          "backingSpec"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmMigrateSpec": {
        "type": "object",
        "description": "A boxed array of *VslmMigrateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmMigrateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmRelocateSpec": {
        "type": "object",
        "description": "Specification for relocating a virtual storage object.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VslmMigrateSpec"
          }
        ]
      },
      "ArrayOfVslmRelocateSpec": {
        "type": "object",
        "description": "A boxed array of *VslmRelocateSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmRelocateSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VStorageObjectStateInfo": {
        "type": "object",
        "description": "Contains information of a virtual storage object state.\n\nNOTE: The information obtained with this object is dynamic and it could\nchange during the lifetime of the object. For performance purposes some\nof the data may not reflect the immediate state of the object, also there\nis not guarantee that it will be provided.\n",
        "properties": {
          "tentative": {
            "description": "If set this flag indicates that the object currently is part of\nprovisioning operation or the last operation has not finished gracefully.\n\nThere are maintenance procedures that are working on resolving that\ntentative state. Note that this might result in the object to be removed.\n",
            "type": "boolean"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVStorageObjectStateInfo": {
        "type": "object",
        "description": "A boxed array of *VStorageObjectStateInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectStateInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmTagEntry": {
        "type": "object",
        "description": "Specification of the Tag-Association tuple of Dataservice Tagging package.\n\nThis class is a subset of the class dataservice.taggging.TaggingEntry.\n",
        "properties": {
          "tagName": {
            "description": "Associated tag name of the Tag-Association tuple\n",
            "type": "string"
          },
          "parentCategoryName": {
            "description": "Associated parent category name of the Tag-Association tuple\n",
            "type": "string"
          }
        },
        "required": [
          "tagName",
          "parentCategoryName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmTagEntry": {
        "type": "object",
        "description": "A boxed array of *VslmTagEntry*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmTagEntry"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "vslmVClockInfo": {
        "type": "object",
        "description": "Virtual clock info of VStorageObject catalog.\n",
        "properties": {
          "vClockTime": {
            "description": "Virtual clock time of VStorageObject catalog.\n\nIt is an epoch or\ngeneration ID assigned to each VStorageObject operation on a datastore.\n",
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "vClockTime"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfvslmVClockInfo": {
        "type": "object",
        "description": "A boxed array of *vslmVClockInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/vslmVClockInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VStorageObject": {
        "type": "object",
        "description": "This data object type describes a virtual storage object.\n",
        "properties": {
          "config": {
            "description": "Virtual storage object configuration\n",
            "$ref": "#/components/schemas/VStorageObjectConfigInfo"
          }
        },
        "required": [
          "config"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVStorageObject": {
        "type": "object",
        "description": "A boxed array of *VStorageObject*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObject"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VStorageObjectConfigInfo": {
        "type": "object",
        "description": "Data object specifies Virtual storage object configuration\n",
        "properties": {
          "descriptorVersion": {
            "description": "The descriptor version of this object\n\n***Since:*** vSphere API Release 8.0.1.0\n",
            "type": "integer",
            "format": "int32"
          },
          "capacityInMB": {
            "description": "The size in MB of this object.\n",
            "type": "integer",
            "format": "int64"
          },
          "consumptionType": {
            "description": "Consumption type of this object.\n\nSee also *VStorageObjectConsumptionType_enum*.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "consumerId": {
            "description": "IDs of the consumer objects which consume this vstorage object.\n\nFor a virtual disk, this can be VM ID(s).\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ID"
            }
          }
        },
        "required": [
          "capacityInMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseConfigInfo"
          }
        ]
      },
      "ArrayOfVStorageObjectConfigInfo": {
        "type": "object",
        "description": "A boxed array of *VStorageObjectConfigInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectConfigInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VStorageObjectSnapshot": {
        "type": "object",
        "description": "This data object type contains ID and VClock details of a virtual disk snapshot.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "id": {
            "description": "ID of this snapshot object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "vclock": {
            "description": "VClock associated with the FCD when the operation completes.\n",
            "$ref": "#/components/schemas/vslmVClockInfo"
          }
        },
        "required": [
          "id",
          "vclock"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVStorageObjectSnapshot": {
        "type": "object",
        "description": "A boxed array of *VStorageObjectSnapshot*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectSnapshot"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VStorageObjectSnapshotDetails": {
        "type": "object",
        "description": "This data object type provides details of a vstorage object snapshot\n",
        "properties": {
          "path": {
            "description": "Path of the snaphost object\n",
            "type": "string"
          },
          "changedBlockTrackingId": {
            "description": "Changed block tracking ID of the snapshot\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVStorageObjectSnapshotDetails": {
        "type": "object",
        "description": "A boxed array of *VStorageObjectSnapshotDetails*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectSnapshotDetails"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VStorageObjectSnapshotInfo": {
        "type": "object",
        "description": "This data object type contains the brief information of a\nvirtual storage snapshot.\n",
        "properties": {
          "snapshots": {
            "description": "An array of snapshots\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectSnapshotInfoVStorageObjectSnapshot"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVStorageObjectSnapshotInfo": {
        "type": "object",
        "description": "A boxed array of *VStorageObjectSnapshotInfo*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectSnapshotInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VStorageObjectSnapshotInfoVStorageObjectSnapshot": {
        "type": "object",
        "properties": {
          "id": {
            "description": "ID of the snapshot object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "backingObjectId": {
            "description": "Backing object ID\n",
            "type": "string"
          },
          "createTime": {
            "description": "The date and time this object was created.\n",
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "description": "Short description of the snapshot\n",
            "type": "string"
          }
        },
        "required": [
          "createTime",
          "description"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot": {
        "type": "object",
        "description": "A boxed array of *VStorageObjectSnapshotInfoVStorageObjectSnapshot*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectSnapshotInfoVStorageObjectSnapshot"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RetrieveVStorageObjSpec": {
        "type": "object",
        "description": "This data object is a pair of the virtural storage object id and\nits datastore.\n",
        "properties": {
          "id": {
            "description": "ID of this virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "datastore": {
            "description": "Datastore where the object is located.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "id",
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfRetrieveVStorageObjSpec": {
        "type": "object",
        "description": "A boxed array of *RetrieveVStorageObjSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RetrieveVStorageObjSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VStorageObjectAssociations": {
        "type": "object",
        "description": "This data object is a key-value pair whose key is the virtual storage\nobject id, and value is the vm association information.\n",
        "properties": {
          "id": {
            "description": "ID of this virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "vmDiskAssociations": {
            "description": "Array of vm associations related to the virtual storage object.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectAssociationsVmDiskAssociations"
            }
          },
          "fault": {
            "description": "Received error while generating associations.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVStorageObjectAssociations": {
        "type": "object",
        "description": "A boxed array of *VStorageObjectAssociations*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectAssociations"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VStorageObjectAssociationsVmDiskAssociations": {
        "type": "object",
        "description": "This data object contains infomation of a VM Disk associations.\n",
        "properties": {
          "vmId": {
            "description": "ID of the virtual machine.\n",
            "type": "string"
          },
          "diskKey": {
            "description": "Device key of the disk attached to the VM.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vmId",
          "diskKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVStorageObjectAssociationsVmDiskAssociations": {
        "type": "object",
        "description": "A boxed array of *VStorageObjectAssociationsVmDiskAssociations*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VStorageObjectAssociationsVmDiskAssociations"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DataObject": {
        "type": "object",
        "description": "This is the built-in base interface implemented by all\ndata objects.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfDataObject": {
        "type": "object",
        "description": "A boxed array of *DataObject*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataObject"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DynamicArray": {
        "type": "object",
        "description": "DynamicArray is a data object type that represents an array of dynamically-typed\nobjects.\n\nA client should only see a DynamicArray object when the element type\nis unknown (meaning the type is newer than the client). Otherwise, a client would\nsee the type as T\\[\\] where T is known.\n",
        "properties": {
          "val": {
            "description": "Array of dynamic values.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Any"
            }
          }
        },
        "required": [
          "val"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDynamicArray": {
        "type": "object",
        "description": "A boxed array of *DynamicArray*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicArray"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DynamicProperty": {
        "type": "object",
        "description": "The DynamicProperty data object type represents a name-value pair.\n",
        "properties": {
          "name": {
            "description": "Path to the property.\n",
            "type": "string"
          },
          "val": {
            "description": "Value of the property.\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "name",
          "val"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfDynamicProperty": {
        "type": "object",
        "description": "A boxed array of *DynamicProperty*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "KeyAnyValue": {
        "type": "object",
        "description": "Non-localized key/value pair in which the\nthe value can be of any type.\n",
        "properties": {
          "key": {
            "description": "the key\n",
            "type": "string"
          },
          "value": {
            "description": "the value\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfKeyAnyValue": {
        "type": "object",
        "description": "A boxed array of *KeyAnyValue*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LocalizableMessage": {
        "type": "object",
        "description": "Message data which is intended to be displayed according\nto the locale of a client.\n\nA *LocalizableMessage* contains both a formatted, localized\nversion of the text and the data needed to perform localization in\nconjunction with localization catalogs.\n\nClients of the VIM API may use vim.SessionManager.setLocale()\nto cause the server to emit a localized *LocalizableMessage.message*, or may perform\nclient-side localization based on message catalogs provided by the\nserver.\n- If the substition variable is a string, no further lookup is required.\n  - *LocalizableMessage.arg* = \\[(\"address\" = \"127.0.0.1\")\\]\n  - CATALOG(locmsg, *LocalizableMessage.key*) = \"IP address is {address}\"\n  - \\==&gt; *LocalizableMessage.message* = \"IP address is 127.0.0.1\"\n- If the substitution variable is an integer, value is a lookup key.\n  - *LocalizableMessage.arg* = \\[(\"1\" = \"button.cancel\"), (\"2\" = \"msg.revert\")\\]\n  - CATALOG(locmsg, *LocalizableMessage.key*) = \"Select '{1}' to {2}\"\n  - CATALOG(locmsg, button.cancel) = \"Cancel\"\n  - CATALOG(locmsg, msg.revert) = \"revert\"\n  - \\==&gt; *LocalizableMessage.message* = \"Select 'Cancel' to revert\"\n- If the variable contains '@', value is a label lookup in another\n  catalog, where {name.@CATALOG.prefix} looks up prefix.*LocalizableMessage.arg*\\[name\\].label\n  in CATALOG.\n  - *LocalizableMessage.arg* = \\[(\"field\" = \"queued\")\\]\n  - CATALOG(locmsg, *LocalizableMessage.key*) = \"State is {field.@enum.TaskInfo.State}\"\n  - CATALOG(enum, TaskInfo.State.queued.label) is \"Queued\"\n  - \\==&gt; *LocalizableMessage.message* = \"State is Queued\"\n",
        "properties": {
          "key": {
            "description": "Unique key identifying the message in the localized message catalog.\n",
            "type": "string"
          },
          "arg": {
            "description": "Substitution arguments for variables in the localized message.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyAnyValue"
            }
          },
          "message": {
            "description": "Message in session locale.\n\nUse vim.SessionManager.setLocale() to change the session locale.\n",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLocalizableMessage": {
        "type": "object",
        "description": "A boxed array of *LocalizableMessage*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LocalizedMethodFault": {
        "type": "object",
        "description": "A wrapper class used to pass MethodFault data objects over the wire\nalong with a localized display message for the fault.\n",
        "properties": {
          "fault": {
            "$ref": "#/components/schemas/MethodFault"
          },
          "localizedMessage": {
            "description": "The localized message that would be sent in the faultstring element\nof the SOAP Fault.\n\nIt is optional so that clients are not required\nto send a localized message to the server, but servers are required\nto send the localized message to clients.\n",
            "type": "string"
          }
        },
        "required": [
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfLocalizedMethodFault": {
        "type": "object",
        "description": "A boxed array of *LocalizedMethodFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizedMethodFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MethodFault": {
        "type": "object",
        "description": "The base data object type for all the object model faults\nthat an application might handle.\n",
        "properties": {
          "faultCause": {
            "description": "Fault which is the cause of this fault.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "faultMessage": {
            "description": "Message which has details about the error\nMessage can also contain a key to message catalog which\ncan be used to generate better localized messages.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalizableMessage"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfMethodFault": {
        "type": "object",
        "description": "A boxed array of *MethodFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RuntimeFault": {
        "type": "object",
        "description": "The base data object type for all runtime faults that can be\nthrown by a method.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfRuntimeFault": {
        "type": "object",
        "description": "A boxed array of *RuntimeFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RuntimeFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCommunication": {
        "type": "object",
        "description": "A HostCommunication fault is thrown if an error happened\nwhile communicating to a host.\n\nThis would typically be\ndue to network connections or server failures.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfHostCommunication": {
        "type": "object",
        "description": "A boxed array of *HostCommunication*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostCommunication"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNotConnected": {
        "type": "object",
        "description": "A HostNotConnected fault is thrown if a method needs\nto communicate with a host that has been disconnected in\nVirtualCenter.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostCommunication"
          }
        ]
      },
      "ArrayOfHostNotConnected": {
        "type": "object",
        "description": "A boxed array of *HostNotConnected*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNotConnected"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostNotReachable": {
        "type": "object",
        "description": "A HostNotReachable fault is thrown if the server was unable\nto communicate with the host\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/HostCommunication"
          }
        ]
      },
      "ArrayOfHostNotReachable": {
        "type": "object",
        "description": "A boxed array of *HostNotReachable*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostNotReachable"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidArgument": {
        "type": "object",
        "description": "An InvalidArgument exception is thrown if the\nset of arguments passed to the function is not\nspecified correctly.\n",
        "properties": {
          "invalidProperty": {
            "description": "Optional name of the invalid property.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfInvalidArgument": {
        "type": "object",
        "description": "A boxed array of *InvalidArgument*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidArgument"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidRequest": {
        "type": "object",
        "description": "An InvalidRequest fault is thrown in response to a malformed\nrequest to the server that fails in the transport layer, e.g.,\nthe SOAP XML request was invalid.\n\nSub-types of this fault,\nprovides more specific transport errors, such as a using a\nreference to an unknown managed object type or method.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfInvalidRequest": {
        "type": "object",
        "description": "A boxed array of *InvalidRequest*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidRequest"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidType": {
        "type": "object",
        "description": "InvalidType is thrown when a managed object request refers to\nan unexpected or unknown type.\n",
        "properties": {
          "argument": {
            "description": "Name of the argument that was malformed.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidRequest"
          }
        ]
      },
      "ArrayOfInvalidType": {
        "type": "object",
        "description": "A boxed array of *InvalidType*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidType"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ManagedObjectNotFound": {
        "type": "object",
        "description": "A ManagedObjectNotFound exception is thrown when a request refers to\na managed object that no longer exists or has never existed.\n",
        "properties": {
          "obj": {
            "description": "The managed object reference that generated the error.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "obj"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfManagedObjectNotFound": {
        "type": "object",
        "description": "A boxed array of *ManagedObjectNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MethodNotFound": {
        "type": "object",
        "description": "MethodNotFound is thrown to indicate that a method called on a managed\nobject does not exist.\n",
        "properties": {
          "receiver": {
            "description": "The receiver of the call\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "method": {
            "description": "The method called.\n",
            "type": "string"
          }
        },
        "required": [
          "receiver",
          "method"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/InvalidRequest"
          }
        ]
      },
      "ArrayOfMethodNotFound": {
        "type": "object",
        "description": "A boxed array of *MethodNotFound*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MethodNotFound"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotEnoughLicenses": {
        "type": "object",
        "description": "A NotEnoughLicensesFault occurs when an operation\nfails because there are not enough licenses installed.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfNotEnoughLicenses": {
        "type": "object",
        "description": "A boxed array of *NotEnoughLicenses*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotEnoughLicenses"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotImplemented": {
        "type": "object",
        "description": "NotImplemented exception is thrown if the method is not\nyet implemented.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfNotImplemented": {
        "type": "object",
        "description": "A boxed array of *NotImplemented*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotImplemented"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "NotSupported": {
        "type": "object",
        "description": "Thrown if the method is not supported on the\nserver.\n\nNot all methods are supported on all servers\n(for example, an ESX Server host supports less functionality than\na VirtualCenter server). A feature might also be disabled\ndue to missing liceneses.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfNotSupported": {
        "type": "object",
        "description": "A boxed array of *NotSupported*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotSupported"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RequestCanceled": {
        "type": "object",
        "description": "A RequestCanceled fault is thrown if the user canceled the task.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfRequestCanceled": {
        "type": "object",
        "description": "A boxed array of *RequestCanceled*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequestCanceled"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SecurityError": {
        "type": "object",
        "description": "Thrown when the client is not allowed access to the property or method.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfSecurityError": {
        "type": "object",
        "description": "A boxed array of *SecurityError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecurityError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SystemError": {
        "type": "object",
        "description": "Exception type for reporting a low-level operating system\nerror.\n",
        "properties": {
          "reason": {
            "description": "A message to indicate detailed information about the error.\n\nThis property is not internationalization friendly and\nnormally reported by the underlying operating system.\n",
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfSystemError": {
        "type": "object",
        "description": "A boxed array of *SystemError*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SystemError"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UnexpectedFault": {
        "type": "object",
        "description": "An UnexpectedFault may be thrown when a newer version of the server\nreports a error that a cannot be converted to a fault that a client\nthat is using an older version of the API would expect.\n",
        "properties": {
          "faultName": {
            "description": "Name of the unexpected fault.\n",
            "type": "string"
          },
          "fault": {
            "description": "The unexpected fault if the server can send it in a form that the client\nwill be able to de-serialize.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "faultName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/RuntimeFault"
          }
        ]
      },
      "ArrayOfUnexpectedFault": {
        "type": "object",
        "description": "A boxed array of *UnexpectedFault*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnexpectedFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidCollectorVersion": {
        "type": "object",
        "description": "InvalidCollectorVersion is thrown when a collector version is out\nof date or invalid.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfInvalidCollectorVersion": {
        "type": "object",
        "description": "A boxed array of *InvalidCollectorVersion*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidCollectorVersion"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "InvalidProperty": {
        "type": "object",
        "description": "Thrown when an invalid property path has been referenced.\n",
        "properties": {
          "name": {
            "description": "The property name that generated the error.\n",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfInvalidProperty": {
        "type": "object",
        "description": "A boxed array of *InvalidProperty*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PropertyChange": {
        "type": "object",
        "description": "Describes a change to a property.\n",
        "properties": {
          "name": {
            "description": "Property or nested property to which the change applies.\n\nNested\nproperties are specified by paths; for example,\n- foo.bar\n- foo.arProp\\[\"key val\"\\]\n- foo.arProp\\[\"key val\"\\].baz\n",
            "type": "string"
          },
          "op": {
            "description": "Change operation for the property.\n\nValid values are:\n<dl>\n<dt>add</dt>\n<dd>The property is a collection and the change inserts an element\ninto the collection.</dd>\n<dt>remove</dt>\n<dd>The property is a collection and the change deletes an element\nfrom the collection.</dd>\n<dt>assign</dt>\n<dd>The change is a new value for the property.</dd>\n<dt>indirectRemove</dt>\n<dd>The property was removed because a containing property was removed\nor unset</dd>\n</dl>\n",
            "$ref": "#/components/schemas/PropertyChangeOp_enum"
          },
          "val": {
            "description": "New value for the property when \"op\" is either \"add\" or \"assign\".\n",
            "$ref": "#/components/schemas/Any"
          }
        },
        "required": [
          "name",
          "op"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPropertyChange": {
        "type": "object",
        "description": "A boxed array of *PropertyChange*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyChange"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PropertyFilterSpec": {
        "type": "object",
        "description": "Specify the property data that is included in a filter.\n\nA filter can\nspecify part of a single managed object, or parts of multiple related\nmanaged objects in an inventory hierarchy - for example, to collect\nupdates from all virtual machines in a given folder.\n",
        "properties": {
          "propSet": {
            "description": "Set of properties to include in the filter, specified for each object\ntype.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertySpec"
            }
          },
          "objectSet": {
            "description": "Set of specifications that determine the objects to filter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectSpec"
            }
          },
          "reportMissingObjectsInResults": {
            "description": "Control how to report missing objects during filter creation.\n\nIf false or unset and *PropertyFilterSpec.objectSet* refers to missing objects,\nfilter creation will fail with a *ManagedObjectNotFound* fault.\n\nIf true and *PropertyFilterSpec.objectSet* refers\nto missing objects, filter creation will not fail and missing objects\nwill be reported via filter results. This is the recommended setting\nwhen *PropertyFilterSpec.objectSet* refers to\ntransient objects.\n\nIn an *UpdateSet* missing objects will\nappear in the *PropertyFilterUpdate.missingSet* field.\n\nIn a *RetrieveResult* missing objects will\nsimply be omitted from the objects field.\n\nFor a call to *PropertyCollector.RetrieveProperties* missing objects will simply\nbe omitted from the results.\n",
            "type": "boolean"
          }
        },
        "required": [
          "propSet",
          "objectSet"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPropertyFilterSpec": {
        "type": "object",
        "description": "A boxed array of *PropertyFilterSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyFilterSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PropertyFilterUpdate": {
        "type": "object",
        "description": "The *PropertyFilterUpdate* data object type contains a\nlist of updates to data visible through a specific filter.\n\nNote that if a\nproperty changes through multiple filters, then a client receives an\nupdate for each filter.\n",
        "properties": {
          "filter": {
            "description": "Filter that was updated.\n\nRefers instance of *PropertyFilter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "objectSet": {
            "description": "Set of changes to object properties in the filter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectUpdate"
            }
          },
          "missingSet": {
            "description": "Objects that could not be found on the server, but were specified in a\n*PropertyFilterSpec.objectSet*.\n\nThis field will only be populated for objects that were determined\nto be missing since the data version passed to *PropertyCollector.CheckForUpdates*, *PropertyCollector.WaitForUpdates*, or *PropertyCollector.WaitForUpdatesEx* and will not contain objects that were missing\nprior to that data version.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingObject"
            }
          }
        },
        "required": [
          "filter"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPropertyFilterUpdate": {
        "type": "object",
        "description": "A boxed array of *PropertyFilterUpdate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyFilterUpdate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingObject": {
        "type": "object",
        "description": "Used for reporting missing objects that were explicitly referenced by a\nfilter spec.\n\nIn other words, any of the objects referenced in *PropertyFilterSpec.objectSet*\n",
        "properties": {
          "obj": {
            "description": "The object that is being reported missing\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "fault": {
            "description": "Fault describing the failure to lookup this object\n\nThe possible faults for missing objects are:\n- *SystemError* if there was some unknown problem\n  looking up the object\n- *ManagedObjectNotFound* if the object is no\n  longer available\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "obj",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfMissingObject": {
        "type": "object",
        "description": "A boxed array of *MissingObject*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingObject"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "MissingProperty": {
        "type": "object",
        "description": "Used for reporting properties for which values could not be retrieved.\n",
        "properties": {
          "path": {
            "description": "Property for which a value could not be retrieved\n",
            "type": "string"
          },
          "fault": {
            "description": "Fault describing the failure to retrieve the property value.\n\nThe possible faults for missing properties are:\n- *SystemError* if there was some unknown problem\n  reading the value\n- *SecurityError* if the logged in session did\n  not have permission to read the value\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "path",
          "fault"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfMissingProperty": {
        "type": "object",
        "description": "A boxed array of *MissingProperty*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingProperty"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ObjectContent": {
        "type": "object",
        "description": "The *ObjectContent* data object type contains the\ncontents retrieved for a single managed object.\n",
        "properties": {
          "obj": {
            "description": "Reference to the managed object that contains properties of interest.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "propSet": {
            "description": "Set of name-value pairs for the properties of the managed object.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicProperty"
            }
          },
          "missingSet": {
            "description": "Properties for which values could not be retrieved and the associated\nfault.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingProperty"
            }
          }
        },
        "required": [
          "obj"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfObjectContent": {
        "type": "object",
        "description": "A boxed array of *ObjectContent*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectContent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ObjectSpec": {
        "type": "object",
        "description": "Within a *PropertyFilterSpec*, the *ObjectSpec* data object type specifies the managed\nobject at which the filter begins to collect the managed object\nreferences and properties specified by the associated *PropertySpec* set.\n\nIf the \"skip\" property is present\nand set to true, then the filter does not check to see if the starting\nobject's type matches any of the types listed in the associated sets of\n*PropertySpec* data objects.\n\nIf the *ObjectSpec.selectSet* property is\npresent, then this specifies additional objects to filter. These objects\nare defined by one or more *SelectionSpec*\nobjects.\n",
        "properties": {
          "obj": {
            "description": "Starting object.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "skip": {
            "description": "Flag to specify whether or not to report this managed object's\nproperties.\n\nIf the flag is true, the filter will not report this\nmanaged object's properties.\n",
            "type": "boolean"
          },
          "selectSet": {
            "description": "Set of selections to specify additional objects to filter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SelectionSpec"
            }
          }
        },
        "required": [
          "obj"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfObjectSpec": {
        "type": "object",
        "description": "A boxed array of *ObjectSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ObjectUpdate": {
        "type": "object",
        "description": "The *ObjectUpdate* data object type contains\ninformation about changes to a particular managed object.\n\nWe distinguish\nupdates when an object is created, destroyed, or modified, as well as\nwhen the object enters or leaves the set of objects dynamically\nassociated with a filter.\n",
        "properties": {
          "kind": {
            "description": "Kind of update that caused the filter to report a change.\n",
            "$ref": "#/components/schemas/ObjectUpdateKind_enum"
          },
          "obj": {
            "description": "Reference to the managed object to which this update applies.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "changeSet": {
            "description": "Optional set of changes to the object.\n\nPresent only if the \"kind\" is\neither \"modify\" or \"enter\".\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyChange"
            }
          },
          "missingSet": {
            "description": "Properties whose value could not be retrieved and their associated\nfaults.\n\nPresent only if the \"kind\" is either \"modify\" or \"enter\".\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissingProperty"
            }
          }
        },
        "required": [
          "kind",
          "obj"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfObjectUpdate": {
        "type": "object",
        "description": "A boxed array of *ObjectUpdate*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectUpdate"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PropertySpec": {
        "type": "object",
        "description": "Within a *PropertyFilterSpec*, A *PropertySpec* specifies which properties should be\nreported to the client for objects of the given managed object type that\nare visited and not skipped.\n\nOne more subtle side effect is that if a\nmanaged object is visited and not skipped, but there is no *PropertySpec* associated with the managed object's\ntype, the managed object will not be reported to the client.\n\nAlso, the set of properties applicable to a given managed object type\nis the union of the properties implied by the *PropertySpec* objects even, in the case of a *RetrieveResult*, where there may be an applicable\n*PropertySpec* in more than one filter.\n",
        "properties": {
          "type": {
            "description": "Name of the managed object type being collected.\n",
            "type": "string"
          },
          "all": {
            "description": "Specifies whether or not all properties of the object are read.\n\nIf\nthis property is set to true, the *PropertySpec.pathSet* property is ignored.\n",
            "type": "boolean"
          },
          "pathSet": {
            "description": "Specifies which managed object properties are retrieved.\n\nIf the *PropertySpec.pathSet* is empty, then the\n*PropertyCollector* retrieves references to the managed objects\nand no managed object properties are collected.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "type"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfPropertySpec": {
        "type": "object",
        "description": "A boxed array of *PropertySpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RetrieveOptions": {
        "type": "object",
        "description": "Options for *PropertyCollector.RetrievePropertiesEx*.\n",
        "properties": {
          "maxObjects": {
            "description": "The maximum number of *ObjectContent* data\nobjects that should be returned in a single result from *PropertyCollector.RetrievePropertiesEx*.\n\nAn unset value indicates that there is no maximum. In this\ncase *PropertyCollector* policy may still limit the number\nof objects. Any remaining objects may be retrieved with *PropertyCollector.ContinueRetrievePropertiesEx*.\n\nA positive value causes *PropertyCollector.RetrievePropertiesEx* to\nsuspend the retrieval when the count of objects reaches the\nspecified maximum. *PropertyCollector* policy may still\nlimit the count to something less than *RetrieveOptions.maxObjects*. Any remaining\nobjects may be retrieved with *PropertyCollector.ContinueRetrievePropertiesEx*.\n\nA value less than or equal to 0 is illegal.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfRetrieveOptions": {
        "type": "object",
        "description": "A boxed array of *RetrieveOptions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RetrieveOptions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "RetrieveResult": {
        "type": "object",
        "description": "Result of *PropertyCollector.RetrievePropertiesEx* and *PropertyCollector.ContinueRetrievePropertiesEx*\n",
        "properties": {
          "token": {
            "description": "A token used to retrieve further retrieve results.\n\nIf set, the token should be passed to *PropertyCollector.ContinueRetrievePropertiesEx* to retrieve more results. Each token\nmay be passed to continueRetrievePropertiesEx only once, and only in\nthe same session in which it was returned and to the same\n*PropertyCollector* object that returned it.\n\nIf unset, there are no further results to retrieve after this\n*RetrieveResult*.\n",
            "type": "string"
          },
          "objects": {
            "description": "retrieved objects.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectContent"
            }
          }
        },
        "required": [
          "objects"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfRetrieveResult": {
        "type": "object",
        "description": "A boxed array of *RetrieveResult*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RetrieveResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SelectionSpec": {
        "type": "object",
        "description": "The *SelectionSpec* is the base type for data\nobject types that specify what additional objects to filter.\n\nThe base\ntype contains only an optional \"name\" field, which allows a selection to\nbe named for future reference. More information is available in the\nsubtype.\n\nNamed selections support recursive specifications on an object\nhierarchy. When used by a derived object, the \"name\" field allows other\n*SelectionSpec* objects to refer to the object by\nname. When used as the base type only, the \"name\" field indicates\nrecursion to the derived object by name.\n\nNames are meaningful only within the same FilterSpec.\n",
        "properties": {
          "name": {
            "description": "Name of the selection specification.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfSelectionSpec": {
        "type": "object",
        "description": "A boxed array of *SelectionSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SelectionSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TraversalSpec": {
        "type": "object",
        "description": "The *TraversalSpec* data object type specifies\nhow to derive a new set of objects to add to the filter.\n\nIt specifies a property path whose value is either another managed\nobject or an array of managed objects included in the set of objects for\nconsideration. This data object can also be named, using the \"name\"\nfield in the base type.\n",
        "properties": {
          "type": {
            "description": "Name of the object type containing the property.\n",
            "type": "string"
          },
          "path": {
            "description": "Name of the property to use in order to select additional objects.\n",
            "type": "string"
          },
          "skip": {
            "description": "Flag to indicate whether or not to filter the object in the \"path\"\nfield.\n",
            "type": "boolean"
          },
          "selectSet": {
            "description": "Optional set of selections to specify additional objects to filter.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SelectionSpec"
            }
          }
        },
        "required": [
          "type",
          "path"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/SelectionSpec"
          }
        ]
      },
      "ArrayOfTraversalSpec": {
        "type": "object",
        "description": "A boxed array of *TraversalSpec*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TraversalSpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "UpdateSet": {
        "type": "object",
        "description": "A set of updates that represent the changes since a prior call to *PropertyCollector.CheckForUpdates*, *PropertyCollector.WaitForUpdates*, or *PropertyCollector.WaitForUpdatesEx*.\n",
        "properties": {
          "version": {
            "description": "New data version to pass in the next call to *PropertyCollector.CheckForUpdates*,\n*PropertyCollector.WaitForUpdates*, or *PropertyCollector.WaitForUpdatesEx*.\n\nThese versions,\nalthough they are opaque, are strongly ordered in the sense that passing\na version to *PropertyCollector.WaitForUpdates*, *PropertyCollector.CheckForUpdates* or\n*PropertyCollector.WaitForUpdatesEx* requests updates that reflect changes in the\nobjects selected by the Filter that happened after the specified version.\n",
            "type": "string"
          },
          "filterSet": {
            "description": "Set of managed object updates detected by specific filters.\n\nUpdates\nare reported in sets. Each set is associated with a reference to a\nfilter that detected the updates in the set.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyFilterUpdate"
            }
          },
          "truncated": {
            "description": "If true, this *UpdateSet* contains results\nfrom a suspended change calculation, which places restrictions on the\nuse of version.\n\nThe *PropertyCollector* may suspend a calculation due to server\npolicy or if the total number of *ObjectUpdate* entries summed across every *PropertyFilterUpdate* reached the maximum specified in\n*WaitOptions.maxObjectUpdates*. The client\ncan pass the \"truncated data version\" to *PropertyCollector.WaitForUpdatesEx* to\nresume the update calculation, which will start on the filter where it\nleft off. A truncated data version cannot be used more than once and\nmay not be passed to *PropertyCollector.CheckForUpdates* or *PropertyCollector.WaitForUpdates*. *UpdateSet.truncated* will\nnever be true in an *UpdateSet* returned from\n*PropertyCollector.CheckForUpdates* or *PropertyCollector.WaitForUpdates*.\n\nIf false, this *UpdateSet* contains a\ncomplete change calculation or the last part of a series of suspended\nchange calculations. The version may be passed to *PropertyCollector.CheckForUpdates*, *PropertyCollector.WaitForUpdates*, or *PropertyCollector.WaitForUpdatesEx* more than once. Re-using a version allows a client\nto recover a change sequence after a transient failure on a previous\ncall.\n",
            "type": "boolean"
          }
        },
        "required": [
          "version"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfUpdateSet": {
        "type": "object",
        "description": "A boxed array of *UpdateSet*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateSet"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WaitOptions": {
        "type": "object",
        "description": "Options for *PropertyCollector.WaitForUpdatesEx*.\n",
        "properties": {
          "maxWaitSeconds": {
            "description": "The number of seconds the *PropertyCollector* should wait\nbefore returning null.\n\nReturning updates may take longer if the\nactual calculation time exceeds *WaitOptions.maxWaitSeconds*. Additionally *PropertyCollector* policy may\ncause it to return null sooner than *WaitOptions.maxWaitSeconds*.\n\nAn unset value causes *PropertyCollector.WaitForUpdatesEx* to wait as\nlong as possible for updates. Policy may still cause the\n*PropertyCollector* to return null at some point.\n\nA value of 0 causes *PropertyCollector.WaitForUpdatesEx* to do one update\ncalculation and return any results. This behavior is similar to *PropertyCollector.CheckForUpdates*.\n\nA positive value causes *PropertyCollector.WaitForUpdatesEx* to return\nnull if no updates are available within the specified number of\nseconds. The choice of a positive value often depends on the\nclient communication stack. For example it may be helpful to\nchoose a duration shorter than a local HTTP request timeout.\nTypically it should be no shorter than a few minutes.\n\nA negative value is illegal.\n",
            "type": "integer",
            "format": "int32"
          },
          "maxObjectUpdates": {
            "description": "The maximum number of *ObjectUpdate*\nentries that should be returned in a single result from *PropertyCollector.WaitForUpdatesEx*.\n\nSee *UpdateSet.truncated*\n\nAn unset value indicates that there is no maximum. In this case\n*PropertyCollector* policy may still limit the number of objects\nthat appear in an *UpdateSet*.\n\nA positive value causes *PropertyCollector.WaitForUpdatesEx* to suspend\nthe update calculation when the total count of *ObjectUpdate* entries ready to return reaches\nthe specified maximum. *PropertyCollector* policy may still\nlimit the total count to something less than *WaitOptions.maxObjectUpdates*.\n\nA value less than or equal to 0 is illegal.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfWaitOptions": {
        "type": "object",
        "description": "A boxed array of *WaitOptions*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WaitOptions"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmAboutInfo": {
        "type": "object",
        "description": "This data object type describes system information.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "name": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          },
          "vendor": {
            "type": "string"
          },
          "apiVersion": {
            "type": "string"
          },
          "instanceUuid": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "fullName",
          "vendor",
          "apiVersion",
          "instanceUuid"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmAboutInfo": {
        "type": "object",
        "description": "A boxed array of *VslmAboutInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmAboutInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmQueryDatastoreInfoResult": {
        "type": "object",
        "description": "The *VslmQueryDatastoreInfoResult* provides mapping information\nbetween *Datacenter* and *Datastore*.\n\nThis API is returned as a result of\n*VslmStorageLifecycleManager.VslmQueryDatastoreInfo* invocation.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "datacenter": {
            "description": "Indicates the datacenter containing the\n*VslmQueryDatastoreInfoResult.datastore*.\n\nRefers instance of *Datacenter*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "datastore": {
            "description": "Indicates the datastore which is contained within the\n*VslmQueryDatastoreInfoResult.datacenter*.\n\nRefers instance of *Datastore*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "datacenter",
          "datastore"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmQueryDatastoreInfoResult": {
        "type": "object",
        "description": "A boxed array of *VslmQueryDatastoreInfoResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmQueryDatastoreInfoResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmServiceInstanceContent": {
        "type": "object",
        "description": "The *VslmServiceInstanceContent* data object defines properties for the\n*VslmServiceInstance* managed object.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "aboutInfo": {
            "description": "Contains information that identifies the Storage Lifecycle Management\nservice.\n",
            "$ref": "#/components/schemas/VslmAboutInfo"
          },
          "sessionManager": {
            "description": "*VslmSessionManager* contains login APIs to connect to VSLM\nservice.\n\nRefers instance of *VslmSessionManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "vStorageObjectManager": {
            "description": "*VslmVStorageObjectManager* contains virtual storage object\nAPIs.\n\nRefers instance of *VslmVStorageObjectManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "storageLifecycleManager": {
            "description": "*VslmStorageLifecycleManager* contains callback APIs to VSLM\nservice.\n\nRefers instance of *VslmStorageLifecycleManager*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "aboutInfo",
          "sessionManager",
          "vStorageObjectManager",
          "storageLifecycleManager"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmServiceInstanceContent": {
        "type": "object",
        "description": "A boxed array of *VslmServiceInstanceContent*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmServiceInstanceContent"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmTaskInfo": {
        "type": "object",
        "description": "This data object type contains all information about a VSLM task.\n\nA task represents an operation performed by VirtualCenter or ESX.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "key": {
            "description": "The unique key for the task.\n",
            "type": "string"
          },
          "task": {
            "description": "The managed object that represents this task.\n\nRefers instance of *VslmTask*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "description": {
            "description": "The description field of the task describes the current phase of\noperation of the task.\n\nFor a task that does a single monolithic\nactivity, this will be fixed and unchanging.\nFor tasks that have various substeps, this field will change\nas the task progresses from one phase to another.\n",
            "$ref": "#/components/schemas/LocalizableMessage"
          },
          "name": {
            "description": "The name of the operation that created the task.\n\nThis is not set\nfor internal tasks.\n",
            "type": "string"
          },
          "descriptionId": {
            "description": "An identifier for this operation.\n\nThis includes publicly visible\ninternal tasks and is a lookup in the TaskDescription methodInfo\ndata object.\n",
            "type": "string"
          },
          "entity": {
            "description": "Managed entity to which the operation applies.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entityName": {
            "description": "The name of the managed entity, locale-specific, retained for the\nhistory collector database.\n",
            "type": "string"
          },
          "locked": {
            "description": "If the state of the task is \"running\", then this property is a list of\nmanaged entities that the operation has locked, with a shared lock.\n\nRefers instances of *ManagedEntity*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedObjectReference"
            }
          },
          "state": {
            "description": "Runtime status of the task.\n",
            "$ref": "#/components/schemas/VslmTaskInfoState_enum"
          },
          "cancelled": {
            "description": "Flag to indicate whether or not the client requested\ncancellation of the task.\n",
            "type": "boolean"
          },
          "cancelable": {
            "description": "Flag to indicate whether or not the cancel task operation is supported.\n",
            "type": "boolean"
          },
          "error": {
            "description": "If the task state is \"error\", then this property contains the fault code.\n",
            "$ref": "#/components/schemas/MethodFault"
          },
          "result": {
            "description": "If the task state is \"success\", then this property may be used\nto hold a return value.\n",
            "$ref": "#/components/schemas/Any"
          },
          "progress": {
            "description": "If the task state is \"running\", then this property contains a\nprogress measurement, expressed as percentage completed, from 0 to 100.\n\nIf this property is not set, then the command does not report progress.\n",
            "type": "integer",
            "format": "int32"
          },
          "reason": {
            "description": "Kind of entity responsible for creating this task.\n",
            "$ref": "#/components/schemas/VslmTaskReason"
          },
          "queueTime": {
            "description": "Time stamp when the task was created.\n",
            "type": "string",
            "format": "date-time"
          },
          "startTime": {
            "description": "Time stamp when the task started running.\n",
            "type": "string",
            "format": "date-time"
          },
          "completeTime": {
            "description": "Time stamp when the task was completed (whether success or failure).\n",
            "type": "string",
            "format": "date-time"
          },
          "eventChainId": {
            "description": "Event chain ID that leads to the corresponding events.\n",
            "type": "integer",
            "format": "int32"
          },
          "changeTag": {
            "description": "The user entered tag to identify the operations and their side effects\n",
            "type": "string"
          },
          "parentTaskKey": {
            "description": "Tasks can be created by another task.\n\nThis shows *VslmTaskInfo.key* of the task spun off this task. This is to\ntrack causality between tasks.\n",
            "type": "string"
          },
          "rootTaskKey": {
            "description": "Tasks can be created by another task and such creation can go on for\nmultiple levels.\n\nThis is the *VslmTaskInfo.key* of the task\nthat started the chain of tasks.\n",
            "type": "string"
          },
          "activationId": {
            "description": "The activation Id is a client-provided token to link an API call with a task.\n",
            "type": "string"
          }
        },
        "required": [
          "key",
          "task",
          "descriptionId",
          "state",
          "cancelled",
          "cancelable",
          "reason",
          "queueTime",
          "eventChainId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmTaskInfo": {
        "type": "object",
        "description": "A boxed array of *VslmTaskInfo*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmTaskInfo"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmTaskReason": {
        "type": "object",
        "description": "Base type for all task reasons.\n\nTask reasons represent the kind of entity responsible for a task's creation.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmTaskReason": {
        "type": "object",
        "description": "A boxed array of *VslmTaskReason*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmTaskReason"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmTaskReasonAlarm": {
        "type": "object",
        "description": "Indicates that the task was queued by an alarm.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "alarmName": {
            "description": "The name of the alarm that queued the task, retained in the history\ncollector database.\n",
            "type": "string"
          },
          "alarm": {
            "description": "The alarm object that queued the task.\n\nRefers instance of *Alarm*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          },
          "entityName": {
            "description": "The name of the managed entity on which the alarm is triggered,\nretained in the history collector database.\n",
            "type": "string"
          },
          "entity": {
            "description": "The managed entity object on which the alarm is triggered.\n\nRefers instance of *ManagedEntity*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "alarmName",
          "alarm",
          "entityName",
          "entity"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VslmTaskReason"
          }
        ]
      },
      "ArrayOfVslmTaskReasonAlarm": {
        "type": "object",
        "description": "A boxed array of *VslmTaskReasonAlarm*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmTaskReasonAlarm"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmTaskReasonSchedule": {
        "type": "object",
        "description": "Indicates that the task was queued by a scheduled task.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "name": {
            "description": "The name of the scheduled task that queued this task.\n",
            "type": "string"
          },
          "scheduledTask": {
            "description": "The scheduledTask object that queued this task.\n\nRefers instance of *ScheduledTask*.\n",
            "$ref": "#/components/schemas/ManagedObjectReference"
          }
        },
        "required": [
          "name",
          "scheduledTask"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VslmTaskReason"
          }
        ]
      },
      "ArrayOfVslmTaskReasonSchedule": {
        "type": "object",
        "description": "A boxed array of *VslmTaskReasonSchedule*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmTaskReasonSchedule"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmTaskReasonSystem": {
        "type": "object",
        "description": "Indicates that the task was started by the system (a default task).\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/VslmTaskReason"
          }
        ]
      },
      "ArrayOfVslmTaskReasonSystem": {
        "type": "object",
        "description": "A boxed array of *VslmTaskReasonSystem*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmTaskReasonSystem"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmTaskReasonUser": {
        "type": "object",
        "description": "Indicates that the task was queued by a specific user.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "userName": {
            "description": "Name of the user that queued the task.\n",
            "type": "string"
          }
        },
        "required": [
          "userName"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/VslmTaskReason"
          }
        ]
      },
      "ArrayOfVslmTaskReasonUser": {
        "type": "object",
        "description": "A boxed array of *VslmTaskReasonUser*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmTaskReasonUser"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmSyncFault": {
        "type": "object",
        "description": "An SyncFault fault is thrown when there is a failure to synchronize\nthe FCD global catalog information with the local catalog information.\n\nPandora synchronizes the datastore periodically in the background, it\nrecovers from any transient failures affecting the datastore or\nindividual FCDs. In cases where the sync fault needs to be resolved\nimmediately, explicitly triggering a\n*VslmStorageLifecycleManager.VslmSyncDatastore* should resolve the\nissue, unless there are underlying infrastructure issues affecting the\ndatastore or FCD. If the fault is ignored there is\na possibility that the FCD is unrecognized by Pandora or Pandora\nDB having stale information, consequently, affecting the return of\n*VslmVStorageObjectManager.VslmListVStorageObjectForSpec* and\n*VslmVStorageObjectManager.VslmRetrieveVStorageObjects* APIs.\nIn cases where the *VslmSyncFault.id* is specified,\nthe client can explicitly trigger\n*VslmStorageLifecycleManager.VslmSyncDatastore* to resolve\nthe issue, else, could ignore the fault in anticipation of Pandora\nautomatically resolving the error.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/ID"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/VslmFault"
          }
        ]
      },
      "ArrayOfVslmSyncFault": {
        "type": "object",
        "description": "A boxed array of *VslmSyncFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmSyncFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmFault": {
        "type": "object",
        "description": "The super class for all VSLM Faults.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "msg": {
            "description": "The fault message if available.\n",
            "type": "string"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/MethodFault"
          }
        ]
      },
      "ArrayOfVslmFault": {
        "type": "object",
        "description": "A boxed array of *VslmFault*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmFault"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmDatastoreSyncStatus": {
        "type": "object",
        "description": "DatastoreSyncStatus shows the catalog sync status of a datastore\nand is returned as a result of the VStorageObjectManager\ngetGlobalCatalogSyncStatus API.\n\nWhen syncVClock == objectVClock the global catalog is in sync with the\nlocal catalog\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "datastoreURL": {
            "description": "The datastore URL as specified in *DatastoreInfo.url*\n",
            "type": "string"
          },
          "objectVClock": {
            "type": "integer",
            "format": "int64"
          },
          "syncVClock": {
            "type": "integer",
            "format": "int64"
          },
          "syncTime": {
            "description": "The time representing the last successfull sync of the datastore.\n",
            "type": "string",
            "format": "date-time"
          },
          "numberOfRetries": {
            "description": "The number of retries for the Datastore synchronization in failure\ncases.\n",
            "type": "integer",
            "format": "int32"
          },
          "error": {
            "description": "The fault is set in case of error conditions.\n\nIf the fault is set,\nthe objectVClock and syncVClock will be set to -1L.\nPossible Faults:\nSyncFault If specified datastoreURL failed to sync.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "datastoreURL",
          "objectVClock",
          "syncVClock"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmDatastoreSyncStatus": {
        "type": "object",
        "description": "A boxed array of *VslmDatastoreSyncStatus*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmDatastoreSyncStatus"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmVsoVStorageObjectAssociations": {
        "type": "object",
        "description": "This data object is a key-value pair whose key is the virtual storage\nobject id, and value is the vm association information.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "ID of this virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "vmDiskAssociation": {
            "description": "Array of vm associations related to the virtual storage object.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectAssociationsVmDiskAssociation"
            }
          },
          "fault": {
            "description": "Received error while generating associations.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "id"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmVsoVStorageObjectAssociations": {
        "type": "object",
        "description": "A boxed array of *VslmVsoVStorageObjectAssociations*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectAssociations"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmVsoVStorageObjectAssociationsVmDiskAssociation": {
        "type": "object",
        "description": "This data object contains infomation of a VM Disk association.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "vmId": {
            "description": "ID of the virtual machine.\n",
            "type": "string"
          },
          "diskKey": {
            "description": "Device key of the disk attached to the VM.\n",
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "vmId",
          "diskKey"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmVsoVStorageObjectAssociationsVmDiskAssociation": {
        "type": "object",
        "description": "A boxed array of *VslmVsoVStorageObjectAssociationsVmDiskAssociation*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectAssociationsVmDiskAssociation"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmVsoVStorageObjectQueryResult": {
        "type": "object",
        "description": "The *VslmVsoVStorageObjectQueryResult* contains the result of\n*VslmVStorageObjectManager.VslmListVStorageObjectForSpec* API.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "allRecordsReturned": {
            "description": "If set to false, more results were found than could be returned (either\nlimited by maxResult input argument in the\n*VslmVStorageObjectManager.VslmListVStorageObjectForSpec* API or\ntruncated because the number of results exceeded the internal limit).\n",
            "type": "boolean"
          },
          "id": {
            "description": "IDs of the VStorageObjects matching the query criteria\nNOTE: This field will be removed once the dev/qe code is refactored.\n\nIDs will be returned in ascending order. If\n*VslmVsoVStorageObjectQueryResult.allRecordsReturned* is set to false,\nto get the additional results, repeat the query with ID &gt; last ID as\npart of the query spec *VslmVsoVStorageObjectQuerySpec*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ID"
            }
          },
          "queryResults": {
            "description": "Results of the query criteria.\n\n*IDs* will be returned in\nascending order. If *VslmVsoVStorageObjectQueryResult.allRecordsReturned*\nis set to false,then, to get the additional results, repeat the query\nwith ID &gt; last ID as part of the query spec\n*VslmVsoVStorageObjectQuerySpec*.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectResult"
            }
          }
        },
        "required": [
          "allRecordsReturned"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmVsoVStorageObjectQueryResult": {
        "type": "object",
        "description": "A boxed array of *VslmVsoVStorageObjectQueryResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectQueryResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmVsoVStorageObjectQuerySpec": {
        "type": "object",
        "description": "The *VslmVsoVStorageObjectQuerySpec* describes the criteria to query\nVStorageObject from global catalog.\n\n*VslmVsoVStorageObjectQuerySpec* is sent as input to\n*VslmVStorageObjectManager.VslmListVStorageObjectForSpec* API.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "queryField": {
            "description": "This field specifies the searchable field.\n\nThis can be one of the values from\n*VslmVsoVStorageObjectQuerySpecQueryFieldEnum_enum*.\n",
            "type": "string"
          },
          "queryOperator": {
            "description": "This field specifies the operator to compare the searchable field\n*VslmVsoVStorageObjectQuerySpec.queryField* with the specified\nvalue *VslmVsoVStorageObjectQuerySpec.queryValue*.\n\nThis can be one of the values from *VslmVsoVStorageObjectQuerySpecQueryOperatorEnum_enum*.\n",
            "type": "string"
          },
          "queryValue": {
            "description": "This field specifies the value to be compared with the searchable field.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "queryField",
          "queryOperator"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmVsoVStorageObjectQuerySpec": {
        "type": "object",
        "description": "A boxed array of *VslmVsoVStorageObjectQuerySpec*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectQuerySpec"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmVsoVStorageObjectResult": {
        "type": "object",
        "description": "The *VslmVsoVStorageObjectResult* contains the result objects of\n*VslmVsoVStorageObjectQueryResult* which is returned as a result of\n*VslmVStorageObjectManager.VslmListVStorageObjectForSpec* and\n*VslmVStorageObjectManager.VslmRetrieveVStorageObjects* APIs.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "id": {
            "description": "The ID of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "name": {
            "description": "Name of FCD.\n",
            "type": "string"
          },
          "capacityInMB": {
            "description": "The size in MB of this object.\n\nIf the faults are set,\nthen the capacityInMB will be -1\n",
            "type": "integer",
            "format": "int64"
          },
          "createTime": {
            "description": "The create time information of the FCD.\n",
            "type": "string",
            "format": "date-time"
          },
          "datastoreUrl": {
            "description": "The Datastore URL containing the FCD.\n",
            "type": "string"
          },
          "diskPath": {
            "description": "The disk path of the FCD.\n",
            "type": "string"
          },
          "usedCapacityInMB": {
            "description": "The rolled up used capacity of the FCD and it's snapshots.\n\nReturns -1L if the space information is currently unavailable.\n",
            "type": "integer",
            "format": "int64"
          },
          "backingObjectId": {
            "description": "The ID of the backing object of the virtual storage object.\n",
            "$ref": "#/components/schemas/ID"
          },
          "snapshotInfo": {
            "description": "VStorageObjectSnapshotResult array containing information about all the\nsnapshots of the virtual storage object.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectSnapshotResult"
            }
          },
          "metadata": {
            "description": "Metadata array of key/value strings.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValue"
            }
          },
          "error": {
            "description": "The fault is set in case of error conditions and this property will\nhave the reason.\n\nPossible Faults:\nNotFound If specified virtual storage object cannot be found.\n",
            "$ref": "#/components/schemas/MethodFault"
          }
        },
        "required": [
          "id",
          "capacityInMB"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmVsoVStorageObjectResult": {
        "type": "object",
        "description": "A boxed array of *VslmVsoVStorageObjectResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmVsoVStorageObjectSnapshotResult": {
        "type": "object",
        "description": "The *VslmVsoVStorageObjectSnapshotResult* contains brief information about a\nsnapshot of the object *VslmVsoVStorageObjectResult* which is returned as a\nresult of *VslmVStorageObjectManager.VslmRetrieveVStorageObjects* API.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "backingObjectId": {
            "description": "The ID of the vsan object backing a snapshot of the virtual storage\nobject.\n",
            "$ref": "#/components/schemas/ID"
          },
          "description": {
            "description": "The description user passed in when creating this snapshot.\n",
            "type": "string"
          },
          "snapshotId": {
            "description": "The ID of this snapshot, created and used in fcd layer.\n",
            "$ref": "#/components/schemas/ID"
          },
          "diskPath": {
            "description": "The file path of this snapshot.\n",
            "type": "string"
          }
        },
        "required": [
          "backingObjectId"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/DataObject"
          }
        ]
      },
      "ArrayOfVslmVsoVStorageObjectSnapshotResult": {
        "type": "object",
        "description": "A boxed array of *VslmVsoVStorageObjectSnapshotResult*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmVsoVStorageObjectSnapshotResult"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "AgencyVMPlacementPolicyVMAntiAffinity_enum": {
        "type": "string",
        "description": "Defines if the deployed VMs needs to run on different hosts.\n\nPossible values:\n- `none`: Denotes no specific VM anti-affinity policy.\n- `soft`: Best effort is made the VMs to run on different hosts as long as\n  this does not impact the ability of the host to satisfy current CPU\n  or memory requirements for virtual machines on the system.\n  \n  NOTE: Currently not supported - i.e. the agency configuration is\n  considered as invalid.\n",
        "enum": [
          "none",
          "soft"
        ]
      },
      "AgencyVMPlacementPolicyVMDataAffinity_enum": {
        "type": "string",
        "description": "Defines if the deployed VM is affinied to run on the same host it is\ndeployed on.\n\nPossible values:\n- `none`: Denotes no specific VM data affinity policy.\n- `soft`: Best effort is made the VM to run on the same host it is deployed on\n  as long as this does not impact the ability of the host to satisfy\n  current CPU or memory requirements for virtual machines on the\n  system.\n  \n  NOTE: Currently not supported - i.e. the agency configuration is\n  considered as invalid.\n",
        "enum": [
          "none",
          "soft"
        ]
      },
      "AgentConfigInfoOvfDiskProvisioning_enum": {
        "type": "string",
        "description": "Defines the type of disk provisioning for the target Agent VMs.\n\nPossible values:\n- `none`: Denotes no specific type for disk provisioning.\n  \n  Disks will be\n  provisioned as defaulted by vSphere.\n- `thin`: Disks will be provisioned with only used space allocated.\n- `thick`: Disks will be provisioned with full size allocated.\n",
        "enum": [
          "none",
          "thin",
          "thick"
        ]
      },
      "AgentVmHookVmState_enum": {
        "type": "string",
        "description": "Represents the state of the VM lifecycle.\n\nPossible values:\n- `provisioned`: The VM is provisioned and not powered-on.\n- `poweredOn`: The VM is powered on.\n- `prePowerOn`: The VM is about to be powered on as part of a VM upgrade workflow.\n",
        "enum": [
          "provisioned",
          "poweredOn",
          "prePowerOn"
        ]
      },
      "EamObjectRuntimeInfoGoalState_enum": {
        "type": "string",
        "description": "The <code>GoalState</code> enumeration defines the goal of the entity.\n\nPossible values:\n- `enabled`: The entity should be fully deployed and active.\n  \n  If the entity is an\n  *Agency*, it should install VIBs and deploy and power on all agent\n  virtual machines. If the entity is an *Agent*, its VIB should be installed and its\n  agent virtual machine should be deployed and powered on.\n- `disabled`: The entity should be fully deployed but inactive.\n  \n  f the entity is an\n  *Agency*, the behavior is similar to the <code>enabled</code> goal state, but\n  agents are not powered on (if they have been powered on they are powered\n  off).\n- `uninstalled`: The entity should be completely removed from the vCenter Server.\n  \n  If the entity is an\n  *Agency*, no more VIBs or agent virtual machines are deployed. All installed VIBs\n  installed by the *Agency* are uninstalled and any deployed agent virtual machines\n  are powered off (if they have been powered on) and deleted.\n  If the entity is an *Agent*, its VIB is uninstalled and the virtual machine is\n  powered off and deleted.\n",
        "enum": [
          "enabled",
          "disabled",
          "uninstalled"
        ]
      },
      "EamObjectRuntimeInfoStatus_enum": {
        "type": "string",
        "description": "<code>Status</code> defines a health value that denotes how well the entity\nconforms to the goal state.\n\nPossible values:\n- `green`: The entity is in perfect compliance with the goal state.\n- `yellow`: The entity is actively working to reach the desired goal state.\n- `red`: The entity has reached an issue which prevents it from reaching the desired goal\n  state.\n  \n  To remediate any offending issues, look at *EamObjectRuntimeInfo.issue*\n  and use either *EamObject.Resolve* or\n  *EamObject.ResolveAll*.\n",
        "enum": [
          "green",
          "yellow",
          "red"
        ]
      },
      "EsxAgentManagerMaintenanceModePolicy_enum": {
        "type": "string",
        "description": "<code>MaintenanceModePolicy</code> defines how ESX Agent Manager is going\nto put into maintenance mode hosts which are part of a cluster not managed\nby vSphere Lifecycle Manager.\n\nPossible values:\n- `singleHost`: Only a single host at a time will be put into maintenance mode.\n- `multipleHosts`: Hosts will be put into maintenance mode simultaneously.\n  \n  If vSphere DRS\n  is enabled, its recommendations will be used. Otherwise, it will be\n  attempted to put in maintenance mode simultaneously as many host as\n  possible.\n\n***Since:*** vEAM API 7.4\n",
        "enum": [
          "singleHost",
          "multipleHosts"
        ]
      },
      "HooksHookType_enum": {
        "type": "string",
        "description": "Supported types of hooks for agents.\n\nPossible values:\n- `POST_PROVISIONING`: Hook raised for an agent immediately after a Virtual Machine was\n  created.\n- `POST_POWER_ON`: Hook raised for an agent immediately after a Virtual Machine was\n  powered on.\n",
        "enum": [
          "POST_PROVISIONING",
          "POST_POWER_ON"
        ]
      },
      "SolutionsInvalidReason_enum": {
        "type": "string",
        "description": "Reasons solution is not valid for application.\n\nPossible values:\n- `INVALID_OVF_DESCRIPTOR`: The OVF descriptor provided in the VM source is invalid.\n- `INACCESSBLE_VM_SOURCE`: The provided VM source is inaccessible from ESX Agent Manager.\n- `INVALID_NETWORKS`: The provided networks are not suitable for application purposes.\n- `INVALID_DATASTORES`: The provided datastores are not suitable for application purposes.\n- `INVALID_RESOURCE_POOL`: The provided resource pool is not accessible or part of the cluster.\n- `INVALID_FOLDER`: The provided folder is inaccessible or not part of the same datacenter\n  with the cluster.\n- `INVALID_PROPERTIES`: The provided OVF properties are insufficient to satisfy the required\n  user configurable properties in the VM described in the vmSource.\n- `INVALID_TRANSITION`: The legacy agency requested for transition is not valid/cannot be\n  mapped to systm Virtual Machines solution.\n",
        "enum": [
          "INVALID_OVF_DESCRIPTOR",
          "INACCESSBLE_VM_SOURCE",
          "INVALID_NETWORKS",
          "INVALID_DATASTORES",
          "INVALID_RESOURCE_POOL",
          "INVALID_FOLDER",
          "INVALID_PROPERTIES",
          "INVALID_TRANSITION"
        ]
      },
      "SolutionsNonComplianceReason_enum": {
        "type": "string",
        "description": "Describes possible reasons a solution is non compliant.\n\nPossible values:\n- `WORKING`: There is ongoing work to acheive the desired state.\n- `ISSUE`: ESX Agent Manager has ecnountered am issue attempting to acheive the\n  desired state.\n- `IN_HOOK`: ESX Agent Manager is awaiting user input to continue attempting to\n  acheive the desired state.\n- `OBSOLETE_SPEC`: An obsoleted spec is currently in application for this solution.\n  \n  This state should take precedence over:\n  - *WORKING*\n  - *ISSUE*\n  - *IN_HOOK*\n- `NO_SPEC`: Application for this solutiona has never been requested with\n  *Solutions.Apply*.\n",
        "enum": [
          "WORKING",
          "ISSUE",
          "IN_HOOK",
          "OBSOLETE_SPEC",
          "NO_SPEC"
        ]
      },
      "SolutionsVMDeploymentOptimization_enum": {
        "type": "string",
        "description": "Virtual Machine deployment optimization strategies.\n\nPossible values:\n- `ALL_CLONES`: Utilizes all cloning methods available, will create initial snapshots\n  on the Virtual Machines.\n- `FULL_CLONES_ONLY`: Utilize only full copy cloning menthods, will create initial snapshots\n  on the Virtual Machines.\n- `NO_CLONES`: Virtual Machiness will not be cloned from pre-existing deployment.\n",
        "enum": [
          "ALL_CLONES",
          "FULL_CLONES_ONLY",
          "NO_CLONES"
        ]
      },
      "SolutionsVMDiskProvisioning_enum": {
        "type": "string",
        "description": "Provisioning types for system Virtual Machines.\n\nPossible values:\n- `THIN`: Disks will be provisioned with only used space allocated.\n- `THICK`: Disks will be provisioned with full size allocated.\n",
        "enum": [
          "THIN",
          "THICK"
        ]
      },
      "SolutionsVmPlacementPolicy_enum": {
        "type": "string",
        "description": "Defines the DRS placement policies applied on the VMs.\n\nPossible values:\n- `VM_VM_ANTI_AFFINITY`: VMs are anti-affined to each other.\n",
        "enum": [
          "VM_VM_ANTI_AFFINITY"
        ]
      },
      "PbmLoggingConfigurationComponent_enum": {
        "type": "string",
        "description": "This enum corresponds to the different packages whose logging\nis configured independently by sps service.\n\nPossible values:\n- `pbm`: Modifies logging level of com.vmware.pbm package.\n- `vslm`: Modifies logging level of com.vmware.vslm package.\n- `sms`: Modifies logging level of com.vmware.vim.sms package.\n- `spbm`: Modifies logging level of com.vmware.spbm package.\n- `sps`: Modifies logging level of com.vmware.sps package.\n- `httpclient_header`: Modifies logging level of httpclient wire header.\n- `httpclient_content`: Modifies logging level of httpclient wire content.\n- `vmomi`: Modifies logging level of com.vmware.vim.vmomi package.\n",
        "enum": [
          "pbm",
          "vslm",
          "sms",
          "spbm",
          "sps",
          "httpclient_header",
          "httpclient_content",
          "vmomi"
        ]
      },
      "PbmLoggingConfigurationLogLevel_enum": {
        "type": "string",
        "description": "This enum corresponds to the different log levels supported\nby sps service.\n\nPossible values:\n- `INFO`: Refers to INFO level logging\n- `DEBUG`: Refers to DEBUG level logging.\n- `TRACE`: Refers to TRACE level logging.\n",
        "enum": [
          "INFO",
          "DEBUG",
          "TRACE"
        ]
      },
      "PbmDebugManagerKeystoreName_enum": {
        "type": "string",
        "description": "This enum corresponds to the keystores used by\nsps.\n\nPossible values:\n- `SMS`: Refers to SMS keystore\n- `TRUSTED_ROOTS`: Refers to TRUSTED\\_ROOTS keystore.\n",
        "enum": [
          "SMS",
          "TRUSTED_ROOTS"
        ]
      },
      "PbmObjectType_enum": {
        "type": "string",
        "description": "The *PbmObjectType_enum* enumerated type\ndefines vSphere Server object types that are known\nto the Storage Policy Server.\n\nSee *PbmServerObjectRef*.*PbmServerObjectRef.objectType*.\n\nPossible values:\n- `virtualMachine`: Indicates a virtual machine, not including the disks, identified by the virtual machine\n  identifier _virtual-machine-mor_.\n- `virtualMachineAndDisks`: Indicates the virtual machine and all its disks, identified by the virtual machine\n  identifier _virtual-machine-mor_.\n- `virtualDiskId`: Indicates a virtual disk, identified by disk key\n  (_virtual-machine-mor_:_disk-key_).\n- `virtualDiskUUID`: Indicates a virtual disk, identified by UUID - for First Class Storage Object support.\n- `datastore`: Indicates a datastore.\n- `vsanObjectId`: Indicates a VSAN object\n- `fileShareId`: Indicates a file service\n- `unknown`: Unknown object type.\n",
        "enum": [
          "virtualMachine",
          "virtualMachineAndDisks",
          "virtualDiskId",
          "virtualDiskUUID",
          "datastore",
          "vsanObjectId",
          "fileShareId",
          "unknown"
        ]
      },
      "PbmVvolType_enum": {
        "type": "string",
        "description": "The *PbmVvolType_enum* enumeration type\ndefines VVOL types.\n\nVvolType's are referenced to specify which objectType\nto fetch for default capability.\n\nPossible values:\n- `Config`: meta-data volume\n- `Data`: vmdk volume\n- `Swap`: swap volume\n",
        "enum": [
          "Config",
          "Data",
          "Swap"
        ]
      },
      "PbmCapabilityOperator_enum": {
        "type": "string",
        "description": "List of operators that are supported for constructing policy.\n\nCurrently only tag based properties can use this operator.\nOther operators can be added as required.\n\nPossible values:\n- `NOT`\n",
        "enum": [
          "NOT"
        ]
      },
      "PbmLineOfServiceInfoLineOfServiceEnum_enum": {
        "type": "string",
        "description": "Denotes the line of service of a schema.\n\nPossible values:\n- `INSPECTION`\n- `COMPRESSION`\n- `ENCRYPTION`\n- `REPLICATION`\n- `CACHING`\n- `PERSISTENCE`\n- `DATA_PROVIDER`\n- `DATASTORE_IO_CONTROL`\n- `DATA_PROTECTION`\n- `STRETCHED_CLUSTER`\n",
        "enum": [
          "INSPECTION",
          "COMPRESSION",
          "ENCRYPTION",
          "REPLICATION",
          "CACHING",
          "PERSISTENCE",
          "DATA_PROVIDER",
          "DATASTORE_IO_CONTROL",
          "DATA_PROTECTION",
          "STRETCHED_CLUSTER"
        ]
      },
      "PbmBuiltinGenericType_enum": {
        "type": "string",
        "description": "The *PbmBuiltinGenericType_enum* enumerated type defines the list\nof builtin generic datatypes.\n\nSee\n*PbmCapabilityGenericTypeInfo*.*PbmCapabilityGenericTypeInfo.genericTypeName*.\n\nA generic datatype indicates how to interpret a collection of values\nof a specific datatype (*PbmCapabilityTypeInfo.typeName*).\n\nPossible values:\n- `VMW_RANGE`: Indicates a full or partial range of values (*PbmCapabilityRange*).\n  \n  A full range specifies both <code>min</code> and <code>max</code> values.\n  A partial range specifies one or the other, <code>min</code> or <code>max</code>.\n- `VMW_SET`: Indicates a single value or a discrete set of values\n  (*PbmCapabilityDiscreteSet*).\n",
        "enum": [
          "VMW_RANGE",
          "VMW_SET"
        ]
      },
      "PbmBuiltinType_enum": {
        "type": "string",
        "description": "The *PbmBuiltinType_enum* enumerated type defines datatypes\nfor storage profiles.\n\nProperty metadata\n(*PbmCapabilityPropertyMetadata*) uses the builtin types\nto define data types for storage capabilities and requirements.\nIt may also specify the semantics that are applied to a collection\nof builtin type values. See *PbmCapabilityTypeInfo*.\nThese semantics are specified as a generic builtin type.\nSee *PbmCapabilityGenericTypeInfo*.\nThe type information determines how capability constraints are interpreted\n*PbmCapabilityPropertyInstance.value*).\n\nPossible values:\n- `XSD_LONG`: Unsigned long value.\n  \n  This datatype supports the following constraint values.\n  - Single value\n  - Full or partial range of values (*PbmCapabilityRange*)\n  - Discrete set of values (*PbmCapabilityDiscreteSet*)\n- `XSD_SHORT`: Datatype not supported.\n- `XSD_INTEGER`: Datatype not supported.\n  \n  Use XSD\\_INT instead.\n- `XSD_INT`: Integer value.\n  \n  This datatype supports the following constraint values.\n  - Single value\n  - Full or partial range of values (*PbmCapabilityRange*)\n  - Discrete set of values (*PbmCapabilityDiscreteSet*)\n- `XSD_STRING`: String value.\n  \n  This datatype supports a single value\n  or a discrete set of values (*PbmCapabilityDiscreteSet*).\n- `XSD_BOOLEAN`: Boolean value.\n- `XSD_DOUBLE`: Double precision floating point value.\n  \n  This datatype supports the following\n  constraint values.\n  - Single value\n  - Full or partial range of values (*PbmCapabilityRange*)\n  - Discrete set of values (*PbmCapabilityDiscreteSet*)\n- `XSD_DATETIME`: Date and time value.\n- `VMW_TIMESPAN`: Timespan value (*PbmCapabilityTimeSpan*).\n  \n  This datatype supports\n  the following constraint values.\n  - Single value\n  - Full or partial range of values (*PbmCapabilityRange*)\n  - Discrete set of values (*PbmCapabilityDiscreteSet*)\n- `VMW_POLICY`\n",
        "enum": [
          "XSD_LONG",
          "XSD_SHORT",
          "XSD_INTEGER",
          "XSD_INT",
          "XSD_STRING",
          "XSD_BOOLEAN",
          "XSD_DOUBLE",
          "XSD_DATETIME",
          "VMW_TIMESPAN",
          "VMW_POLICY"
        ]
      },
      "PbmCapabilityTimeUnitType_enum": {
        "type": "string",
        "description": "The *PbmCapabilityTimeUnitType_enum* enumeration type\ndefines the supported list of time units for profiles that specify\ntime span capabilities and constraints.\n\nSee *PbmCapabilityTimeSpan*.\n\nPossible values:\n- `SECONDS`: Constraints and capabilities expressed in units of seconds.\n- `MINUTES`: Constraints and capabilities expressed in units of minutes.\n- `HOURS`: Constraints and capabilities expressed in units of hours.\n- `DAYS`: Constraints and capabilities expressed in units of days.\n- `WEEKS`: Constraints and capabilities expressed in units of weeks.\n- `MONTHS`: Constraints and capabilities expressed in units of months.\n- `YEARS`: Constraints and capabilities expressed in units of years.\n",
        "enum": [
          "SECONDS",
          "MINUTES",
          "HOURS",
          "DAYS",
          "WEEKS",
          "MONTHS",
          "YEARS"
        ]
      },
      "PbmComplianceStatus_enum": {
        "type": "string",
        "description": "The *PbmComplianceStatus_enum*\nenumeration type defines the set of status values\nfor compliance operations.\n\nSee *PbmComplianceResult* and\n*PbmRollupComplianceResult*.\n\nPossible values:\n- `compliant`: Entity is in compliance.\n- `nonCompliant`: Entity is out of compliance.\n- `unknown`: Compliance status of the entity is not known.\n- `notApplicable`: Compliance computation is not applicable for this entity,\n  because it does not have any storage requirements that\n  apply to the object-based datastore on which this entity is placed.\n- `outOfDate`: This is the same as *PbmComplianceResult.mismatch*\n  variable.\n  \n  Compliance status becomes out-of-date when the profile\n  associated with the entity is edited and not applied. The compliance\n  status will remain in out-of-date compliance status until the latest\n  policy is applied to the entity.\n",
        "enum": [
          "compliant",
          "nonCompliant",
          "unknown",
          "notApplicable",
          "outOfDate"
        ]
      },
      "PbmComplianceResultComplianceTaskStatus_enum": {
        "type": "string",
        "description": "The *PbmComplianceResultComplianceTaskStatus_enum*\nenumeration type defines the set of task status for compliance\noperations.\n\nSee *PbmComplianceResult* and\n*PbmRollupComplianceResult*.\n\nPossible values:\n- `inProgress`: Compliance calculation is in progress.\n- `success`: Compliance calculation has succeeded.\n- `failed`: Compliance calculation failed due to some exception.\n",
        "enum": [
          "inProgress",
          "success",
          "failed"
        ]
      },
      "PbmHealthStatusForEntity_enum": {
        "type": "string",
        "description": "The enumeration type defines the set of health status values for an entity\nthat is part of entity health operation.\n\nPossible values:\n- `red`: For file share: 'red' if the file server for this file share is in error\n  state or any of its backing vSAN objects are degraded.\n  \n  For FCD: 'red' if the datastore on which the FCD resides is not\n  accessible from any of the hosts it is mounted.\n- `yellow`: For file share: 'yellow' if some backing objects are repairing, i.e.\n  \n  warning state.\n  For FCD: 'yellow' if the datastore on which the entity resides is\n  accessible only from some of the hosts it is mounted but not all.\n- `green`: For file share: 'green' if the file server for this file share is\n  running properly and all its backing vSAN objects are healthy.\n  \n  For FCD: 'green' if the datastore on which the entity resides\n  is accessible from all the hosts it is mounted.\n- `unknown`: If the health status of a file share is unknown, not valid for FCD.\n",
        "enum": [
          "red",
          "yellow",
          "green",
          "unknown"
        ]
      },
      "PbmAssociateAndApplyPolicyStatusPolicyStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `success`: Policy applied successfully.\n- `failed`: Policy cannot be applied\n- `invalid`: Policy cannot be applied\n",
        "enum": [
          "success",
          "failed",
          "invalid"
        ]
      },
      "PbmProfileCategoryEnum_enum": {
        "type": "string",
        "description": "The *PbmProfileCategoryEnum_enum*\nenumerated type defines the profile categories for a capability-based\nstorage profile.\n\nSee\n*PbmCapabilityProfile*.\n\nPossible values:\n- `REQUIREMENT`: Indicates a storage requirement.\n  \n  Requirements are based on\n  storage capabilities.\n- `RESOURCE`: Indicates a storage capability.\n  \n  Storage capabilities\n  are defined by storage providers.\n- `DATA_SERVICE_POLICY`: Indicates a data service policy that can be embedded into\n  another storage policy.\n  \n  Policies of this type can't be assigned to\n  Virtual Machines or Virtual Disks.\n",
        "enum": [
          "REQUIREMENT",
          "RESOURCE",
          "DATA_SERVICE_POLICY"
        ]
      },
      "PbmSystemCreatedProfileType_enum": {
        "type": "string",
        "description": "System pre-created profile types.\n\nPossible values:\n- `VsanDefaultProfile`: Indicates the system pre-created editable VSAN default profile.\n- `VVolDefaultProfile`: Indicates the system pre-created non-editable default profile\n  for VVOL datastores.\n- `PmemDefaultProfile`: Indicates the system pre-created non-editable default profile\n  for PMem datastores\n- `VmcManagementProfile`: Indicates the system pre-created non-editable VMC default profile.\n- `VsanMaxDefaultProfile`: Indicates the system pre-created non-editable VSANMAX default profile.\n",
        "enum": [
          "VsanDefaultProfile",
          "VVolDefaultProfile",
          "PmemDefaultProfile",
          "VmcManagementProfile",
          "VsanMaxDefaultProfile"
        ]
      },
      "PbmOperation_enum": {
        "type": "string",
        "description": "The *PbmOperation_enum* enumerated type\ndefines the provisioning operation being performed on the entity like FCD, virtual machine.\n\nPossible values:\n- `CREATE`: Indicates create operation of an entity.\n- `REGISTER`: Indicates register operation of an entity.\n- `RECONFIGURE`: Indicates reconfigure operation of an entity.\n- `MIGRATE`: Indicates migrate operation of an entity.\n- `CLONE`: Indicates clone operation of an entity.\n",
        "enum": [
          "CREATE",
          "REGISTER",
          "RECONFIGURE",
          "MIGRATE",
          "CLONE"
        ]
      },
      "PbmIofilterInfoFilterType_enum": {
        "type": "string",
        "description": "Recognized types of an IO Filter.\n\nString constant used in `IofilterInfo#filterType`.\nThese should match(upper case) the IO Filter classes as defined by IO Filter framework.\nSee https://opengrok.eng.vmware.com/source/xref/vmcore-main.perforce.1666/bora/scons/apps/esx/iofilterApps.sc#33\n\nPossible values:\n- `INSPECTION`\n- `COMPRESSION`\n- `ENCRYPTION`\n- `REPLICATION`\n- `CACHE`\n- `DATAPROVIDER`\n- `DATASTOREIOCONTROL`\n",
        "enum": [
          "INSPECTION",
          "COMPRESSION",
          "ENCRYPTION",
          "REPLICATION",
          "CACHE",
          "DATAPROVIDER",
          "DATASTOREIOCONTROL"
        ]
      },
      "PbmPolicyAssociationVolumeAllocationType_enum": {
        "type": "string",
        "description": "Volume allocation type constants.\n\nPossible values:\n- `FullyInitialized`: Space required is fully allocated and initialized.\n  \n  It is wiped clean of any previous content on the\n  physical media. Gives faster runtime IO performance.\n- `ReserveSpace`: Space required is fully allocated.\n  \n  It may contain\n  stale data on the physical media.\n- `ConserveSpaceWhenPossible`: Space required is allocated and zeroed on demand\n  as the space is used.\n",
        "enum": [
          "FullyInitialized",
          "ReserveSpace",
          "ConserveSpaceWhenPossible"
        ]
      },
      "PbmProfileResourceTypeEnum_enum": {
        "type": "string",
        "description": "The *PbmProfileResourceTypeEnum_enum* enumerated type defines the set of resource\ntypes that are supported for profile management.\n\nSee *PbmProfileResourceType*.\n\nPossible values:\n- `STORAGE`: Indicates resources that support storage profiles.\n",
        "enum": [
          "STORAGE"
        ]
      },
      "PbmVmOperation_enum": {
        "type": "string",
        "description": "The *PbmVmOperation_enum* enumerated type\ndefines the provisioning operation being performed on the virtual machine.\n\nPossible values:\n- `CREATE`: Indicates create operation of a virtual machine.\n- `RECONFIGURE`: Indicates reconfigure operation of a virtual machine.\n- `MIGRATE`: Indicates migrate operation of a virtual machine.\n- `CLONE`: Indicates clone operation of a virtual machine.\n",
        "enum": [
          "CREATE",
          "RECONFIGURE",
          "MIGRATE",
          "CLONE"
        ]
      },
      "EntityReferenceEntityType_enum": {
        "type": "string",
        "description": "Types of entities supported by the service.\n\nPossible values:\n- `datacenter`\n- `resourcePool`\n- `storagePod`\n- `cluster`\n- `vm`\n- `datastore`\n- `host`\n- `vmFile`\n- `scsiPath`\n- `scsiTarget`\n- `scsiVolume`\n- `scsiAdapter`\n- `nasMount`\n",
        "enum": [
          "datacenter",
          "resourcePool",
          "storagePod",
          "cluster",
          "vm",
          "datastore",
          "host",
          "vmFile",
          "scsiPath",
          "scsiTarget",
          "scsiVolume",
          "scsiAdapter",
          "nasMount"
        ]
      },
      "EntityReferenceEntityType": {
        "type": "object",
        "description": "A boxed *EntityReferenceEntityType_enum*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/EntityReferenceEntityType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfEntityReferenceEntityType": {
        "type": "object",
        "description": "A boxed array of *EntityReferenceEntityType_enum*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/sms`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityReferenceEntityType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SmsTaskState_enum": {
        "type": "string",
        "description": "List of possible states of a task.\n\nPossible values:\n- `queued`: Task is put in the queue.\n- `running`: Task is currently running.\n- `success`: Task has completed.\n- `error`: Task has encountered an error or has been canceled.\n",
        "enum": [
          "queued",
          "running",
          "success",
          "error"
        ]
      },
      "VpCategory_enum": {
        "type": "string",
        "description": "A Category to indicate whether provider is of internal or external category.\n\nThis classification can help selectively enable few administrative functions\nsuch as say unregistration of a provider.\n\nPossible values:\n- `internal`: An internal provider category indicates the set of providers such as IOFILTERS and VSAN.\n- `external`: An external provider category indicates the set of providers are external and not belong\n  to say either of IOFILTERS or VSAN category.\n",
        "enum": [
          "internal",
          "external"
        ]
      },
      "VasaProviderCertificateStatus_enum": {
        "type": "string",
        "description": "The status of the provider certificate\n\nPossible values:\n- `valid`: Provider certificate is valid.\n- `expirySoftLimitReached`: Provider certificate is within the soft limit threshold.\n- `expiryHardLimitReached`: Provider certificate is within the hard limit threshold.\n- `expired`: Provider certificate has expired.\n- `invalid`: Provider certificate is revoked, malformed or missing.\n",
        "enum": [
          "valid",
          "expirySoftLimitReached",
          "expiryHardLimitReached",
          "expired",
          "invalid"
        ]
      },
      "ProviderProfile_enum": {
        "type": "string",
        "description": "Profiles supported by VASA Provider.\n\nPossible values:\n- `ProfileBasedManagement`: PBM profile\n- `Replication`: Replication profile\n",
        "enum": [
          "ProfileBasedManagement",
          "Replication"
        ]
      },
      "VpType_enum": {
        "type": "string",
        "description": "VASA Provider type.\n\nPossible values:\n- `PERSISTENCE`: Persistence provider.\n- `DATASERVICE`: DataService provider.\n  \n  No storage supported for this type of provider.\n- `UNKNOWN`: Type is unknown.\n  \n  VASA provider type can be UNKNOWN when it is undergoing sync operation.\n",
        "enum": [
          "PERSISTENCE",
          "DATASERVICE",
          "UNKNOWN"
        ]
      },
      "VasaProviderProfile_enum": {
        "type": "string",
        "description": "Deprecated as of SMS API 3.0, use *VasaProfile_enum*.\n\nProfiles supported by VASA Provider.\n\nPossible values:\n- `blockDevice`: Block device profile\n- `fileSystem`: File system profile\n- `capability`: Storage capability profile\n",
        "enum": [
          "blockDevice",
          "fileSystem",
          "capability"
        ]
      },
      "VasaProviderStatus_enum": {
        "type": "string",
        "description": "The operational state of VASA Provider.\n\nPossible values:\n- `online`: VASA Provider is operating correctly.\n- `offline`: VASA Provider is not responding, e.g.\n  \n  communication error due to temporary\n  network outage. SMS keeps polling the provider in this state.\n- `syncError`: VASA Provider is connected, but sync operation failed.\n- `unknown`: \n  \n  Deprecated as of SMS API 4.0, this status is deprecated.\n  \n  VASA Provider is unreachable.\n- `connected`: VASA Provider is connected, but has not triggered sync operation.\n- `disconnected`: VASA Provider is disconnected, e.g.\n  \n  failed to establish a valid\n  SSL connection to the provider. SMS stops communication with the\n  provider in this state. The user can reconnect to the provider by invoking\n  *VasaProvider.VasaProviderReconnect_Task*.\n",
        "enum": [
          "online",
          "offline",
          "syncError",
          "unknown",
          "connected",
          "disconnected"
        ]
      },
      "VasaAuthenticationType_enum": {
        "type": "string",
        "description": "VASA provider authentication type.\n\nPossible values:\n- `LoginByToken`: Login using SAML token.\n- `UseSessionId`: Use id of an existing session that has logged-in from somewhere else.\n",
        "enum": [
          "LoginByToken",
          "UseSessionId"
        ]
      },
      "SmsAlarmStatus_enum": {
        "type": "string",
        "description": "Enumeration of the supported Alarm Status values\n\nPossible values:\n- `Red`\n- `Green`\n- `Yellow`\n",
        "enum": [
          "Red",
          "Green",
          "Yellow"
        ]
      },
      "AlarmType_enum": {
        "type": "string",
        "description": "Possible values:\n- `SpaceCapacityAlarm`\n- `CapabilityAlarm`\n- `StorageObjectAlarm`\n- `ObjectAlarm`\n- `ComplianceAlarm`\n- `ManageabilityAlarm`\n- `ReplicationAlarm`\n- `CertificateAlarm`\n",
        "enum": [
          "SpaceCapacityAlarm",
          "CapabilityAlarm",
          "StorageObjectAlarm",
          "ObjectAlarm",
          "ComplianceAlarm",
          "ManageabilityAlarm",
          "ReplicationAlarm",
          "CertificateAlarm"
        ]
      },
      "BackingStoragePoolType_enum": {
        "type": "string",
        "description": "List of possible BackingStoragePool types\n\nPossible values:\n- `thinProvisioningPool`\n- `deduplicationPool`\n- `thinAndDeduplicationCombinedPool`\n",
        "enum": [
          "thinProvisioningPool",
          "deduplicationPool",
          "thinAndDeduplicationCombinedPool"
        ]
      },
      "SmsEntityType_enum": {
        "type": "string",
        "description": "Enumeration of the supported Entity Type values.\n\nPossible values:\n- `StorageArrayEntity`\n- `StorageProcessorEntity`\n- `StoragePortEntity`\n- `StorageLunEntity`\n- `StorageFileSystemEntity`\n- `StorageCapabilityEntity`\n- `CapabilitySchemaEntity`\n- `CapabilityProfileEntity`\n- `DefaultProfileEntity`\n- `ResourceAssociationEntity`\n- `StorageContainerEntity`\n- `StorageObjectEntity`\n- `MessageCatalogEntity`\n- `ProtocolEndpointEntity`\n- `VirtualVolumeInfoEntity`\n- `BackingStoragePoolEntity`\n- `FaultDomainEntity`\n- `ReplicationGroupEntity`\n",
        "enum": [
          "StorageArrayEntity",
          "StorageProcessorEntity",
          "StoragePortEntity",
          "StorageLunEntity",
          "StorageFileSystemEntity",
          "StorageCapabilityEntity",
          "CapabilitySchemaEntity",
          "CapabilityProfileEntity",
          "DefaultProfileEntity",
          "ResourceAssociationEntity",
          "StorageContainerEntity",
          "StorageObjectEntity",
          "MessageCatalogEntity",
          "ProtocolEndpointEntity",
          "VirtualVolumeInfoEntity",
          "BackingStoragePoolEntity",
          "FaultDomainEntity",
          "ReplicationGroupEntity"
        ]
      },
      "BlockDeviceInterface_enum": {
        "type": "string",
        "description": "List of possible block device interfaces\n\nPossible values:\n- `fc`\n- `iscsi`\n- `fcoe`\n- `otherBlock`\n",
        "enum": [
          "fc",
          "iscsi",
          "fcoe",
          "otherBlock"
        ]
      },
      "FileSystemInterface_enum": {
        "type": "string",
        "description": "List of possible file system interfaces\n\nPossible values:\n- `nfs`\n- `otherFileSystem`\n",
        "enum": [
          "nfs",
          "otherFileSystem"
        ]
      },
      "VasaProfile_enum": {
        "type": "string",
        "description": "List of possible VASA profiles supported by Storage Array\n\nPossible values:\n- `blockDevice`: Block device profile\n- `fileSystem`: File system profile\n- `capability`: Storage capability profile\n- `policy`: Policy profile\n- `object`: Object based storage profile\n- `statistics`: IO Statistics profile\n- `storageDrsBlockDevice`: Storage DRS specific block device profile\n- `storageDrsFileSystem`: Storage DRS specific file system profile\n",
        "enum": [
          "blockDevice",
          "fileSystem",
          "capability",
          "policy",
          "object",
          "statistics",
          "storageDrsBlockDevice",
          "storageDrsFileSystem"
        ]
      },
      "StorageContainerVvolContainerTypeEnum_enum": {
        "type": "string",
        "description": "List of supported VVOL Container types\n\nPossible values:\n- `NFS`\n- `NFS4x`\n- `SCSI`\n- `NVMe`\n",
        "enum": [
          "NFS",
          "NFS4x",
          "SCSI",
          "NVMe"
        ]
      },
      "FileSystemInterfaceVersion_enum": {
        "type": "string",
        "description": "Possible values:\n- `NFSV3_0`\n",
        "enum": [
          "NFSV3_0"
        ]
      },
      "ThinProvisioningStatus_enum": {
        "type": "string",
        "description": "List of possible values for thin provisioning status alarm.\n\nPossible values:\n- `RED`\n- `YELLOW`\n- `GREEN`\n",
        "enum": [
          "RED",
          "YELLOW",
          "GREEN"
        ]
      },
      "ReplicationReplicationState_enum": {
        "type": "string",
        "description": "State of the replication group at the site of the query.\n\nA replication group\nmay be in different states at the source site and each of the target sites.\nNote that this state does not capture the health of the replication link. If\nnecessary, that can be an additional attribute.\n\nPossible values:\n- `SOURCE`: Replication Source\n- `TARGET`: Replication target\n- `FAILEDOVER`: The group failed over at this site of the query.\n  \n  It has not yet been made\n  as a source of replication.\n- `INTEST`: The group is InTest.\n  \n  The testFailover devices list will be available from\n  the *TargetGroupMemberInfo*\n- `REMOTE_FAILEDOVER`: Remote group was failed over, and this site is neither the source nor the\n  target.\n",
        "enum": [
          "SOURCE",
          "TARGET",
          "FAILEDOVER",
          "INTEST",
          "REMOTE_FAILEDOVER"
        ]
      },
      "BatchResultResult_enum": {
        "type": "string",
        "description": "Enum representing result of batch-APis.\n\nPossible values:\n- `success`\n- `fail`\n",
        "enum": [
          "success",
          "fail"
        ]
      },
      "ClusterComputeResourceHCIWorkflowState_enum": {
        "type": "string",
        "description": "HCIWorkflowState identifies the state of the cluser from the perspective of HCI\nworkflow.\n\nThe workflow begins with in\\_progress mode and can transition\nto 'done' or 'invalid', both of which are terminal states.\n\nPossible values:\n- `in_progress`: Indicates cluster is getting configured or will be configured.\n- `done`: Indicates cluster configuration is complete.\n- `invalid`: Indicates the workflow was abandoned on the cluster before the\n  configuration could complete.\n",
        "enum": [
          "in_progress",
          "done",
          "invalid"
        ]
      },
      "ClusterComputeResourceVcsHealthStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `healthy`: Indicates vCS health status is normal.\n- `degraded`: Indicates only vCS is unhealthy.\n- `nonhealthy`: Indicates vCS is unhealthy and other cluster services are impacted.\n  \n***Since:*** vSphere API Release 7.0.1.1\n",
        "enum": [
          "healthy",
          "degraded",
          "nonhealthy"
        ]
      },
      "ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState_enum": {
        "type": "string",
        "description": "The SPBM(Storage Policy Based Management) license state for a host\n\nPossible values:\n- `licensed`: The host is licensed\n- `unlicensed`: The host is not licensed\n- `unknown`: The host license information is unknown, this could happen if the\n  host is not in a available state\n",
        "enum": [
          "licensed",
          "unlicensed",
          "unknown"
        ]
      },
      "ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState": {
        "type": "object",
        "description": "A boxed *ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState": {
        "type": "object",
        "description": "A boxed array of *ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ConfigSpecOperation_enum": {
        "type": "string",
        "description": "Config spec operation type.\n\nPossible values:\n- `add`: Indicates the addition of an element to the configuration.\n- `edit`: Indicates the change of an element in the configuration.\n- `remove`: Indicates the removal of an element in the configuration.\n",
        "enum": [
          "add",
          "edit",
          "remove"
        ]
      },
      "DatastoreAccessible_enum": {
        "type": "string",
        "description": "Possible values:\n- `True`: Is accessible\n- `False`: Is not accessible\n",
        "enum": [
          true,
          false
        ]
      },
      "DatastoreAccessible": {
        "type": "object",
        "description": "A boxed *DatastoreAccessible_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/DatastoreAccessible_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfDatastoreAccessible": {
        "type": "object",
        "description": "A boxed array of *DatastoreAccessible_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatastoreAccessible_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DatastoreSummaryMaintenanceModeState_enum": {
        "type": "string",
        "description": "Defines the current maintenance mode state of the datastore.\n\nPossible values:\n- `normal`: Default state.\n- `enteringMaintenance`: Started entering maintenance mode, but not finished.\n  \n  This could happen when waiting for user input or for\n  long-running vmotions to complete.\n- `inMaintenance`: Successfully entered maintenance mode.\n",
        "enum": [
          "normal",
          "enteringMaintenance",
          "inMaintenance"
        ]
      },
      "DiagnosticManagerLogCreator_enum": {
        "type": "string",
        "description": "Pre-defined constants for possible creators of log files.\n\nPossible values:\n- `vpxd`: VirtualCenter service\n- `vpxa`: VirtualCenter agent\n- `hostd`: Host agent\n- `serverd`: Host server agent\n- `install`: Installation\n- `vpxClient`: Virtual infrastructure client\n- `recordLog`: System Record Log\n",
        "enum": [
          "vpxd",
          "vpxa",
          "hostd",
          "serverd",
          "install",
          "vpxClient",
          "recordLog"
        ]
      },
      "DiagnosticManagerLogFormat_enum": {
        "type": "string",
        "description": "Constants for defined formats.\n\nFor more information, see the comment for the format property.\n\nPossible values:\n- `plain`: A standard ASCII-based line-based log file.\n",
        "enum": [
          "plain"
        ]
      },
      "DistributedVirtualSwitchHostInfrastructureTrafficClass_enum": {
        "type": "string",
        "description": "List of possible host infrastructure traffic classes\n\nPossible values:\n- `management`: Management Traffic\n- `faultTolerance`: Fault Tolerance (FT) Traffic\n- `vmotion`: vMotion Traffic\n- `virtualMachine`: Virtual Machine Traffic\n- `iSCSI`: iSCSI Traffic\n- `nfs`: NFS Traffic\n- `hbr`: vSphere Replication (VR) Traffic\n- `vsan`: vSphere Storage Area Network Traffic\n- `vdp`: vSphere Data Protection - Backup Traffic\n- `backupNfc`: vSphere Backup NFC Traffic\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `nvmetcp`: vSphere NVMETCP Traffic\n  \n  ***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "management",
          "faultTolerance",
          "vmotion",
          "virtualMachine",
          "iSCSI",
          "nfs",
          "hbr",
          "vsan",
          "vdp",
          "backupNfc",
          "nvmetcp"
        ]
      },
      "DistributedVirtualSwitchNetworkResourceControlVersion_enum": {
        "type": "string",
        "description": "Network resource control version types.\n\nPossible values:\n- `version2`: Network Resource Control API version 2\n- `version3`: Network Resource Control API version 3\n",
        "enum": [
          "version2",
          "version3"
        ]
      },
      "DistributedVirtualSwitchNicTeamingPolicyMode_enum": {
        "type": "string",
        "description": "List of possible teaming modes supported by the vNetwork Distributed\nSwitch.\n\nThe different policy modes define the way traffic is routed\nthrough the different uplink ports in a team.\n\nPossible values:\n- `loadbalance_ip`: Routing based on IP hash\n- `loadbalance_srcmac`: Route based on source MAC hash\n- `loadbalance_srcid`: Route based on the source of the port ID\n- `failover_explicit`: Use explicit failover order\n- `loadbalance_loadbased`: Routing based by dynamically balancing traffic through the NICs\n  in a team.\n  \n  This is the recommended teaming policy when the\n  network I/O control feature is enabled for the vNetwork\n  Distributed Switch.\n",
        "enum": [
          "loadbalance_ip",
          "loadbalance_srcmac",
          "loadbalance_srcid",
          "failover_explicit",
          "loadbalance_loadbased"
        ]
      },
      "DistributedVirtualSwitchProductSpecOperationType_enum": {
        "type": "string",
        "description": "The product spec operation types.\n\nPossible values:\n- `preInstall`: Push the switch's host component of the specified product info to the\n  host members of the switch at a fixed location known by the host.\n- `upgrade`: Change the switch implementation to use the specified one.\n  \n  If the\n  property values in the specified product info are different from\n  those of the corresponding properties in the switch's product info,\n  a host component preinstall and switch upgrade will be performed.\n- `notifyAvailableUpgrade`: Set the product information for an available switch upgrade that\n  would be done by the switch implementation.\n  \n  This operation will post\n  a config issue on the switch to signal the availability of an upgrade.\n  This operation is applicable only in the case when switch policy\n  *DVSPolicy.autoUpgradeAllowed*\n  is set to false.\n- `proceedWithUpgrade`: If productSpec is set to be same as that in the\n  *DvsUpgradeAvailableEvent* configIssue, the switch\n  implementation will proceed with the upgrade.\n  \n  To reject or stop the\n  upgrade, leave the productSpec unset. If productSpec is set but does not\n  match that in *DvsUpgradeAvailableEvent* configIssue,\n  a fault will be raised.\n  This operation is applicable only in the case when switch policy\n  *DVSPolicy.autoUpgradeAllowed*\n  is set to false.\n- `updateBundleInfo`: Update the bundle URL and ID information.\n  \n  If other properties in\n  the specified product info differ from the\n  corresponding properties of the switch's product info, a fault will\n  be thrown. Updating the bundle ID will result in installing the new host\n  component identified by the bundle ID.\n",
        "enum": [
          "preInstall",
          "upgrade",
          "notifyAvailableUpgrade",
          "proceedWithUpgrade",
          "updateBundleInfo"
        ]
      },
      "DrsInjectorWorkloadCorrelationState_enum": {
        "type": "string",
        "description": "Correlation state as computed by storageRM\nmodule on host.\n\nPossible values:\n- `Correlated`\n- `Uncorrelated`\n",
        "enum": [
          "Correlated",
          "Uncorrelated"
        ]
      },
      "DrsInjectorWorkloadCorrelationState": {
        "type": "object",
        "description": "A boxed *DrsInjectorWorkloadCorrelationState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/DrsInjectorWorkloadCorrelationState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfDrsInjectorWorkloadCorrelationState": {
        "type": "object",
        "description": "A boxed array of *DrsInjectorWorkloadCorrelationState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsInjectorWorkloadCorrelationState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FolderDesiredHostState_enum": {
        "type": "string",
        "description": "Possible values:\n- `maintenance`: Add host in maintenance mode.\n- `non_maintenance`: Add host in non-maintenance mode.\n",
        "enum": [
          "maintenance",
          "non_maintenance"
        ]
      },
      "ReplicationVmState_enum": {
        "type": "string",
        "description": "Describes the current state of a replicated *VirtualMachine*\n\nPossible values:\n- `none`: The *VirtualMachine* has no current replication state.\n  \n  This is a virtual machine that is configured for replication, but is\n  powered off and not undergoing offline replication.\n- `paused`: The *VirtualMachine* replication is paused.\n- `syncing`: One or more of the *VirtualMachine* disks is in the\n  process of an initial synchronization with the remote site.\n- `idle`: The *VirtualMachine* is being replicated but is not\n  currently in the process of having a consistent instance created.\n- `active`: The *VirtualMachine* is in the process of having\n  a consistent instance created.\n- `error`: The *VirtualMachine* is unable to replicate due to\n  errors.\n  \n  XXX Currently unused.\n",
        "enum": [
          "none",
          "paused",
          "syncing",
          "idle",
          "active",
          "error"
        ]
      },
      "QuiesceMode_enum": {
        "type": "string",
        "description": "Quiescing is a boolean flag in *ReplicationConfigSpec*\nand QuiesceModeType describes the supported quiesce mode\nfor *VirtualMachine*.\n\nIf application quiescing fails, HBR would attempt\nfilesystem quiescing and if even filesystem quiescing\nfails, then we would just create a crash consistent\ninstance.\n\nPossible values:\n- `application`: HBR supports application quescing for this\n  *VirtualMachine*.\n- `filesystem`: HBR supports filesystem quescing for this\n  *VirtualMachine*.\n- `none`: HBR does not support quescing for this\n  *VirtualMachine*.\n",
        "enum": [
          "application",
          "filesystem",
          "none"
        ]
      },
      "HealthUpdateInfoComponentType_enum": {
        "type": "string",
        "description": "Possible values:\n- `Memory`\n- `Power`\n- `Fan`\n- `Network`\n- `Storage`\n",
        "enum": [
          "Memory",
          "Power",
          "Fan",
          "Network",
          "Storage"
        ]
      },
      "HostSystemConnectionState_enum": {
        "type": "string",
        "description": "Defines a host's connection state.\n\nPossible values:\n- `connected`: Connected to the server.\n  \n  For ESX Server, this is always the setting.\n- `notResponding`: VirtualCenter is not receiving heartbeats from the server.\n  \n  The state\n  automatically changes to connected once heartbeats are received\n  again. This state is typically used to trigger an alarm on the host.\n- `disconnected`: The user has explicitly taken the host down.\n  \n  VirtualCenter does not expect to\n  receive heartbeats from the host. The next time a heartbeat is received, the\n  host is moved to the connected state again and an event is logged.\n",
        "enum": [
          "connected",
          "notResponding",
          "disconnected"
        ]
      },
      "HostSystemConnectionState": {
        "type": "object",
        "description": "A boxed *HostSystemConnectionState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostSystemConnectionState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostSystemConnectionState": {
        "type": "object",
        "description": "A boxed array of *HostSystemConnectionState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemConnectionState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostCryptoState_enum": {
        "type": "string",
        "description": "Defines a host's encryption state\n\nPossible values:\n- `incapable`: The host is not safe for receiving sensitive material.\n- `prepared`: The host is prepared for receiving sensitive material\n  but does not have a host key set yet.\n- `safe`: The host is crypto safe and has a host key set.\n- `pendingIncapable`: The host is explicitly crypto disabled and pending reboot to be\n  applied.\n  \n  When host is in this state, creating encrypted virtual\n  machines is not allowed, but still need a reboot to totally clean\n  up and enter incapable state.\n",
        "enum": [
          "incapable",
          "prepared",
          "safe",
          "pendingIncapable"
        ]
      },
      "HostSystemPowerState_enum": {
        "type": "string",
        "description": "Defines a host's power state.\n\nPossible values:\n- `poweredOn`: The host is powered on.\n  \n  A host that is entering standby mode\n  *entering* is also in this state.\n- `poweredOff`: The host was specifically powered off by the user through\n  VirtualCenter.\n  \n  This state is not a cetain state, because\n  after VirtualCenter issues the command to power off the host,\n  the host might crash, or kill all the processes but fail to\n  power off.\n- `standBy`: The host was specifically put in standby mode, either\n  explicitly by the user, or automatically by DPM.\n  \n  This state\n  is not a cetain state, because after VirtualCenter issues the\n  command to put the host in standby state, the host might\n  crash, or kill all the processes but fail to power off. A host\n  that is exiting standby mode *exiting*\n  is also in this state.\n- `unknown`: If the host is disconnected, or notResponding, we cannot\n  possibly have knowledge of its power state.\n  \n  Hence, the host\n  is marked as unknown.\n",
        "enum": [
          "poweredOn",
          "poweredOff",
          "standBy",
          "unknown"
        ]
      },
      "HostSystemPowerState": {
        "type": "object",
        "description": "A boxed *HostSystemPowerState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostSystemPowerState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostSystemPowerState": {
        "type": "object",
        "description": "A boxed array of *HostSystemPowerState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSystemPowerState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostSystemRemediationStateState_enum": {
        "type": "string",
        "description": "Valid state for host profile remediation.\n\nPossible values:\n- `remediationReady`: Before precheck remediation and remediation.\n- `precheckRemediationRunning`: Preecheck remediation is running.\n- `precheckRemediationComplete`: Preecheck remediation succeeded.\n- `precheckRemediationFailed`: Preecheck remediation failed.\n- `remediationRunning`: Remediation is running.\n- `remediationFailed`: Remediation failed.\n",
        "enum": [
          "remediationReady",
          "precheckRemediationRunning",
          "precheckRemediationComplete",
          "precheckRemediationFailed",
          "remediationRunning",
          "remediationFailed"
        ]
      },
      "HostStandbyMode_enum": {
        "type": "string",
        "description": "Defines a host's standby mode.\n\nPossible values:\n- `entering`: The host is entering standby mode.\n- `exiting`: The host is exiting standby mode.\n- `in`: The host is in standby mode.\n- `none`: The host is not in standy mode, and it is not\n  in the process of entering/exiting standby mode.\n",
        "enum": [
          "entering",
          "exiting",
          "in",
          "none"
        ]
      },
      "HttpNfcLeaseManifestEntryChecksumType_enum": {
        "type": "string",
        "description": "List of supported algorithms for checksum calculation.\n\nPossible values:\n- `sha1`\n- `sha256`\n",
        "enum": [
          "sha1",
          "sha256"
        ]
      },
      "HttpNfcLeaseMode_enum": {
        "type": "string",
        "description": "List of supported modes by HttpNfcLease\n\nPossible values:\n- `pushOrGet`: Client pushes or downloads individual files from/to\n  each host/url provided by this lease in *HttpNfcLease.info*\n- `pull`: Mode where hosts itself pull files from source URLs.\n  \n  See *HttpNfcLease.HttpNfcLeasePullFromUrls_Task*\n",
        "enum": [
          "pushOrGet",
          "pull"
        ]
      },
      "HttpNfcLeaseState_enum": {
        "type": "string",
        "description": "List of possible states of a lease.\n\nPossible values:\n- `initializing`: When the lease is being initialized.\n- `ready`: When the lease is ready and disks may be transferred.\n- `done`: When the import/export session is completed, and the lease\n  is no longer held.\n- `error`: When an error has occurred.\n",
        "enum": [
          "initializing",
          "ready",
          "done",
          "error"
        ]
      },
      "HttpNfcLeaseState": {
        "type": "object",
        "description": "A boxed *HttpNfcLeaseState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HttpNfcLeaseState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHttpNfcLeaseState": {
        "type": "object",
        "description": "A boxed array of *HttpNfcLeaseState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HttpNfcLeaseState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "IoFilterType_enum": {
        "type": "string",
        "description": "Defines the type of an IO Filter.\n\nPossible values:\n- `cache`: Cache.\n- `replication`: Replication.\n- `encryption`: Encryption.\n- `compression`: Compression.\n- `inspection`: Inspection.\n- `datastoreIoControl`: Datastore I/O Control.\n- `dataProvider`: Data Provider.\n- `dataCapture`: Lightweight Data Capture.\n  \n  ***Since:*** vSphere API Release 7.0.2.1\n",
        "enum": [
          "cache",
          "replication",
          "encryption",
          "compression",
          "inspection",
          "datastoreIoControl",
          "dataProvider",
          "dataCapture"
        ]
      },
      "IoFilterOperation_enum": {
        "type": "string",
        "description": "Defines the type of operation for an IO Filter.\n\nPossible values:\n- `install`: Install an IO Filter.\n- `uninstall`: Uninstall an IO Filter.\n- `upgrade`: Upgrade an IO Filter.\n",
        "enum": [
          "install",
          "uninstall",
          "upgrade"
        ]
      },
      "LatencySensitivitySensitivityLevel_enum": {
        "type": "string",
        "description": "Enumeration of the nominal latency-sensitive values which can be\nused to specify the latency-sensitivity level of the application.\n\nIn terms of latency-sensitivity the values relate:\nhigh&gt;medium&gt;normal&gt;low.\n\nPossible values:\n- `low`: The relative latency-sensitivity low value.\n- `normal`: The relative latency-sensitivity normal value.\n  \n  This is the default latency-sensitivity value.\n- `medium`: The relative latency-sensitivity medium value.\n- `high`: The relative latency-sensitivity high value.\n- `custom`: \n  \n  Deprecated as of vSphere API Ver 6.0. Value will be ignored and\n  treated as \"normal\" latency sensitivity.\n  \n  The custom absolute latency-sensitivity specified in\n  *LatencySensitivity.sensitivity* property is used to\n  define the latency-sensitivity.\n  \n  When this value is set to *LatencySensitivity.level* the\n  *LatencySensitivity.sensitivity* property should be\n  set also.\n",
        "enum": [
          "low",
          "normal",
          "medium",
          "high",
          "custom"
        ]
      },
      "LatencySensitivitySensitivityLevel": {
        "type": "object",
        "description": "A boxed *LatencySensitivitySensitivityLevel_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/LatencySensitivitySensitivityLevel_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfLatencySensitivitySensitivityLevel": {
        "type": "object",
        "description": "A boxed array of *LatencySensitivitySensitivityLevel_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LatencySensitivitySensitivityLevel_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseFeatureInfoUnit_enum": {
        "type": "string",
        "description": "Cost units apply to licenses for the purpose of determining\nhow many licenses are needed.\n\nPossible values:\n- `host`: One license is acquired per host.\n- `cpuCore`: One license is acquired per CPU core.\n- `cpuPackage`: One license is acquired per CPU package.\n- `server`: One license is acquired per server.\n- `vm`: One license is acquired per virtual machine.\n",
        "enum": [
          "host",
          "cpuCore",
          "cpuPackage",
          "server",
          "vm"
        ]
      },
      "LicenseFeatureInfoSourceRestriction_enum": {
        "type": "string",
        "description": "Some licenses may only be allowed to load from a specified source.\n\nThis enum indicates what restrictions exist for this license if any.\n\nPossible values:\n- `unrestricted`: The feature does not have a source restriction.\n- `served`: The feature's license can only be served.\n- `file`: The feature's license can only come from a file.\n",
        "enum": [
          "unrestricted",
          "served",
          "file"
        ]
      },
      "LicenseFeatureInfoState_enum": {
        "type": "string",
        "description": "Describes the state of the feature.\n\nPossible values:\n- `enabled`: The current edition license has implicitly enabled this additional feature.\n- `disabled`: The current edition license does not allow this additional feature.\n- `optional`: The current edition license allows this additional feature.\n  \n  The\n  *LicenseManager.EnableFeature* and *LicenseManager.DisableFeature* methods can be used to enable or disable\n  this feature.\n",
        "enum": [
          "enabled",
          "disabled",
          "optional"
        ]
      },
      "LicenseFeatureInfoState": {
        "type": "object",
        "description": "A boxed *LicenseFeatureInfoState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/LicenseFeatureInfoState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfLicenseFeatureInfoState": {
        "type": "object",
        "description": "A boxed array of *LicenseFeatureInfoState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseFeatureInfoState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLicensableResourceKey_enum": {
        "type": "string",
        "description": "Identifiers of currently supported resources.\n\nPossible values:\n- `numCpuPackages`: Number of CPU packages on this host.\n- `numCpuCores`: Number of licensable CPU cores/compute-units on this host.\n- `memorySize`: Total size of memory installed on this host, measured in kilobytes.\n- `memoryForVms`: Total size of memory configured for VMs on this host, measured in kilobytes.\n- `numVmsStarted`: Number of VMs already running on this host.\n- `numVmsStarting`: Number of VMs that are currently powering-on, immigrating, etc.\n- `vsanCapacity`: vSAN capacity in TiB on this host.\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "numCpuPackages",
          "numCpuCores",
          "memorySize",
          "memoryForVms",
          "numVmsStarted",
          "numVmsStarting",
          "vsanCapacity"
        ]
      },
      "HostLicensableResourceKey": {
        "type": "object",
        "description": "A boxed *HostLicensableResourceKey_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostLicensableResourceKey_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostLicensableResourceKey": {
        "type": "object",
        "description": "A boxed array of *HostLicensableResourceKey_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLicensableResourceKey_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseManagerLicenseKey_enum": {
        "type": "string",
        "description": "Deprecated as of VI API 2.5, use *LicenseManager.QueryLicenseSourceAvailability*\nto obtain an array of *LicenseAvailabilityInfo* data\nobjects.\n\nLicensed features have unique keys to identify them.\n\nPossible values:\n- `esxFull`: The edition license for the ESX Server, Standard edition.\n  \n  This is a per\n  CPU package license.\n- `esxVmtn`: The edition license for the ESX server, VMTN edition.\n  \n  This is a per CPU package\n  license.\n- `esxExpress`: The edition license for the ESX server, Starter edition.\n  \n  This is a per CPU\n  package license.\n- `san`: Enable use of SAN.\n  \n  This is a per CPU package license.\n- `iscsi`: Enable use of iSCSI.\n  \n  This is a per CPU package license.\n- `nas`: Enable use of NAS.\n  \n  This is a per CPU package license.\n- `vsmp`: Enable up to 4-way VSMP feature.\n  \n  This is a per CPU package license.\n- `backup`: Enable ESX Server consolidated backup feature.\n  \n  This is a per CPU package\n  license.\n- `vc`: The edition license for a VirtualCenter server, full edition.\n  \n  This license\n  is independent of the number of CPU packages for the VirtualCenter host.\n- `vcExpress`: The edition license for a VirtualCenter server, starter edition.\n  \n  This license\n  limits the number of hosts (esxHost or serverHost) that can be managed by the\n  VirtualCenter product.\n- `esxHost`: Enable VirtualCenter ESX Server host management functionality.\n  \n  This is a per\n  ESX server CPU package license.\n- `gsxHost`: Enable VirtualCenter GSX Server host management functionality.\n  \n  This is a per\n  GSX server CPU package license.\n- `serverHost`: Enable VirtualCenter VMware server host management functionality.\n  \n  This is a per\n  VMware server CPU package license.\n- `drsPower`: Enable VirtualCenter DRS Power Management Functionality.\n  \n  This is a per CPU package\n- `vmotion`: Enable VMotion.\n  \n  This is a per ESX server CPU package license.\n- `drs`: Enable VirtualCenter Distributed Resource Scheduler.\n  \n  This is a per ESX server\n  CPU package license.\n- `das`: Enable VirtualCenter HA.\n  \n  This is a per ESX server CPU package license.\n",
        "enum": [
          "esxFull",
          "esxVmtn",
          "esxExpress",
          "san",
          "iscsi",
          "nas",
          "vsmp",
          "backup",
          "vc",
          "vcExpress",
          "esxHost",
          "gsxHost",
          "serverHost",
          "drsPower",
          "vmotion",
          "drs",
          "das"
        ]
      },
      "LicenseManagerState_enum": {
        "type": "string",
        "description": "Deprecated as of vSphere API 4.0, this is not used by the system.\n\nState of licensing subsystem.\n\nPossible values:\n- `initializing`: Setting or resetting configuration in progress.\n- `normal`: Running within operating parameters.\n- `marginal`: License source unavailable, using license cache.\n- `fault`: Initialization has failed or grace period expired.\n",
        "enum": [
          "initializing",
          "normal",
          "marginal",
          "fault"
        ]
      },
      "LicenseManagerState": {
        "type": "object",
        "description": "A boxed *LicenseManagerState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/LicenseManagerState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfLicenseManagerState": {
        "type": "object",
        "description": "A boxed array of *LicenseManagerState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseManagerState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "LicenseReservationInfoState_enum": {
        "type": "string",
        "description": "Describes the reservation state of a license.\n\nPossible values:\n- `notUsed`: This license is currently unused by the system, or the feature does not\n  apply.\n  \n  For example, a DRS license appears as NotUsed if the host is not\n  part of a DRS-enabled cluster.\n- `noLicense`: This indicates that the license has expired or the system attempted to acquire\n  the license but was not successful in reserving it.\n- `unlicensedUse`: The LicenseManager failed to acquire a license but the implementation\n  policy allows us to use the licensed feature anyway.\n  \n  This is possible, for\n  example, when a license server becomes unavailable after a license had been\n  successfully reserved from it.\n- `licensed`: The required number of licenses have been acquired from the license source.\n",
        "enum": [
          "notUsed",
          "noLicense",
          "unlicensedUse",
          "licensed"
        ]
      },
      "LicenseReservationInfoState": {
        "type": "object",
        "description": "A boxed *LicenseReservationInfoState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/LicenseReservationInfoState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfLicenseReservationInfoState": {
        "type": "object",
        "description": "A boxed array of *LicenseReservationInfoState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LicenseReservationInfoState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ManagedEntityStatus_enum": {
        "type": "string",
        "description": "The Status enumeration defines a general \"health\" value for a managed entity.\n\nPossible values:\n- `gray`: The status is unknown.\n- `green`: The entity is OK.\n- `yellow`: The entity might have a problem.\n- `red`: The entity definitely has a problem.\n",
        "enum": [
          "gray",
          "green",
          "yellow",
          "red"
        ]
      },
      "ManagedEntityStatus": {
        "type": "object",
        "description": "A boxed *ManagedEntityStatus_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/ManagedEntityStatus_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfManagedEntityStatus": {
        "type": "object",
        "description": "A boxed array of *ManagedEntityStatus_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManagedEntityStatus_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "OvfConsumerOstNodeType_enum": {
        "type": "string",
        "description": "The type of an OST node.\n\nEach OST node corresponds to an element in the OVF descriptor. See *OvfConsumerOstNode*\nfor a description of the different node types.\n\nPossible values:\n- `envelope`\n- `virtualSystem`\n- `virtualSystemCollection`\n",
        "enum": [
          "envelope",
          "virtualSystem",
          "virtualSystemCollection"
        ]
      },
      "OvfCreateImportSpecParamsDiskProvisioningType_enum": {
        "type": "string",
        "description": "Types of disk provisioning that can be set for the disk in the deployed OVF\npackage.\n\nPossible values:\n- `monolithicSparse`: A sparse (allocate on demand) monolithic disk.\n  \n  Disks in this format can\n  be used with other VMware products.\n- `monolithicFlat`: A preallocated monolithic disk.\n  \n  Disks in this format can be used with\n  other VMware products.\n- `twoGbMaxExtentSparse`: A sparse (allocate on demand) disk with 2GB maximum extent size.\n  \n  Disks in this format can be used with other VMware products. The 2GB\n  extent size makes these disks easier to burn to dvd or use on\n  filesystems that don't support large files.\n- `twoGbMaxExtentFlat`: A preallocated disk with 2GB maximum extent size.\n  \n  Disks in this format\n  can be used with other VMware products. The 2GB extent size\n  makes these disks easier to burn to dvd or use on filesystems that\n  don't support large files.\n- `thin`: Space required for thin-provisioned virtual disk is allocated and\n  zeroed on demand as the space is used.\n- `thick`: A thick disk has all space allocated at creation time\n  and the space is zeroed on demand as the space is used.\n- `seSparse`: A sparse (allocate on demand) format with additional space\n  optimizations.\n- `eagerZeroedThick`: An eager zeroed thick disk has all space allocated and wiped clean\n  of any previous contents on the physical media at creation time.\n  \n  Such disks may take longer time during creation compared to other\n  disk formats.\n- `sparse`: Depending on the host type, Sparse is mapped to either\n  MonolithicSparse or Thin.\n- `flat`: Depending on the host type, Flat is mapped to either\n  MonolithicFlat or Thick.\n",
        "enum": [
          "monolithicSparse",
          "monolithicFlat",
          "twoGbMaxExtentSparse",
          "twoGbMaxExtentFlat",
          "thin",
          "thick",
          "seSparse",
          "eagerZeroedThick",
          "sparse",
          "flat"
        ]
      },
      "PerfSummaryType_enum": {
        "type": "string",
        "description": "Indicates how multiple samples of a specific counter type are\ntransformed into a single statistical value.\n\nPossible values:\n- `average`: The actual value collected or the average of all values collected\n  during the summary period.\n- `maximum`: The maximum value of the performance counter value over the\n  summarization period.\n- `minimum`: The minimum value of the performance counter value over the\n  summarization period.\n- `latest`: The most recent value of the performance counter over the\n  summarization period.\n- `summation`: The sum of all the values of the performance counter over the\n  summarization period.\n- `none`: The counter is never rolled up.\n",
        "enum": [
          "average",
          "maximum",
          "minimum",
          "latest",
          "summation",
          "none"
        ]
      },
      "PerfSummaryType": {
        "type": "object",
        "description": "A boxed *PerfSummaryType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/PerfSummaryType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfPerfSummaryType": {
        "type": "object",
        "description": "A boxed array of *PerfSummaryType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfSummaryType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerfStatsType_enum": {
        "type": "string",
        "description": "Indicates the type of statistical measurement that a counter&#146;s\nvalue represents.\n\nValid types are &#147;absolute&#148;,\n&#147;delta&#148;, or &#147;rate&#148;.\n\nPossible values:\n- `absolute`: Represents an actual value, level, or state of the counter.\n  \n  For\n  example, the &#147;uptime&#148; counter (**system** group)\n  represents the actual number of seconds since startup. The\n  &#147;capacity&#148; counter represents the actual configured size\n  of the specified datastore. In other words, number of samples,\n  samplingPeriod, and intervals have no bearing on an\n  &#147;absolute&#148; counter&#147;s value.\n- `delta`: Represents an amount of change for the counter during the *PerfInterval.samplingPeriod* as compared to the previous\n  *interval*.\n  \n  The first sampling interval\n- `rate`: Represents a value that has been normalized over the *PerfInterval.samplingPeriod*, enabling values for the same\n  counter type to be compared, regardless of interval.\n  \n  For example,\n  the number of reads per second.\n",
        "enum": [
          "absolute",
          "delta",
          "rate"
        ]
      },
      "PerfStatsType": {
        "type": "object",
        "description": "A boxed *PerfStatsType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/PerfStatsType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfPerfStatsType": {
        "type": "object",
        "description": "A boxed array of *PerfStatsType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PerfStatsType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PerformanceManagerUnit_enum": {
        "type": "string",
        "description": "Indicates the unit of measure represented by a counter or statistical\nvalue.\n\nPossible values:\n- `percent`: Percentage values in units of 1/100th of a percent.\n  \n  For example 100\n  represents 1%.\n- `kiloBytes`: Kilobytes.\n- `megaBytes`: Megabytes.\n- `megaHertz`: Megahertz.\n- `number`: A quantity of items, for example, the number of CPUs.\n- `microsecond`: The time in microseconds.\n- `millisecond`: The time in milliseconds.\n- `second`: The time in seconds.\n- `kiloBytesPerSecond`: Kilobytes per second.\n- `megaBytesPerSecond`: Megabytes per second.\n- `watt`: Watts\n- `joule`: Joules\n- `teraBytes`: Terabytes.\n- `celsius`: Temperature in celsius.\n- `nanosecond`: The time in nanoseconds.\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "percent",
          "kiloBytes",
          "megaBytes",
          "megaHertz",
          "number",
          "microsecond",
          "millisecond",
          "second",
          "kiloBytesPerSecond",
          "megaBytesPerSecond",
          "watt",
          "joule",
          "teraBytes",
          "celsius",
          "nanosecond"
        ]
      },
      "PerfFormat_enum": {
        "type": "string",
        "description": "The format in which performance counter data is returned.\n\nPossible values:\n- `normal`: Counters returned in an array of data objects.\n- `csv`: Counters returned in comma-separate value (CSV) format.\n",
        "enum": [
          "normal",
          "csv"
        ]
      },
      "ResourceConfigSpecScaleSharesBehavior_enum": {
        "type": "string",
        "description": "Possible values:\n- `disabled`: Do not scale shares\n- `scaleCpuAndMemoryShares`: Scale both CPU and memory shares\n",
        "enum": [
          "disabled",
          "scaleCpuAndMemoryShares"
        ]
      },
      "VMotionCompatibilityType_enum": {
        "type": "string",
        "description": "Types of a host's compatibility with a designated virtual machine\nthat is a candidate for VMotion.\n\nUsed with queryVMotionCompatibility\nboth as inputs (to designate which compatibility types to test for)\nand as outputs (to specify which compatibility types apply for\neach host).\n\nPossible values:\n- `cpu`: The host's CPU features are compatible with the\n  the virtual machine's requirements.\n- `software`: The software platform on the host supports VMotion\n  and is compatible with the virtual machine.\n",
        "enum": [
          "cpu",
          "software"
        ]
      },
      "ValidateMigrationTestType_enum": {
        "type": "string",
        "description": "Deprecated as of vSphere API 4.0, use *CheckTestType_enum* instead.\n\nTypes of tests available for validateMigration.\n\nPossible values:\n- `sourceTests`: Tests that examine only the configuration\n  of the virtual machine and its current host; the destination\n  resource pool and host or cluster are irrelevant.\n- `compatibilityTests`: Tests that examine both the virtual\n  machine and the destination host or cluster; the destination\n  resource pool is irrelevant.\n  \n  This set excludes tests that fall\n  into the diskAccessibilityTests group.\n- `diskAccessibilityTests`: Tests that check that the\n  destination host or cluster can see the datastores where the virtual\n  machine's virtual disks are currently located.\n  \n  The destination\n  resource pool is irrelevant. If you are planning to relocate the\n  virtual disks, do not use these tests; instead examine the relevant\n  datastore objects for your planned disk locations to see if they\n  are accessible to the destination host.\n- `resourceTests`: Tests that check that the destination resource\n  pool can support the virtual machine if it is powered on.\n  \n  The\n  destination host or cluster is relevant because it will affect the\n  amount of overhead memory required to run the virtual machine.\n",
        "enum": [
          "sourceTests",
          "compatibilityTests",
          "diskAccessibilityTests",
          "resourceTests"
        ]
      },
      "SessionManagerGenericServiceTicketTicketType_enum": {
        "type": "string",
        "description": "Possible values:\n- `HttpNfcServiceTicket`: Ticket used for HttpNfc access to a file or disk on a datastore\n- `HostServiceTicket`: Ticket used for service request on a host\n- `VcServiceTicket`: Ticket used for service request on a VC\n  \n***Since:*** vSphere API Release 7.0.2.0\n",
        "enum": [
          "HttpNfcServiceTicket",
          "HostServiceTicket",
          "VcServiceTicket"
        ]
      },
      "SessionManagerHttpServiceRequestSpecMethod_enum": {
        "type": "string",
        "description": "HTTP request methods.\n\nPossible values:\n- `httpOptions`\n- `httpGet`\n- `httpHead`\n- `httpPost`\n- `httpPut`\n- `httpDelete`\n- `httpTrace`\n- `httpConnect`\n",
        "enum": [
          "httpOptions",
          "httpGet",
          "httpHead",
          "httpPost",
          "httpPut",
          "httpDelete",
          "httpTrace",
          "httpConnect"
        ]
      },
      "SharesLevel_enum": {
        "type": "string",
        "description": "Simplified shares notation.\n\nThese designations have different meanings for different resources.\n\nPossible values:\n- `low`: For CPU: Shares = 500 \\* number of virtual CPUs  \n  For Memory: Shares = 5 \\* virtual machine memory size in megabytes  \n  For Disk: Shares = 500  \n  For Network: Shares = 0.25 \\* *DVSFeatureCapability.networkResourcePoolHighShareValue*\n- `normal`: For CPU: Shares = 1000 \\* number of virtual CPUs  \n  For Memory: Shares = 10 \\* virtual machine memory size in megabytes  \n  For Disk: Shares = 1000  \n  For Network: Shares = 0.5 \\* *DVSFeatureCapability.networkResourcePoolHighShareValue*\n- `high`: For CPU: Shares = 2000 \\* number of virtual CPUs  \n  For Memory: Shares = 20 \\* virtual machine memory size in megabytes  \n  For Disk: Shares = 2000  \n  For Network: Shares = *DVSFeatureCapability.networkResourcePoolHighShareValue*\n- `custom`: If you specify <code>custom</code> for the *SharesInfo.level* property, when there is resource contention the Server uses the *SharesInfo.shares* value to determine resource allocation.\n",
        "enum": [
          "low",
          "normal",
          "high",
          "custom"
        ]
      },
      "SharesLevel": {
        "type": "object",
        "description": "A boxed *SharesLevel_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/SharesLevel_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfSharesLevel": {
        "type": "object",
        "description": "A boxed array of *SharesLevel_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharesLevel_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SimpleCommandEncoding_enum": {
        "type": "string",
        "description": "The encoding of the resultant return data.\n\nThis is a hint to the client side\nto indicate the format of the information being returned.\n\nPossible values:\n- `CSV`: Comma separated values\n- `HEX`: Hex encoded binary data\n- `STRING`\n",
        "enum": [
          "CSV",
          "HEX",
          "STRING"
        ]
      },
      "SimpleCommandEncoding": {
        "type": "object",
        "description": "A boxed *SimpleCommandEncoding_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/SimpleCommandEncoding_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfSimpleCommandEncoding": {
        "type": "object",
        "description": "A boxed array of *SimpleCommandEncoding_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SimpleCommandEncoding_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StorageIORMThresholdMode_enum": {
        "type": "string",
        "description": "Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n\nUser specification of congestion threshold mode on a given datastore\n\nFor more information, see\n*StorageIORMInfo.congestionThreshold*\n\nPossible values:\n- `automatic`: Storagage IO Control will choose appropriate congestion threshold value\n  for that datastore to operate at given percentage of peak throughput.\n  \n  This is the default setting\n- `manual`: Use user specified Storage IO Control congestion threshold value\n",
        "enum": [
          "automatic",
          "manual"
        ]
      },
      "TaskFilterSpecRecursionOption_enum": {
        "type": "string",
        "description": "This option specifies how to select tasks based on child relationships\nin the inventory hierarchy.\n\nIf a managed entity has children, their tasks\ncan be retrieved with this filter option.\n\nPossible values:\n- `self`: Returns tasks that pertain only to the specified managed entity,\n  and not its children.\n- `children`: Returns tasks pertaining to child entities only.\n  \n  Excludes\n  tasks pertaining to the specified managed entity itself.\n- `all`: Returns tasks pertaining either to the specified managed entity\n  or to its child entities.\n",
        "enum": [
          "self",
          "children",
          "all"
        ]
      },
      "TaskFilterSpecRecursionOption": {
        "type": "object",
        "description": "A boxed *TaskFilterSpecRecursionOption_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/TaskFilterSpecRecursionOption_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfTaskFilterSpecRecursionOption": {
        "type": "object",
        "description": "A boxed array of *TaskFilterSpecRecursionOption_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskFilterSpecRecursionOption_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskFilterSpecTimeOption_enum": {
        "type": "string",
        "description": "This option specifies a time stamp governing the selection of tasks.\n\nPossible values:\n- `queuedTime`: The time stamp when the task was created and queued.\n- `startedTime`: The time stamp when the task started.\n- `completedTime`: The time stamp when the task finished.\n",
        "enum": [
          "queuedTime",
          "startedTime",
          "completedTime"
        ]
      },
      "TaskFilterSpecTimeOption": {
        "type": "object",
        "description": "A boxed *TaskFilterSpecTimeOption_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/TaskFilterSpecTimeOption_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfTaskFilterSpecTimeOption": {
        "type": "object",
        "description": "A boxed array of *TaskFilterSpecTimeOption_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskFilterSpecTimeOption_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "TaskInfoState_enum": {
        "type": "string",
        "description": "List of possible states of a task.\n\nPossible values:\n- `queued`: When there are too many tasks for threads to handle.\n- `running`: When the busy thread is freed from its current task by\n  finishing the task, it picks a queued task to run.\n  \n  Then the queued tasks are marked as running.\n- `success`: When a running task has completed.\n- `error`: When a running task has encountered an error.\n",
        "enum": [
          "queued",
          "running",
          "success",
          "error"
        ]
      },
      "TaskInfoState": {
        "type": "object",
        "description": "A boxed *TaskInfoState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/TaskInfoState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfTaskInfoState": {
        "type": "object",
        "description": "A boxed array of *TaskInfoState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskInfoState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualAppVAppState_enum": {
        "type": "string",
        "description": "The VAppState type defines the set of states a vApp can be\nin.\n\nThe transitory states between started and stopped is modeled explicitly,\nsince the starting or stopping of a vApp is typically a time-consuming\nprocess that might take minutes to complete.\n\nPossible values:\n- `started`: The vApp is currently powered on .\n- `stopped`: The vApp is currently powered off or suspended.\n- `starting`: The vApp is in the process of starting.\n- `stopping`: The vApp is in the process of stopping.\n",
        "enum": [
          "started",
          "stopped",
          "starting",
          "stopping"
        ]
      },
      "VirtualAppVAppState": {
        "type": "object",
        "description": "A boxed *VirtualAppVAppState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualAppVAppState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualAppVAppState": {
        "type": "object",
        "description": "A boxed array of *VirtualAppVAppState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualAppVAppState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskAdapterType_enum": {
        "type": "string",
        "description": "The types of virtual disk adapters used by virtual disks\n\nPossible values:\n- `ide`: Use IDE emulation for the virtual disk\n- `busLogic`: Use BusLogic emulation for the virtual disk\n- `lsiLogic`: Use LSILogic emulation for the virtual disk\n",
        "enum": [
          "ide",
          "busLogic",
          "lsiLogic"
        ]
      },
      "VirtualDiskType_enum": {
        "type": "string",
        "description": "The types of virtual disks that can be created or cloned.\n\nPossible values:\n- `preallocated`: A preallocated disk has all space allocated at creation time\n  and the space is zeroed on demand as the space is used.\n- `thin`: Space required for thin-provisioned virtual disk is allocated and\n  zeroed on demand as the space is used.\n- `seSparse`: A sparse (allocate on demand) format with additional space\n  optimizations.\n- `rdm`: Virtual compatibility mode raw disk mapping.\n  \n  An rdm virtual disk\n  grants access to the entire raw disk and the virtual disk can\n  participate in snapshots.\n- `rdmp`: Physical compatibility mode (pass-through) raw disk mapping.\n  \n  An rdmp\n  virtual disk passes SCSI commands directly to the hardware, but the\n  virtual disk cannot participate in snapshots.\n- `raw`: Raw device.\n- `delta`: A redo log disk.\n  \n  This format is only applicable as a destination format\n  in a clone operation, and not usable for disk creation.\n- `sparse2Gb`: A sparse disk with 2GB maximum extent size.\n  \n  Disks in this format\n  can be used with other VMware products. The 2GB extent size\n  makes these disks easier to burn to dvd or use on filesystems that\n  don't support large files. This format is only applicable as a\n  destination format in a clone operation, and not usable for disk\n  creation.\n- `thick2Gb`: A thick disk with 2GB maximum extent size.\n  \n  Disks in this format\n  can be used with other VMware products. The 2GB extent size\n  makes these disks easier to burn to dvd or use on filesystems that\n  don't support large files. This format is only applicable as a\n  destination format in a clone operation, and not usable for disk\n  creation.\n- `eagerZeroedThick`: An eager zeroed thick disk has all space allocated and wiped clean\n  of any previous contents on the physical media at creation time.\n  \n  Such disks may take longer time during creation compared to other\n  disk formats.\n- `sparseMonolithic`: A sparse monolithic disk.\n  \n  Disks in this format can be used with other\n  VMware products. This format is only applicable as a destination\n  format in a clone operation, and not usable for disk creation.\n- `flatMonolithic`: A preallocated monolithic disk.\n  \n  Disks in this format can be used with\n  other VMware products. This format is only applicable as a destination\n  format in a clone operation, and not usable for disk creation.\n- `thick`: \n  \n  Deprecated as of vSphere API 4.x, use *eagerZeroedThick* instead\n  for clustering application, and *preallocated* for other applications.\n  \n  A thick disk has all space allocated at creation time.\n  \n  This\n  space may contain stale data on the physical media. Thick disks\n  are primarily used for virtual machine clustering, but they are\n  generally insecure and should not be used. Due to better performance\n  and security properties, the use of the 'preallocated' format is\n  preferred over this format.\n",
        "enum": [
          "preallocated",
          "thin",
          "seSparse",
          "rdm",
          "rdmp",
          "raw",
          "delta",
          "sparse2Gb",
          "thick2Gb",
          "eagerZeroedThick",
          "sparseMonolithic",
          "flatMonolithic",
          "thick"
        ]
      },
      "VirtualMachineAppHeartbeatStatusType_enum": {
        "type": "string",
        "description": "Application heartbeat status type.\n\nPossible values:\n- `appStatusGray`: Heartbeat status is disabled\n- `appStatusGreen`: Heartbeat status is OK\n- `appStatusRed`: Heartbeating has stopped\n",
        "enum": [
          "appStatusGray",
          "appStatusGreen",
          "appStatusRed"
        ]
      },
      "VirtualMachineConnectionState_enum": {
        "type": "string",
        "description": "The connectivity state of a virtual machine.\n\nWhen the API is provided directly by\na server product, such as ESX Server, then the disconnected state is not\npossible. However, when accessed through VirtualCenter, the state of a virtual\nmachine is set to disconnected if the hosts that manage the virtual\nmachine becomes unavailable.\n\nPossible values:\n- `connected`: The server has access to the virtual machine.\n- `disconnected`: The server is currently disconnected from the virtual machine, since its\n  host is disconnected.\n  \n  See general comment for this enumerated type for more\n  details.\n- `orphaned`: The virtual machine is no longer registered on the host it is associated\n  with.\n  \n  For example, a virtual machine that is unregistered or deleted\n  directly on a host managed by VirtualCenter shows up in this state.\n- `inaccessible`: One or more of the virtual machine configuration files are inaccessible.\n  \n  For\n  example, this can be due to transient disk failures. In this case, no\n  configuration can be returned for a virtual machine.\n- `invalid`: The virtual machine configuration format is invalid.\n  \n  Thus, it is accessible\n  on disk, but corrupted in a way that does not allow the server to read the\n  content. In this case, no configuration can be returned for a virtual\n  machine.\n",
        "enum": [
          "connected",
          "disconnected",
          "orphaned",
          "inaccessible",
          "invalid"
        ]
      },
      "VirtualMachineConnectionState": {
        "type": "object",
        "description": "A boxed *VirtualMachineConnectionState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachineConnectionState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachineConnectionState": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConnectionState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConnectionState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineCryptoState_enum": {
        "type": "string",
        "description": "The crypto state of a encrypted virtual machine.\n\nPossible values:\n- `unlocked`: The virtual machine is in unlocked state.\n- `locked`: The virtual machine is in locked state for the configuration key missing\n  on the ESX host where the VM is registered.\n",
        "enum": [
          "unlocked",
          "locked"
        ]
      },
      "VirtualMachineFaultToleranceState_enum": {
        "type": "string",
        "description": "The FaultToleranceState type defines a simple set of states for a\nfault tolerant virtual machine:\ndisabled, starting, and enabled.\n\nPossible values:\n- `notConfigured`: This state indicates that the virtual machine has not been\n  configured for fault tolerance.\n- `disabled`: For a virtual machine that is the primary in a fault tolerant group,\n  this state indicates that the virtual machine has at least one\n  registered secondary, but no secondary is enabled.\n  \n  For a virtual machine that is the secondary in a fault tolerant\n  group, this state indicates that the secondary is disabled.\n- `enabled`: For a virtual machine that is the primary in a fault tolerant group,\n  this state indicates that the virtual machine is not currently\n  powered on, but has at least one enabled secondary\n  For a virtual machine that is the secondary in a fault tolerant\n  group, this state indicates that the secondary is enabled, but is\n  not currently powered on.\n- `needSecondary`: For a virtual machine that is the primary in a fault tolerant group,\n  this state indicates that the virtual machine is powered on and\n  has at least one enabled secondary, but no secondary is currently\n  active.\n  \n  This state is not valid for a virtual machine that is a secondary\n  in a fault tolerant group.\n- `starting`: For a virtual machine that is the primary in a fault tolerant group,\n  this state indicates that the virtual machine is powered on and has\n  at least one secondary that is synchronizing its state with the\n  primary.\n  \n  For a virtual machine that is the secondary in a fault tolerant\n  group, this state indicates that the secondary is powered on and is\n  synchronizing its state with the primary virtual machine.\n- `running`: This state indicates that the virtual machine is running with fault\n  tolerance protection.\n",
        "enum": [
          "notConfigured",
          "disabled",
          "enabled",
          "needSecondary",
          "starting",
          "running"
        ]
      },
      "VirtualMachineFaultToleranceState": {
        "type": "object",
        "description": "A boxed *VirtualMachineFaultToleranceState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachineFaultToleranceState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachineFaultToleranceState": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineFaultToleranceState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineFaultToleranceState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineFaultToleranceType_enum": {
        "type": "string",
        "description": "The FaultToleranceType defines the type of fault tolerance, if any,\nthe virtual machine is configured for.\n\nPossible values:\n- `unset`: FT not set\n- `recordReplay`: Record/replay\n- `checkpointing`: Checkpointing\n",
        "enum": [
          "unset",
          "recordReplay",
          "checkpointing"
        ]
      },
      "VirtualMachineMovePriority_enum": {
        "type": "string",
        "description": "MovePriority is an enumeration of values that indicate the priority of the task\nthat moves a virtual machine from one host to another or one storage location\nto another.\n\nNote this priority can affect both the source and target hosts.\n\nPossible values:\n- `lowPriority`: The task of moving this virtual machine is low priority.\n- `highPriority`: The task of moving this virtual machine is high priority.\n- `defaultPriority`: The task of moving this virtual machine is the default priority.\n",
        "enum": [
          "lowPriority",
          "highPriority",
          "defaultPriority"
        ]
      },
      "VirtualMachineMovePriority": {
        "type": "object",
        "description": "A boxed *VirtualMachineMovePriority_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachineMovePriority_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachineMovePriority": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMovePriority_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMovePriority_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineNeedSecondaryReason_enum": {
        "type": "string",
        "description": "The NeedSecondaryReason type defines all reasons a virtual machine is\nin the needSecondary Fault Tolerance state following a failure.\n\nPossible values:\n- `initializing`: Initializing FT\n- `divergence`: Divergence\n- `lostConnection`: Lose connection to secondary\n- `partialHardwareFailure`: Partial hardware failure\n- `userAction`: Terminated by user\n- `checkpointError`: Checkpoint error\n- `other`: All other reasons\n",
        "enum": [
          "initializing",
          "divergence",
          "lostConnection",
          "partialHardwareFailure",
          "userAction",
          "checkpointError",
          "other"
        ]
      },
      "VirtualMachinePowerState_enum": {
        "type": "string",
        "description": "The PowerState type defines a simple set of states for a virtual machine:\npoweredOn, poweredOff, and suspended.\n\nThis type does not model substates,\nsuch as when a task is running to change the virtual machine state.\nIf the virtual machine is in a state with a task in progress, it\ntransitions to a new state when the task completes. For example, a virtual\nmachine continues to be in the poweredOn state while a suspend task\nis running, and changes to the suspended state once the task finishes.\n\nAs a consequence of this approach, clients interested in monitoring\nthe status of a virtual machine should typically track the\n*activeTask* data object in addition to the\n*powerState* object.\n\nPossible values:\n- `poweredOff`: The virtual machine is currently powered off.\n- `poweredOn`: The virtual machine is currently powered on.\n- `suspended`: The virtual machine is currently suspended.\n",
        "enum": [
          "poweredOff",
          "poweredOn",
          "suspended"
        ]
      },
      "VirtualMachinePowerState": {
        "type": "object",
        "description": "A boxed *VirtualMachinePowerState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachinePowerState": {
        "type": "object",
        "description": "A boxed array of *VirtualMachinePowerState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachinePowerState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineRecordReplayState_enum": {
        "type": "string",
        "description": "Deprecated as of vSphere API 6.0.\n\nThe RecordReplayState type defines a simple set of record and replay\nstates for a virtual machine.\n\nPossible values:\n- `recording`: The virtual machine is recording.\n- `replaying`: The virtual machine is replaying.\n- `inactive`: The virtual machine is currently not participating\n  in record or replay.\n",
        "enum": [
          "recording",
          "replaying",
          "inactive"
        ]
      },
      "VirtualMachineRecordReplayState": {
        "type": "object",
        "description": "A boxed *VirtualMachineRecordReplayState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachineRecordReplayState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachineRecordReplayState": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineRecordReplayState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineRecordReplayState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineTicketType_enum": {
        "type": "string",
        "description": "The virtual machine ticket type.\n\nPossible values:\n- `mks`: \n  \n  Deprecated as of vSphere API 8.0. Use *webmks* instead.\n  \n  Remote mouse-keyboard-screen ticket.\n- `device`: \n  \n  Deprecated as of vSphere 8.0 API. Use *webRemoteDevice*\n  instead.\n  \n  Remote device ticket.\n- `guestControl`: \n  \n  Deprecated as of vSphere 6.6.3 API. Use\n  *GuestOperationsManager* instead.\n  \n  Guest operation ticket.\n- `webmks`: Mouse-keyboard-screen over WebSocket ticket.\n  \n  MKS protocol is VNC (a.k.a. RFB) protocol with\n  VMware extensions; the protocol gracefully degrades\n  to standard VNC if extensions are not available.\n  wss://{Ticket.host}/ticket/{Ticket.ticket}\n- `guestIntegrity`: Guest Integrity over WebSocket ticket.\n  \n  This ticket grants the client read-only access to guest integrity\n  messages and alerts.\n- `webRemoteDevice`: Remote device over WebSocket ticket.\n",
        "enum": [
          "mks",
          "device",
          "guestControl",
          "webmks",
          "guestIntegrity",
          "webRemoteDevice"
        ]
      },
      "VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum": {
        "type": "string",
        "description": "Type of disk group operation performed.\n\nPossible values:\n- `add`: Disk group is being (re-)added.\n- `remove`: Disk group is being removed.\n",
        "enum": [
          "add",
          "remove"
        ]
      },
      "VsanUpgradeSystemUpgradeHistoryDiskGroupOpType": {
        "type": "object",
        "description": "A boxed *VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVsanUpgradeSystemUpgradeHistoryDiskGroupOpType": {
        "type": "object",
        "description": "A boxed array of *VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ActionParameter_enum": {
        "type": "string",
        "description": "These constant strings can be used as parameters in user-specified\nemail subject and body templates as well as in scripts.\n\nThe action processor\nin VirtualCenter substitutes the run-time values for the parameters.\nFor example, an email subject provided by the client could be the string:\n`Alarm - {alarmName} Description:\\n{eventDescription}`.\nOr a script action provided could be: `myScript {alarmName}`.\n\nPossible values:\n- `targetName`: The name of the entity where the alarm is triggered.\n- `alarmName`: The name of the triggering alarm.\n- `oldStatus`: The status prior to the alarm being triggered.\n- `newStatus`: The status after the alarm is triggered.\n- `triggeringSummary`: A summary of information involved in triggering the alarm.\n- `declaringSummary`: A summary of declarations made during the triggering of the alarm.\n- `eventDescription`: The event description.\n- `target`: The object of the entity where the alarm is associated.\n- `alarm`: The object of the triggering alarm.\n",
        "enum": [
          "targetName",
          "alarmName",
          "oldStatus",
          "newStatus",
          "triggeringSummary",
          "declaringSummary",
          "eventDescription",
          "target",
          "alarm"
        ]
      },
      "AlarmFilterSpecAlarmTypeByEntity_enum": {
        "type": "string",
        "description": "Alarm entity type\n\nPossible values:\n- `entityTypeAll`: Alarms on all entity types.\n- `entityTypeHost`: Host alarms\n- `entityTypeVm`: VM alarms\n",
        "enum": [
          "entityTypeAll",
          "entityTypeHost",
          "entityTypeVm"
        ]
      },
      "AlarmFilterSpecAlarmTypeByTrigger_enum": {
        "type": "string",
        "description": "Alarm triggering type.\n\nThe main divisions are event triggered and\nmetric- or state-based alarms.\n\nPossible values:\n- `triggerTypeAll`: All alarm types.\n- `triggerTypeEvent`: Event based alarms\n- `triggerTypeMetric`: Metric or state alarms\n",
        "enum": [
          "triggerTypeAll",
          "triggerTypeEvent",
          "triggerTypeMetric"
        ]
      },
      "EventAlarmExpressionComparisonOperator_enum": {
        "type": "string",
        "description": "Basic Comparison operators\n\nPossible values:\n- `equals`: attribute equals specified value\n- `notEqualTo`: attribute does not equal specified value\n- `startsWith`: attribute starts with specified value\n- `doesNotStartWith`: attribute does not start with specified value\n- `endsWith`: attribute ends with specified value\n- `doesNotEndWith`: attribute does not end with specified value\n",
        "enum": [
          "equals",
          "notEqualTo",
          "startsWith",
          "doesNotStartWith",
          "endsWith",
          "doesNotEndWith"
        ]
      },
      "MetricAlarmOperator_enum": {
        "type": "string",
        "description": "The operation on the target metric item.\n\nPossible values:\n- `isAbove`: Test if the target metric item is above the given red or yellow values.\n- `isBelow`: Test if the target metric item is below the given red or yellow values.\n",
        "enum": [
          "isAbove",
          "isBelow"
        ]
      },
      "MetricAlarmOperator": {
        "type": "object",
        "description": "A boxed *MetricAlarmOperator_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/MetricAlarmOperator_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfMetricAlarmOperator": {
        "type": "object",
        "description": "A boxed array of *MetricAlarmOperator_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetricAlarmOperator_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "StateAlarmOperator_enum": {
        "type": "string",
        "description": "The operation on the target state.\n\nPossible values:\n- `isEqual`: Test if the target state matches the given red or yellow states.\n- `isUnequal`: Test if the target state does not match the given red or yellow states.\n",
        "enum": [
          "isEqual",
          "isUnequal"
        ]
      },
      "StateAlarmOperator": {
        "type": "object",
        "description": "A boxed *StateAlarmOperator_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/StateAlarmOperator_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfStateAlarmOperator": {
        "type": "object",
        "description": "A boxed array of *StateAlarmOperator_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StateAlarmOperator_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ActionType_enum": {
        "type": "string",
        "description": "Pre-defined constants for possible action types.\n\nVirtual Center\nuses this information to coordinate with the clients.\n\nPossible values:\n- `MigrationV1`: Migration action type\n- `VmPowerV1`: Virtual machine power action type\n- `HostPowerV1`: Host power action type\n- `HostMaintenanceV1`: Host entering maintenance mode action type\n- `StorageMigrationV1`: Storage migration action type\n- `StoragePlacementV1`: Initial placement action for a virtual machine or a virtual disk\n- `PlacementV1`: Initial placement action for a virtual machine and its virtual disks\n- `HostInfraUpdateHaV1`: Host changing infrastructure update ha mode action type.\n",
        "enum": [
          "MigrationV1",
          "VmPowerV1",
          "HostPowerV1",
          "HostMaintenanceV1",
          "StorageMigrationV1",
          "StoragePlacementV1",
          "PlacementV1",
          "HostInfraUpdateHaV1"
        ]
      },
      "ClusterCryptoConfigInfoCryptoMode_enum": {
        "type": "string",
        "description": "Possible values:\n- `onDemand`: Put each host into the crypto safe state automatically when needed.\n- `forceEnable`: Put each host into the crypto safe state immediately.\n",
        "enum": [
          "onDemand",
          "forceEnable"
        ]
      },
      "ClusterDasAamNodeStateDasState_enum": {
        "type": "string",
        "description": "The *ClusterDasAamNodeStateDasState_enum* enumerated type defines\nvalues for host HA configuration and runtime state properties\n(*ClusterDasAamNodeState.configState* and\n*ClusterDasAamNodeState.runtimeState*).\n\nPossible values:\n- `uninitialized`: HA has never been enabled on the the host.\n- `initialized`: HA agents have been installed but are not running on the the host.\n- `configuring`: HA configuration is in progress.\n- `unconfiguring`: HA configuration is being removed.\n- `running`: HA agent is running on this host.\n- `error`: There is an error condition.\n  \n  This can represent a configuration\n  error or a host agent runtime error.\n- `agentShutdown`: The HA agent has been shut down.\n- `nodeFailed`: The host is not reachable.\n  \n  This can represent a host failure\n  or an isolated host.\n",
        "enum": [
          "uninitialized",
          "initialized",
          "configuring",
          "unconfiguring",
          "running",
          "error",
          "agentShutdown",
          "nodeFailed"
        ]
      },
      "ClusterDasConfigInfoHBDatastoreCandidate_enum": {
        "type": "string",
        "description": "The policy to determine the candidates from which vCenter Server can\nchoose heartbeat datastores.\n\nPossible values:\n- `userSelectedDs`: vCenter Server chooses heartbeat datastores from the set specified\n  by the user (see *ClusterDasConfigInfo.heartbeatDatastore*).\n  \n  More specifically,\n  datastores not included in the set will not be chosen. Note that if\n  *ClusterDasConfigInfo.heartbeatDatastore* is empty, datastore heartbeating will\n  be disabled for HA.\n- `allFeasibleDs`: vCenter Server chooses heartbeat datastores from all the feasible ones,\n  i.e., the datastores that are accessible to more than one host in\n  the cluster.\n  \n  The choice will be made without giving preference to those\n  specified by the user (see *ClusterDasConfigInfo.heartbeatDatastore*).\n- `allFeasibleDsWithUserPreference`: vCenter Server chooses heartbeat datastores from all the feasible ones\n  while giving preference to those specified by the user (see *ClusterDasConfigInfo.heartbeatDatastore*).\n  \n  More specifically, the datastores not included in *ClusterDasConfigInfo.heartbeatDatastore* will be\n  chosen if and only if the specified ones are not sufficient.\n",
        "enum": [
          "userSelectedDs",
          "allFeasibleDs",
          "allFeasibleDsWithUserPreference"
        ]
      },
      "ClusterDasConfigInfoServiceState_enum": {
        "type": "string",
        "description": "Possible states of an HA service.\n\nAll services support the\ndisabled and enabled states.\n\nPossible values:\n- `disabled`: HA service is disabled.\n- `enabled`: HA service is enabled.\n",
        "enum": [
          "disabled",
          "enabled"
        ]
      },
      "ClusterDasConfigInfoVmMonitoringState_enum": {
        "type": "string",
        "description": "The *ClusterDasConfigInfoVmMonitoringState_enum* enum defines values that indicate\nthe state of Virtual Machine Health Monitoring.\n\nHealth Monitoring\nuses the vmTools (guest) and application agent heartbeat modules.\nYou can configure HA to respond to heartbeat failures of either one\nor both modules. You can also disable the HA response to heartbeat failures.\n- To set the cluster default for health monitoring, use the\n  ClusterConfigSpecEx.dasConfig.*ClusterDasConfigInfo.vmMonitoring* property.\n- To set health monitoring for a virtual machine, use the\n  ClusterConfigSpecEx.dasVmConfigSpec.info.dasSettings.*ClusterDasVmSettings.vmToolsMonitoringSettings* property.\n- To retrieve the current state of health monitoring (cluster setting), use the\n  ClusterConfigInfoEx.dasConfig.*ClusterDasConfigInfo.vmMonitoring*\n  property.\n- To retrieve the current state of health monitoring for a virtual machine, use the\n  ClusterConfigInfoEx.dasVmConfig\\[\\].dasSettings.vmToolsMonitoringSettings.*ClusterVmToolsMonitoringSettings.vmMonitoring*\n  property.\n  \nPossible values:\n- `vmMonitoringDisabled`: Virtual machine health monitoring is disabled.\n  \n  In this state,\n  HA response to guest and application heartbeat failures are disabled.\n- `vmMonitoringOnly`: HA response to guest heartbeat failure is enabled.\n  \n  To retrieve the guest heartbeat status, use the\n  *VirtualMachine*.*VirtualMachine.guestHeartbeatStatus*\n  property.\n- `vmAndAppMonitoring`: HA response to both guest and application heartbeat failure is enabled.\n  - To retrieve the guest heartbeat status, use the\n    *VirtualMachine*.*VirtualMachine.guestHeartbeatStatus*\n    property.\n  - To retrieve the application heartbeat status, use the\n    *GuestInfo*.*GuestInfo.appHeartbeatStatus*\n    property.\n",
        "enum": [
          "vmMonitoringDisabled",
          "vmMonitoringOnly",
          "vmAndAppMonitoring"
        ]
      },
      "ClusterDasFdmAvailabilityState_enum": {
        "type": "string",
        "description": "The *ClusterDasFdmAvailabilityState_enum* enumeration describes the\navailability states of hosts in a vSphere HA cluster.\n\nIn the HA\narchitecture, a agent called the Fault Domain Manager runs on\neach active host. These agents elect a master and the others become\nits slaves. The availability state assigned to a given host is\ndetermined from information reported by the Fault Domain Manager\nrunning on the host, by a Fault Domain Manager that has been elected\nmaster, and by vCenter Server. See *ClusterDasFdmHostState*\nfor more information about the vSphere HA architecture.\n\nPossible values:\n- `uninitialized`: The Fault Domain Manager for the host has not yet been\n  initialized.\n  \n  Hence the host is not part of a vSphere HA\n  fault domain. This state is reported by vCenter Server or\n  by the host itself.\n- `election`: The Fault Domain Manager on the host has been initialized and\n  the host is either waiting to join the existing master or\n  is participating in an election for a new master.\n  \n  This state\n  is reported by vCenter Server or by the host itself.\n- `master`: The Fault Domain Manager on the host has been elected a\n  master.\n  \n  This state is reported by the the host itself.\n- `connectedToMaster`: The normal operating state for a slave host.\n  \n  In this state,\n  the host is exchanging heartbeats with a master over\n  the management network, and is thus connected to it. If\n  there is a management network partition, the slave will be\n  in this state only if it is in the same partition as the master.\n  This state is reported by the master of a slave host.\n- `networkPartitionedFromMaster`: A slave host is alive and has management network connectivity, but\n  the management network has been partitioned.\n  \n  This state is reported\n  by masters that are in a partition other than the one containing the\n  slave host; the master in the slave's partition will report the slave state\n  as *connectedToMaster*.\n- `networkIsolated`: A host is alive but is isolated from the management network.\n  \n  See *ClusterDasVmSettingsIsolationResponse_enum* for the criteria\n  used to determine whether a host is isolated.\n- `hostDown`: The slave host appears to be down.\n  \n  This state is reported by the\n  master of a slave host.\n- `initializationError`: An error occurred when initilizating the Fault Domain Manager\n  on a host due to a problem with installing the\n  agent or configuring it.\n  \n  This condition can often be cleared by\n  reconfiguring HA for the host. This state is reported by vCenter\n  Server.\n- `uninitializationError`: An error occurred when unconfiguring the Fault Domain Manager\n  running on a host.\n  \n  In order to clear this condition the host might\n  need to be reconnected to the cluster and reconfigured first.\n  This state is reported by vCenter\n  Server.\n- `fdmUnreachable`: The Fault Domain Manager (FDM) on the host cannot be reached.\n  \n  This\n  state is reported in two unlikely situations.\n  - First, it is reported by\n    a master if the host responds to ICMP pings sent by the master over the\n    management network but the FDM on the host cannot be reached by the master.\n    This situation will occur if the FDM is unable to run or exit the\n    uninitialized state.\n  - Second, it is reported by vCenter Server if it cannot connect to a\n    master nor the FDM for the host. This situation would occur if all hosts\n    in the cluster failed but vCenter Server is still running. It may also\n    occur if all FDMs are unable to run or exit the uninitialized state.\n- `retry`: Config/Reconfig/upgrade operation has failed in first attempt and\n  a retry of these operations is scheduled.\n  \n  If any of the retry attempts succeed, the state is set to initialized.\n  If all retry attempts fail, the state is set to initializationError.\n  This state is reported by vCenter.\n  \n  ***Since:*** vSphere API Release 8.0.0.0\n",
        "enum": [
          "uninitialized",
          "election",
          "master",
          "connectedToMaster",
          "networkPartitionedFromMaster",
          "networkIsolated",
          "hostDown",
          "initializationError",
          "uninitializationError",
          "fdmUnreachable",
          "retry"
        ]
      },
      "DasVmPriority_enum": {
        "type": "string",
        "description": "Deprecated as of VI API 2.5, use *ClusterDasVmSettingsRestartPriority_enum*.\n\nThe priority of the virtual machine determines the preference\ngiven to it if sufficient capacity is not available to power\non all failed virtual machines.\n\nFor example, high priority\nvirtual machines on a host get preference over low priority\nvirtual machines.\n\nPossible values:\n- `disabled`: vSphere HA is disabled for this virtual machine.\n- `low`: Virtual machines with this priority have a lower chance of powering on after a\n  failure if there is insufficient capacity on hosts to meet all virtual machine\n  needs.\n- `medium`: Virtual machines with this priority have an intermediate chance of powering\n  on after a failure if there is insufficient capacity on hosts to meet all\n  virtual machine needs.\n- `high`: Virtual machines with this priority have a higher chance of powering on after a\n  failure if there is insufficient capacity on hosts to meet all virtual machine\n  needs.\n",
        "enum": [
          "disabled",
          "low",
          "medium",
          "high"
        ]
      },
      "DasVmPriority": {
        "type": "object",
        "description": "A boxed *DasVmPriority_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/DasVmPriority_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfDasVmPriority": {
        "type": "object",
        "description": "A boxed array of *DasVmPriority_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DasVmPriority_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterDasVmSettingsIsolationResponse_enum": {
        "type": "string",
        "description": "The *ClusterDasVmSettingsIsolationResponse_enum* enum defines\nvalues that indicate whether or not the virtual machine should be\npowered off if a host determines that it is isolated from the rest of\nthe cluster.\n\nHost network isolation occurs when a host is still running but it can no\nlonger communicate with other hosts in the cluster and it cannot ping\nthe configured isolation address(es). When the HA agent on a host loses\ncontact with the other hosts, it will ping the isolation addresses. If\nthe pings fail, the host will declare itself isolated.\n\nOnce the HA agent declares the host isolated, it will initiate the\nisolation response workflow after a 30 second delay. You can use the FDM\nadvanced option fdm.isolationPolicyDelaySec to increase the delay. For\neach virtual machine, the HA agent attempts to determine if a master is\nresponsible for restarting the virtual machine. If it cannot make the\ndetermination, or there is a master that is responsible, the agent will\napply the configured isolation response. This workflow will continue\nuntil the configuration policy, has been applied to all virtual\nmachines, the agent reconnects to another HA agent in the cluster, or\nthe isolation address pings start succeeding. If there is a master agent\nin the cluster, it will attempt to restart the virtual machines that\nwere powered off during isolation.\n\nBy default, the isolated host leaves its virtual machines powered on.\nYou can override the isolation response default with a cluster-wide\nsetting (*ClusterDasConfigInfo.defaultVmSettings*)\nor a virtual machine setting\n(*ClusterDasVmSettings.isolationResponse*).\n- All isolation response values are valid for the\n  *ClusterDasVmSettings.isolationResponse*\n  property specified in a single virtual machine HA configuration.\n- All values except for <code>clusterIsolationResponse</code> are valid\n  for the cluster-wide default HA configuration for virtual machines\n  (*ClusterDasConfigInfo.defaultVmSettings*).\n  \nIf you ensure that your network infrastructure is sufficiently redundant\nand that at least one network path is available at all times, host network\nisolation should be a rare occurrence.\n\nPossible values:\n- `none`: Do not power off the virtual machine in the event of a host network\n  isolation.\n- `powerOff`: Power off the virtual machine in the event of a host network\n  isolation.\n- `shutdown`: Shut down the virtual machine guest operating system in the event of\n  a host network isolation.\n  \n  If the guest operating system fails to\n  shutdown within five minutes, HA will initiate a forced power off.\n  \n  When you use the shutdown isolation response, failover can take\n  longer (compared to the\n  *powerOff*\n  response) because the virtual machine cannot fail over until it is\n  shutdown.\n- `clusterIsolationResponse`: Use the default isolation response defined for the cluster\n  that contains this virtual machine.\n",
        "enum": [
          "none",
          "powerOff",
          "shutdown",
          "clusterIsolationResponse"
        ]
      },
      "ClusterDasVmSettingsRestartPriority_enum": {
        "type": "string",
        "description": "The *ClusterDasVmSettingsRestartPriority_enum* enum defines\nvirtual machine restart priority values to resolve resource contention.\n\nThe priority determines the preference that HA gives to a virtual\nmachine if sufficient capacity is not available to power on all failed\nvirtual machines. For example, high priority virtual machines on a host\nget preference over low priority virtual machines.\n\nAll priority values are valid for the restart priority specified in a\nsingle virtual machine HA configuration (*ClusterDasVmConfigInfo.dasSettings*).\nAll values except for <code>clusterRestartPriority</code> are valid for\nthe cluster-wide default HA configuration for virtual machines\n(*ClusterDasConfigInfo.defaultVmSettings*).\n\nPossible values:\n- `disabled`: vSphere HA is disabled for this virtual machine.\n- `lowest`: Virtual machines with this priority have the lowest chance of\n  powering on after a failure if there is insufficient capacity on\n  hosts to meet all virtual machine needs.\n- `low`: Virtual machines with this priority have a lower chance of powering\n  on after a failure if there is insufficient capacity on hosts to meet\n  all virtual machine needs.\n- `medium`: Virtual machines with this priority have an intermediate chance of\n  powering on after a failure if there is insufficient capacity on\n  hosts to meet all virtual machine needs.\n- `high`: Virtual machines with this priority have a higher chance of powering\n  on after a failure if there is insufficient capacity on hosts to meet\n  all virtual machine needs.\n- `highest`: Virtual machines with this priority have the highest chance of\n  powering on after a failure if there is insufficient capacity on\n  hosts to meet all virtual machine needs.\n- `clusterRestartPriority`: Virtual machines with this priority use the default restart\n  priority defined for the cluster that contains this virtual machine.\n",
        "enum": [
          "disabled",
          "lowest",
          "low",
          "medium",
          "high",
          "highest",
          "clusterRestartPriority"
        ]
      },
      "DpmBehavior_enum": {
        "type": "string",
        "description": "Possible values:\n- `manual`: Specifies that VirtualCenter should generate recommendations\n  for host power operations, but should not execute the\n  recommendations automatically.\n- `automated`: Specifies that VirtualCenter should generate recommendations\n  for host power operations, and should execute the\n  recommendations automatically.\n",
        "enum": [
          "manual",
          "automated"
        ]
      },
      "DpmBehavior": {
        "type": "object",
        "description": "A boxed *DpmBehavior_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/DpmBehavior_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfDpmBehavior": {
        "type": "object",
        "description": "A boxed array of *DpmBehavior_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DpmBehavior_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsBehavior_enum": {
        "type": "string",
        "description": "Possible values:\n- `manual`: Specifies that VirtualCenter should generate recommendations for\n  virtual machine migration and for placement with a host,\n  but should not implement the recommendations automatically.\n- `partiallyAutomated`: Specifies that VirtualCenter should generate recommendations for\n  virtual machine migration and for placement with a host,\n  but should automatically implement only the placement at power on.\n- `fullyAutomated`: Specifies that VirtualCenter should automate both the migration\n  of virtual machines and their placement with a host at power on.\n",
        "enum": [
          "manual",
          "partiallyAutomated",
          "fullyAutomated"
        ]
      },
      "DrsBehavior": {
        "type": "object",
        "description": "A boxed *DrsBehavior_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/DrsBehavior_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfDrsBehavior": {
        "type": "object",
        "description": "A boxed array of *DrsBehavior_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrsBehavior_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "DrsRecommendationReasonCode_enum": {
        "type": "string",
        "description": "Deprecated as of VI API 2.5 use *RecommendationReasonCode_enum*.\n\nList of defined migration reason codes:\n\nPossible values:\n- `fairnessCpuAvg`: Balance average CPU utilization.\n- `fairnessMemAvg`: Balance average memory utilization.\n- `jointAffin`: Fulfill affinity rule.\n- `antiAffin`: Fulfill anti-affinity rule.\n- `hostMaint`: Host entering maintenance mode.\n",
        "enum": [
          "fairnessCpuAvg",
          "fairnessMemAvg",
          "jointAffin",
          "antiAffin",
          "hostMaint"
        ]
      },
      "ClusterHostInfraUpdateHaModeActionOperationType_enum": {
        "type": "string",
        "description": "Describes the operation type of the action.\n\nenterexitQuarantine suggests\nthat the host is only exiting the quarantine state (i.e. not the\nmaintenance mode).\n\nPossible values:\n- `enterQuarantine`\n- `exitQuarantine`\n- `enterMaintenance`\n",
        "enum": [
          "enterQuarantine",
          "exitQuarantine",
          "enterMaintenance"
        ]
      },
      "HostPowerOperationType_enum": {
        "type": "string",
        "description": "Possible values:\n- `powerOn`: Power On Operation\n- `powerOff`: Power Off Operation.\n  \n  Power off operation puts the host in\n  a state that can be woken up remotely.\n",
        "enum": [
          "powerOn",
          "powerOff"
        ]
      },
      "HostPowerOperationType": {
        "type": "object",
        "description": "A boxed *HostPowerOperationType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostPowerOperationType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostPowerOperationType": {
        "type": "object",
        "description": "A boxed array of *HostPowerOperationType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostPowerOperationType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ClusterInfraUpdateHaConfigInfoBehaviorType_enum": {
        "type": "string",
        "description": "Possible values:\n- `Manual`: With this behavior configured, the proposed DRS recommendations\n  require manual approval before they are executed.\n- `Automated`: With this behavior configured, the proposed DRS recommendations are\n  executed immediately.\n",
        "enum": [
          "Manual",
          "Automated"
        ]
      },
      "ClusterInfraUpdateHaConfigInfoRemediationType_enum": {
        "type": "string",
        "description": "Possible values:\n- `QuarantineMode`: With this behavior configured, a degraded host will be recommended\n  to be placed in Quarantine Mode.\n- `MaintenanceMode`: With this behavior configured, a degraded host will be recommended\n  to be placed in Maintenance Mode.\n",
        "enum": [
          "QuarantineMode",
          "MaintenanceMode"
        ]
      },
      "PlacementSpecPlacementType_enum": {
        "type": "string",
        "description": "Defines the type of placement\n\nPossible values:\n- `create`: Create a new VM\n- `reconfigure`: Reconfigure a VM\n- `relocate`: Relocate a VM\n- `clone`: Clone a VM\n",
        "enum": [
          "create",
          "reconfigure",
          "relocate",
          "clone"
        ]
      },
      "ClusterPowerOnVmOption_enum": {
        "type": "string",
        "description": "Defines the options for a Datacenter::powerOnVm() invocation.\n\nPossible values:\n- `OverrideAutomationLevel`: Override the DRS automation level.\n  \n  Value type: *DrsBehavior_enum*\n  Default value: current behavior\n- `ReserveResources`: Reserve resources for the powering-on VMs throughout the\n  power-on session.\n  \n  When this option is set to true, the server\n  will return at most one recommended host per manual VM, and\n  the VM's reservations are held on the recommended host until\n  the VM is actually powered on (either by applying the\n  recommendation or by a power-on request on the VM), or until\n  the recommendation is cancelled, or until the recommendation\n  expires. The expiration time is currently set to 10\n  minutes. This option does not have an effect on automatic VMs\n  since their recommendations are executed immediately. This\n  option is effective on DRS clusters only.\n  Value type: boolean\n  Default value: false\n",
        "enum": [
          "OverrideAutomationLevel",
          "ReserveResources"
        ]
      },
      "RecommendationReasonCode_enum": {
        "type": "string",
        "description": "List of defined migration reason codes:\n\nPossible values:\n- `fairnessCpuAvg`: Balance average CPU utilization.\n- `fairnessMemAvg`: Balance average memory utilization.\n- `jointAffin`: Fulfill affinity rule.\n- `antiAffin`: Fulfill anti-affinity rule.\n- `hostMaint`: Host entering maintenance mode.\n- `enterStandby`: Host entering standby mode.\n- `reservationCpu`: balance CPU reservations\n- `reservationMem`: balance memory reservations\n- `powerOnVm`: Power on virtual machine\n- `powerSaving`: Power off host for power savings\n- `increaseCapacity`: Power on host to increase cluster capacity\n- `checkResource`: Sanity-check resource pool hierarchy\n- `unreservedCapacity`: Maintain unreserved capacity\n- `vmHostHardAffinity`: Fix hard VM/host affinity rule violation\n- `vmHostSoftAffinity`: Fix soft VM/host affinity rule violation\n- `balanceDatastoreSpaceUsage`: Balance datastore space usage.\n- `balanceDatastoreIOLoad`: \n  \n  Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n  \n  Balance datastore I/O workload.\n- `balanceDatastoreIOPSReservation`: \n  \n  Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n  \n  Balance datastore IOPS reservation\n- `datastoreMaint`: Datastore entering maintenance mode.\n- `virtualDiskJointAffin`: Fix virtual disk affinity rule violation.\n- `virtualDiskAntiAffin`: Fix virtual disk anti-affinity rule violation.\n- `datastoreSpaceOutage`: Fix the issue that a datastore run out of space.\n- `storagePlacement`: Satisfy storage initial placement requests.\n- `iolbDisabledInternal`: \n  \n  Deprecated as of vSphere8.0 U3, and there is no replacement for it.\n  \n  IO load balancing was disabled internally.\n- `xvmotionPlacement`: Satisfy unified vmotion placement requests.\n- `networkBandwidthReservation`: Fix network bandwidth reservation violation\n- `hostInDegradation`: Host is partially degraded.\n- `hostExitDegradation`: Host is not degraded.\n- `maxVmsConstraint`: Fix maxVms constraint violation\n- `ftConstraints`: Fix ft maxVMs and maxVcpus constraint violations\n- `vmHostAffinityPolicy`: Fix VM/host affinity policy violation\n- `vmHostAntiAffinityPolicy`: Fix VM/host anti-affinity policy violation\n- `vmAntiAffinityPolicy`: Fix VM-VM anti-affinity policy violations\n- `balanceVsanUsage`: ***Since:*** vSphere API Release 7.0.2.0\n- `ahPlacementOptimization`: Optimize assignable hardware resource orchestration\n  \n  ***Since:*** vSphere API Release 8.0.2.0\n- `vmxUpgrade`: Upgrade virtual machine to new vmx binary\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "fairnessCpuAvg",
          "fairnessMemAvg",
          "jointAffin",
          "antiAffin",
          "hostMaint",
          "enterStandby",
          "reservationCpu",
          "reservationMem",
          "powerOnVm",
          "powerSaving",
          "increaseCapacity",
          "checkResource",
          "unreservedCapacity",
          "vmHostHardAffinity",
          "vmHostSoftAffinity",
          "balanceDatastoreSpaceUsage",
          "balanceDatastoreIOLoad",
          "balanceDatastoreIOPSReservation",
          "datastoreMaint",
          "virtualDiskJointAffin",
          "virtualDiskAntiAffin",
          "datastoreSpaceOutage",
          "storagePlacement",
          "iolbDisabledInternal",
          "xvmotionPlacement",
          "networkBandwidthReservation",
          "hostInDegradation",
          "hostExitDegradation",
          "maxVmsConstraint",
          "ftConstraints",
          "vmHostAffinityPolicy",
          "vmHostAntiAffinityPolicy",
          "vmAntiAffinityPolicy",
          "balanceVsanUsage",
          "ahPlacementOptimization",
          "vmxUpgrade"
        ]
      },
      "RecommendationType_enum": {
        "type": "string",
        "description": "Pre-defined constants for possible recommendation types.\n\nVirtual Center\nuses this information to coordinate with the clients.\n\nPossible values:\n- `V1`\n",
        "enum": [
          "V1"
        ]
      },
      "ClusterSystemVMsConfigInfoDeploymentMode_enum": {
        "type": "string",
        "description": "Possible values:\n- `SYSTEM_MANAGED`: System VMs are fully managed by the system.\n- `ABSENT`: System VMs are absent on the managed entity.\n  \n***Since:*** vSphere API Release 8.0.2.0\n",
        "enum": [
          "SYSTEM_MANAGED",
          "ABSENT"
        ]
      },
      "ClusterVmComponentProtectionSettingsStorageVmReaction_enum": {
        "type": "string",
        "description": "The VM policy settings that determine the response to\nstorage failures.\n\nPossible values:\n- `disabled`: VM Component Protection service will not monitor or react to\n  the component failure.\n  \n  This setting does not affect other vSphere\n  HA services such as Host Monitoring or VM Health Monitoring.\n- `warning`: VM Component Protection service will monitor component failures but\n  will not restart an affected VM.\n  \n  Rather it will notify users about\n  the component failures. This setting does not affect other vSphere HA\n  services such as Host Monitoring or VM Health Monitoring.\n- `restartConservative`: VM Component Protection service protects VMs conservatively.\n  \n  With this\n  setting, when the service can't determine that capacity is available to\n  restart a VM, it will favor keeping the VM running.\n- `restartAggressive`: VM Component Protection service protects VMs aggressively.\n  \n  With this setting,\n  the service will terminate an affected VM even if it can't determine that\n  capacity exists to restart the VM.\n- `clusterDefault`: VM will use the cluster default setting.\n  \n  This option is only meaningful for\n  per-VM settings.\n",
        "enum": [
          "disabled",
          "warning",
          "restartConservative",
          "restartAggressive",
          "clusterDefault"
        ]
      },
      "ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared_enum": {
        "type": "string",
        "description": "If an APD condition clears after an APD timeout condition has been declared and before\nVM Component Protection service terminated the VM, the guestOS and application may\nno longer be operational.\n\nVM Component Protection may be configured to reset the\nVM (*VirtualMachine.ResetVM_Task*) to restore the service of guest applications.\n\nPossible values:\n- `none`: VM Component Protection service will not react after APD condition is cleared.\n- `reset`: VM Component Protection service will reset the VM after APD condition is cleared.\n  \n  Note this only applies if the subject VM is still powered on.\n- `useClusterDefault`: VM will use the cluster default setting.\n  \n  This option is only meaningful for\n  per-VM settings.\n",
        "enum": [
          "none",
          "reset",
          "useClusterDefault"
        ]
      },
      "ClusterVmReadinessReadyCondition_enum": {
        "type": "string",
        "description": "Condition for VM's readiness\n\nPossible values:\n- `none`: No ready condition specified.\n  \n  In case of vSphere HA, higher restart priority VMs are still\n  placed before lower priority VMs.\n- `poweredOn`: VM is powered on.\n- `guestHbStatusGreen`: VM guest operating system is up and responding normally (VM tools\n  heartbeat status is green).\n- `appHbStatusGreen`: An application running inside the VM is responding normally.\n  \n  To enable Application Monitoring, you must first obtain the\n  appropriate SDK (or be using an application that supports VMware\n  Application Monitoring) and use it to set up customized heartbeats\n  for the applications you want to monitor.\n  See *ClusterDasConfigInfo.vmMonitoring*.\n- `useClusterDefault`: VM will use the cluster default setting.\n  \n  This option is only\n  meaningful for per-VM settings.\n",
        "enum": [
          "none",
          "poweredOn",
          "guestHbStatusGreen",
          "appHbStatusGreen",
          "useClusterDefault"
        ]
      },
      "DvsFilterOnFailure_enum": {
        "type": "string",
        "description": "Network Filter on Failure Type.\n\nIt specifies whether all the\npackets will be allowed or all the packets will be denied when\nFilter fails to configure.\n\nPossible values:\n- `failOpen`: Allows all the packets when the Filter fails to configure.\n- `failClosed`: Denies all the packets when the Filter fails to configure.\n",
        "enum": [
          "failOpen",
          "failClosed"
        ]
      },
      "DVPortStatusVmDirectPathGen2InactiveReasonNetwork_enum": {
        "type": "string",
        "description": "Set of possible values for\n*DVPortStatus*.*DVPortStatus.vmDirectPathGen2InactiveReasonNetwork*.\n\nPossible values:\n- `portNptIncompatibleDvs`: The switch for which this port is defined does not support VMDirectPath Gen 2.\n  \n  See\n  *DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported*.\n- `portNptNoCompatibleNics`: None of the physical NICs used as uplinks for this port support\n  VMDirectPath Gen 2.\n  \n  See also *PhysicalNic.vmDirectPathGen2Supported*.\n- `portNptNoVirtualFunctionsAvailable`: At least some of the physical NICs used as uplinks for this port\n  support VMDirectPath Gen 2, but all available network-passthrough\n  resources are in use by other ports.\n- `portNptDisabledForPort`: VMDirectPath Gen 2 has been explicitly disabled for this port.\n",
        "enum": [
          "portNptIncompatibleDvs",
          "portNptNoCompatibleNics",
          "portNptNoVirtualFunctionsAvailable",
          "portNptDisabledForPort"
        ]
      },
      "DVPortStatusVmDirectPathGen2InactiveReasonOther_enum": {
        "type": "string",
        "description": "Set of possible values for\n*DVPortStatus*.*DVPortStatus.vmDirectPathGen2InactiveReasonOther*.\n\nPossible values:\n- `portNptIncompatibleHost`: The host for which this port is defined does not support VMDirectPath Gen 2.\n  \n  See *HostCapability*.*HostCapability.vmDirectPathGen2Supported*\n- `portNptIncompatibleConnectee`: Configuration or state of the port's connectee prevents\n  VMDirectPath Gen 2.\n  \n  See\n  *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm*\n  and/or\n  *VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended*\n  in the appropriate element of the RuntimeInfo.device array of the\n  virtual machine connected to this port.\n",
        "enum": [
          "portNptIncompatibleHost",
          "portNptIncompatibleConnectee"
        ]
      },
      "DistributedVirtualPortgroupBackingType_enum": {
        "type": "string",
        "description": "The *DistributedVirtualPortgroupBackingType_enum* enum defines\nthe distributed virtual portgroup backing type.\n\nPossible values:\n- `standard`: The portgroup is created by vCenter.\n- `nsx`: The portgroup is created by NSX manager.\n  \n  For NSX backing type, We only support ephemeral portgroup type.\n  If *DistributedVirtualPortgroupPortgroupType_enum* is\n  ephemeral, A *DistributedVirtualPort* will be\n  dynamicly created by NSX when the virtual machine is reconfigured\n  to connect to the portgroup.\n",
        "enum": [
          "standard",
          "nsx"
        ]
      },
      "DistributedVirtualPortgroupMetaTagName_enum": {
        "type": "string",
        "description": "The meta tag names recognizable in the\n*DVPortgroupConfigInfo.portNameFormat* string.\n\nPossible values:\n- `dvsName`: This tag will be expanded to the name of the switch.\n- `portgroupName`: This tag will be expanded to the name of the portgroup.\n- `portIndex`: This tag will be expanded to the current index of the port.\n",
        "enum": [
          "dvsName",
          "portgroupName",
          "portIndex"
        ]
      },
      "DistributedVirtualPortgroupPortgroupType_enum": {
        "type": "string",
        "description": "The *DistributedVirtualPortgroupPortgroupType_enum* enum defines\nthe distributed virtual portgroup types\n(*DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type*).\n\nEarly binding specifies a static set of ports that are created\nwhen you create the distributed virtual portgroup. An ephemeral portgroup uses dynamic\nports that are created when you power on a virtual machine.\n\nPossible values:\n- `earlyBinding`: A free *DistributedVirtualPort* will be selected and assigned to\n  a *VirtualMachine* when the virtual machine is reconfigured to\n  connect to the portgroup.\n- `lateBinding`: \n  \n  Deprecated as of vSphere API 5.0.\n  \n  A free *DistributedVirtualPort* will be selected and\n  assigned to a *VirtualMachine* when the virtual machine is\n  powered on.\n- `ephemeral`: A *DistributedVirtualPort* will be created and assigned to a\n  *VirtualMachine* when the virtual machine is powered on, and will\n  be deleted when the virtual machine is powered off.\n  \n  An ephemeral portgroup has\n  no limit on the number of ports that can be a part of this portgroup.\n  In cases where the vCenter Server is unavailable the host can\n  create conflict ports in this portgroup to be used by a virtual machine\n  at power on.\n",
        "enum": [
          "earlyBinding",
          "lateBinding",
          "ephemeral"
        ]
      },
      "EntityType_enum": {
        "type": "string",
        "description": "The *EntityType_enum* enum identifies\nthe type of entity that was exported\n(*DistributedVirtualSwitchManager.DVSManagerExportEntity_Task*).\n\nPossible values:\n- `distributedVirtualSwitch`: Indicates the exported entity is a *DistributedVirtualSwitch*.\n- `distributedVirtualPortgroup`: Indicates the exported entity is a *DistributedVirtualPortgroup*.\n",
        "enum": [
          "distributedVirtualSwitch",
          "distributedVirtualPortgroup"
        ]
      },
      "EntityImportType_enum": {
        "type": "string",
        "description": "The *EntityImportType_enum* enum defines the import type for a\n*DistributedVirtualSwitchManager*.*DistributedVirtualSwitchManager.DVSManagerImportEntity_Task*\noperation.\n\nPossible values:\n- `createEntityWithNewIdentifier`: Create the entity with new identifiers.\n  \n  Specify the\n  *EntityBackupConfig*.*EntityBackupConfig.name* and\n  *EntityBackupConfig*.*EntityBackupConfig.container*\n  properties.\n  \n  The Server ignores any value for the\n  *EntityBackupConfig*.*EntityBackupConfig.key*\n  property.\n- `createEntityWithOriginalIdentifier`: Recreate the entities with the original identifiers of the entity from which backup was created.\n  \n  The Server throws an exception if an entity with the same identifier already exists.\n  This option will also add the host members to the *DistributedVirtualSwitch* and will\n  try to get the virtual machine networking back with the same *DistributedVirtualPortgroup*.\n  Specify a *Folder* as the\n  *EntityBackupConfig*.*EntityBackupConfig.container*\n  for *EntityBackupConfig*.*EntityBackupConfig.entityType*\n  \"distributedVirtualSwitch\".\n  \n  The Server ignores any values for the\n  *EntityBackupConfig*.*EntityBackupConfig.key* and\n  *EntityBackupConfig*.*EntityBackupConfig.name*\n  properties.\n- `applyToEntitySpecified`: Apply the configuration specified in the\n  *EntityBackupConfig*.*EntityBackupConfig.configBlob*\n  property to the entity specified in the\n  *EntityBackupConfig*.*EntityBackupConfig.entityType* and\n  *EntityBackupConfig*.*EntityBackupConfig.key*\n  properties.\n  \n  If you specify\n  *EntityBackupConfig*.*EntityBackupConfig.name*,\n  the Server uses the specified name to rename the entity.\n  \n  The Server ignores any value for the\n  *EntityBackupConfig*.*EntityBackupConfig.container*\n  property.\n",
        "enum": [
          "createEntityWithNewIdentifier",
          "createEntityWithOriginalIdentifier",
          "applyToEntitySpecified"
        ]
      },
      "DVSFilterSpecLinkConfig_enum": {
        "type": "string",
        "description": "Possible values:\n- `blocked`: The port link state: blocked.\n- `unblocked`: The port link state: unblocked.\n",
        "enum": [
          "blocked",
          "unblocked"
        ]
      },
      "DVSFilterSpecLinkState_enum": {
        "type": "string",
        "description": "Possible values:\n- `down`: The port link state: down.\n- `up`: The port link state: up.\n",
        "enum": [
          "down",
          "up"
        ]
      },
      "HostDVSConfigSpecSwitchMode_enum": {
        "type": "string",
        "description": "The enum defines the distributed virtual switch mode.\n\nPossible values:\n- `normal`: traditional package processing mode.\n- `mux`: ENS mode which skips packet parsing and flow table lookup.\n  \n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "normal",
          "mux"
        ]
      },
      "HostDistributedVirtualSwitchManagerFailoverReason_enum": {
        "type": "string",
        "description": "The reason for DPU failover.\n\nPossible values:\n- `crash`: The failover is caused by DPU crash.\n- `linkDown`: The failover is caused by DPU's vmnic(s) link down.\n- `userInitiated`: The failover is triggered by the user.\n  \n***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "crash",
          "linkDown",
          "userInitiated"
        ]
      },
      "HostDistributedVirtualSwitchManagerFailoverStage_enum": {
        "type": "string",
        "description": "The stage of DPU failover.\n\nPossible values:\n- `STAGE_1`\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "STAGE_1"
        ]
      },
      "DistributedVirtualSwitchHostMemberHostComponentState_enum": {
        "type": "string",
        "description": "Describes the state of the host proxy switch.\n\nPossible values:\n- `up`: The host proxy switch is up and running.\n- `pending`: The host proxy switch is waiting to be initialized.\n- `outOfSync`: The proxy switch configuration is not the same as the\n  distributed virtual switch configuration in the vCenter Server.\n- `warning`: The host requires attention.\n- `disconnected`: The host is disconnected or it is not responding.\n- `down`: The host proxy is down.\n",
        "enum": [
          "up",
          "pending",
          "outOfSync",
          "warning",
          "disconnected",
          "down"
        ]
      },
      "DistributedVirtualSwitchHostMemberHostUplinkStateState_enum": {
        "type": "string",
        "description": "Describe the runtime state of the uplink.\n\nPossible values:\n- `active`\n- `standby`\n",
        "enum": [
          "active",
          "standby"
        ]
      },
      "DistributedVirtualSwitchHostMemberTransportZoneType_enum": {
        "type": "string",
        "description": "Transport zone type.\n\nPossible values:\n- `vlan`: VLAN based networking\n- `overlay`: VXLAN based networking\n",
        "enum": [
          "vlan",
          "overlay"
        ]
      },
      "DistributedVirtualSwitchPortConnecteeConnecteeType_enum": {
        "type": "string",
        "description": "The connectee types.\n\nPossible values:\n- `pnic`: The port connects to a Physical NIC.\n- `vmVnic`: The port connects to a Virtual NIC in a Virtual Machine.\n- `hostConsoleVnic`: The port connects to a console Virtual NIC on a host.\n- `hostVmkVnic`: The port connects to a VMkernel Virtual NIC on a host.\n- `systemCrxVnic`: The port connects to a Virtual NIC in a System CRX VM.\n  \n  ***Since:*** vSphere API Release 8.0.1.0\n",
        "enum": [
          "pnic",
          "vmVnic",
          "hostConsoleVnic",
          "hostVmkVnic",
          "systemCrxVnic"
        ]
      },
      "DvsNetworkRuleDirectionType_enum": {
        "type": "string",
        "description": "Network Traffic Rule direction types.\n\nIt specifies whether rule\nneeds to be applied for packets which are incoming/outgoing or both.\n\nPossible values:\n- `incomingPackets`: This specifies that the network rule has to be applied only for\n  incoming packets.\n- `outgoingPackets`: This specifies that the network rule has to be applied only for\n  outgoing packets.\n- `both`: This specifies that the network rule has to be applied only for\n  both incoming and outgoing packets.\n",
        "enum": [
          "incomingPackets",
          "outgoingPackets",
          "both"
        ]
      },
      "VMwareDvsLacpApiVersion_enum": {
        "type": "string",
        "description": "Link Aggregation Control Protocol API versions.\n\nPossible values:\n- `singleLag`: \n  \n  Deprecated as of vSphere API 7.0u1.\n  \n  One Link Aggregation Control Protocol group in the switch\n- `multipleLag`: Multiple Link Aggregation Control Protocol in the switch.\n",
        "enum": [
          "singleLag",
          "multipleLag"
        ]
      },
      "VMwareDvsLacpLoadBalanceAlgorithm_enum": {
        "type": "string",
        "description": "Load balance algorithm in a Link Aggregation Control Protocol group.\n\nPossible values:\n- `srcMac`: Source MAC address\n- `destMac`: Destination MAC address\n- `srcDestMac`: Source and destination MAC address\n- `destIpVlan`: Destination IP and VLAN\n- `srcIpVlan`: Source IP and VLAN\n- `srcDestIpVlan`: Source and destination IP and VLAN\n- `destTcpUdpPort`: Destination TCP/UDP port number\n- `srcTcpUdpPort`: Source TCP/UDP port number\n- `srcDestTcpUdpPort`: Source and destination TCP/UDP port number\n- `destIpTcpUdpPort`: Destination IP and TCP/UDP port number\n- `srcIpTcpUdpPort`: Source IP and TCP/UDP port number\n- `srcDestIpTcpUdpPort`: Source and destination IP and TCP/UDP port number\n- `destIpTcpUdpPortVlan`: Destination IP, TCP/UDP port number and VLAN\n- `srcIpTcpUdpPortVlan`: Source IP, TCP/UDP port number and VLAN\n- `srcDestIpTcpUdpPortVlan`: Source and destination IP,\n  source and destination TCP/UDP port number and VLAN.\n- `destIp`: Destination IP\n- `srcIp`: Source IP\n- `srcDestIp`: Source and Destination IP\n- `vlan`: VLAN only\n- `srcPortId`: Source Virtual Port Id\n",
        "enum": [
          "srcMac",
          "destMac",
          "srcDestMac",
          "destIpVlan",
          "srcIpVlan",
          "srcDestIpVlan",
          "destTcpUdpPort",
          "srcTcpUdpPort",
          "srcDestTcpUdpPort",
          "destIpTcpUdpPort",
          "srcIpTcpUdpPort",
          "srcDestIpTcpUdpPort",
          "destIpTcpUdpPortVlan",
          "srcIpTcpUdpPortVlan",
          "srcDestIpTcpUdpPortVlan",
          "destIp",
          "srcIp",
          "srcDestIp",
          "vlan",
          "srcPortId"
        ]
      },
      "DVSMacLimitPolicyType_enum": {
        "type": "string",
        "description": "Possible values:\n- `allow`\n- `drop`\n",
        "enum": [
          "allow",
          "drop"
        ]
      },
      "VMwareDvsMulticastFilteringMode_enum": {
        "type": "string",
        "description": "Multicast Filtering mode.\n\nPossible values:\n- `legacyFiltering`: Legacy filtering mode\n- `snooping`: IGMP/MLD snooping mode\n",
        "enum": [
          "legacyFiltering",
          "snooping"
        ]
      },
      "VmwareDistributedVirtualSwitchPvlanPortType_enum": {
        "type": "string",
        "description": "The PVLAN port types.\n\nPossible values:\n- `promiscuous`: The port can communicate with all other ports within the same PVLAN,\n  including the isolated and community ports .\n- `isolated`: The port can only communicate with the promiscuous ports within the\n  same PVLAN, any other traffics are blocked.\n- `community`: The ports communicates with other community ports and with\n  promiscuous ports within the same PVLAN.\n  \n  any other traffics are\n  blocked.\n",
        "enum": [
          "promiscuous",
          "isolated",
          "community"
        ]
      },
      "VMwareDVSTeamingMatchStatus_enum": {
        "type": "string",
        "description": "The teaming health check match status.\n\nPossible values:\n- `iphashMatch`: The value of 'loadbalance\\_ip' is used in a uplink teaming policy\n  *VmwareUplinkPortTeamingPolicy.policy*\n  in the vSphere Distributed Switch, and the external physical switch\n  has the matching EtherChannel configuration.\n- `nonIphashMatch`: The value of 'loadbalance\\_ip' is not used in a uplink teaming policy\n  *VmwareUplinkPortTeamingPolicy.policy*\n  in the vSphere Distributed Switch, and the external physical switch\n  does not have EtherChannel configuration.\n- `iphashMismatch`: The value of 'loadbalance\\_ip' is used in a uplink teaming policy\n  *VmwareUplinkPortTeamingPolicy.policy*\n  in the vSphere Distributed Switch, but the external physical switch\n  does not have the matching EtherChannel configuration.\n- `nonIphashMismatch`: The value of 'loadbalance\\_ip' is not used in a uplink teaming policy\n  *VmwareUplinkPortTeamingPolicy.policy*\n  in the vSphere Distributed Switch, but the external physical switch\n  has EtherChannel configuration.\n",
        "enum": [
          "iphashMatch",
          "nonIphashMatch",
          "iphashMismatch",
          "nonIphashMismatch"
        ]
      },
      "VMwareUplinkLacpMode_enum": {
        "type": "string",
        "description": "Link Aggregation Control Protocol policy modes.\n\nPossible values:\n- `active`: Link Aggregation Control Protocol always sends frames along the configured uplinks\n- `passive`: Link Aggregation Control Protocol acts as \"speak when spoken to\".\n",
        "enum": [
          "active",
          "passive"
        ]
      },
      "VMwareUplinkLacpTimeoutMode_enum": {
        "type": "string",
        "description": "Link Aggregation Control Protocol timeout policy modes.\n\nPossible values:\n- `fast`: Set long timeout for vmnics in one LACP LAG.\n  \n  Device send fast LACPDUs\n- `slow`: Set short timeout for vmnics in one LACP LAG.\n  \n  Device send slow LACPDUs\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "enum": [
          "fast",
          "slow"
        ]
      },
      "VMwareDVSVspanSessionEncapType_enum": {
        "type": "string",
        "description": "Distributed Port Mirroring session Encapsulation types.\n\nPossible values:\n- `gre`: Encapsulate original packets with GRE protocol\n- `erspan2`: Encapsulate original packets with ERSPAN Type2 protocol\n- `erspan3`: Encapsulate original packets with ERSPAN Type3 protocol\n",
        "enum": [
          "gre",
          "erspan2",
          "erspan3"
        ]
      },
      "VMwareDVSVspanSessionType_enum": {
        "type": "string",
        "description": "Distributed Port Mirroring session types.\n\nPossible values:\n- `mixedDestMirror`: \n  \n  Deprecated as of vSphere API 5.1.\n  \n  In mixedDestMirror session, Distributed Ports can be used as source entities,\n  and both Distributed Ports and Uplink Ports Name can be used as destination entities.\n- `dvPortMirror`: In dvPortMirror session, Distributed Ports can be used as both source\n  and destination entities.\n- `remoteMirrorSource`: In remoteMirrorSource session, Distributed Ports can be used as source entities,\n  and uplink ports name can be used as destination entities.\n- `remoteMirrorDest`: In remoteMirrorDest session, vlan Ids can be used as source entities,\n  and Distributed Ports can be used as destination entities.\n- `encapsulatedRemoteMirrorSource`: In encapsulatedRemoteMirrorSource session, Distributed Ports can be used as source entities,\n  and Ip address can be used as destination entities.\n",
        "enum": [
          "mixedDestMirror",
          "dvPortMirror",
          "remoteMirrorSource",
          "remoteMirrorDest",
          "encapsulatedRemoteMirrorSource"
        ]
      },
      "CryptoManagerHostKeyManagementType_enum": {
        "type": "string",
        "description": "Key management type.\n\nPossible values:\n- `unknown`\n- `internal`\n- `external`\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "enum": [
          "unknown",
          "internal",
          "external"
        ]
      },
      "CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `KeyStateMissingInCache`: Key not found in VC cache and does not specify a provider\n- `KeyStateClusterInvalid`: Key provider is invalid\n- `KeyStateClusterUnreachable`: Can not reach the key provider\n- `KeyStateMissingInKMS`: Key not found in KMS\n- `KeyStateNotActiveOrEnabled`: Key not active or enabled\n- `KeyStateManagedByTrustAuthority`: Key is managed by Trust Authority\n- `KeyStateManagedByNKP`: Key is managed by Native Key Provider\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n- `NoPermissionToAccessKeyProvider`: No permission to access key provider\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "KeyStateMissingInCache",
          "KeyStateClusterInvalid",
          "KeyStateClusterUnreachable",
          "KeyStateMissingInKMS",
          "KeyStateNotActiveOrEnabled",
          "KeyStateManagedByTrustAuthority",
          "KeyStateManagedByNKP",
          "NoPermissionToAccessKeyProvider"
        ]
      },
      "KmipClusterInfoKmsManagementType_enum": {
        "type": "string",
        "description": "Key provider management type.\n\nPossible values:\n- `unknown`\n- `vCenter`\n- `trustAuthority`\n- `nativeProvider`: ***Since:*** vSphere API Release 7.0.2.0\n",
        "enum": [
          "unknown",
          "vCenter",
          "trustAuthority",
          "nativeProvider"
        ]
      },
      "CustomizationFailedReasonCode_enum": {
        "type": "string",
        "description": "Possible values:\n- `userDefinedScriptDisabled`: The user defined script is disabled during customization\n- `customizationDisabled`: The guest customization is disabled by VMware Tools\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `rawDataIsNotSupported`: The cloud-init version is too old to support cloud-init raw data\n  \n  ***Since:*** vSphere API Release 7.0.3.0\n- `wrongMetadataFormat`: The cloud-init meta data is not valid format\n  \n  ***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "userDefinedScriptDisabled",
          "customizationDisabled",
          "rawDataIsNotSupported",
          "wrongMetadataFormat"
        ]
      },
      "DvsEventPortBlockState_enum": {
        "type": "string",
        "description": "The port blocked/unblocked state.\n\nPossible values:\n- `unset`: The dvs port is in unset state\n- `blocked`: The dvs port is in blocked state\n- `unblocked`: The dvs port is in unblocked state\n- `unknown`: The dvs port is in unknown state\n",
        "enum": [
          "unset",
          "blocked",
          "unblocked",
          "unknown"
        ]
      },
      "EventEventSeverity_enum": {
        "type": "string",
        "description": "Severity level constants.\n\nPossible values:\n- `error`: Something that must be corrected\n- `warning`: Should be corrected, but the system can continue operating normally\n- `info`: An informational message\n- `user`: A user-related message\n",
        "enum": [
          "error",
          "warning",
          "info",
          "user"
        ]
      },
      "EventCategory_enum": {
        "type": "string",
        "description": "Possible values:\n- `info`: Returns informational events.\n- `warning`: Returns warning events.\n- `error`: Returns error events.\n- `user`: Returns events pertaining to users.\n",
        "enum": [
          "info",
          "warning",
          "error",
          "user"
        ]
      },
      "EventFilterSpecRecursionOption_enum": {
        "type": "string",
        "description": "This option specifies how to select events based on child relationships\nin the inventory hierarchy.\n\nIf a managed entity has children, their events\ncan be retrieved with this filter option.\n\nPossible values:\n- `self`: Returns events that pertain only to the specified managed entity,\n  and not its children.\n- `children`: Returns events pertaining to child entities only.\n  \n  Excludes\n  events pertaining to the specified managed entity itself.\n- `all`: Returns events pertaining either to the specified managed entity\n  or to its child entities.\n",
        "enum": [
          "self",
          "children",
          "all"
        ]
      },
      "EventFilterSpecRecursionOption": {
        "type": "object",
        "description": "A boxed *EventFilterSpecRecursionOption_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/EventFilterSpecRecursionOption_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfEventFilterSpecRecursionOption": {
        "type": "object",
        "description": "A boxed array of *EventFilterSpecRecursionOption_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventFilterSpecRecursionOption_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostDasErrorEventHostDasErrorReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `configFailed`: Error while configuring/unconfiguring HA\n- `timeout`: Timeout while communicating with HA agent\n- `communicationInitFailed`: HA communication initialization failed\n- `healthCheckScriptFailed`: Health check script failed\n- `agentFailed`: HA agent has an error\n- `agentShutdown`: HA agent was shutdown\n- `isolationAddressUnpingable`: HA isolation address unpingable\n- `other`: Other reason\n",
        "enum": [
          "configFailed",
          "timeout",
          "communicationInitFailed",
          "healthCheckScriptFailed",
          "agentFailed",
          "agentShutdown",
          "isolationAddressUnpingable",
          "other"
        ]
      },
      "HostDisconnectedEventReasonCode_enum": {
        "type": "string",
        "description": "Possible values:\n- `sslThumbprintVerifyFailed`: Failed to verify SSL thumbprint\n- `licenseExpired`: License expired for the host\n- `agentUpgrade`: Agent is being upgraded\n- `userRequest`: User requested disconnect\n- `insufficientLicenses`: License not available after host upgrade\n- `agentOutOfDate`: Agent is out of date\n- `passwordDecryptFailure`: Failed to decrypt password\n- `unknown`: Unknown reason\n- `vcVRAMCapacityExceeded`: The vRAM capacity of vCenter will be exceeded\n",
        "enum": [
          "sslThumbprintVerifyFailed",
          "licenseExpired",
          "agentUpgrade",
          "userRequest",
          "insufficientLicenses",
          "agentOutOfDate",
          "passwordDecryptFailure",
          "unknown",
          "vcVRAMCapacityExceeded"
        ]
      },
      "VmDasBeingResetEventReasonCode_enum": {
        "type": "string",
        "description": "Possible values:\n- `vmtoolsHeartbeatFailure`: vmtools heartbeat failure\n- `appHeartbeatFailure`: application heartbeat failure\n- `appImmediateResetRequest`: immediate reset request\n- `vmcpResetApdCleared`: reset issued by VMCP when APD cleared\n",
        "enum": [
          "vmtoolsHeartbeatFailure",
          "appHeartbeatFailure",
          "appImmediateResetRequest",
          "vmcpResetApdCleared"
        ]
      },
      "VmFailedStartingSecondaryEventFailureReason_enum": {
        "type": "string",
        "description": "The reason for the failure.\n\nPossible values:\n- `incompatibleHost`: Remote host is incompatible for secondary virtual machine.\n  \n  For instance, the host doesn't have access to the virtual machine's\n  network or datastore.\n- `loginFailed`: Login to remote host failed.\n- `registerVmFailed`: Registration of the secondary virtual machine\n  on the remote host failed.\n- `migrateFailed`: Migration failed.\n",
        "enum": [
          "incompatibleHost",
          "loginFailed",
          "registerVmFailed",
          "migrateFailed"
        ]
      },
      "VmShutdownOnIsolationEventOperation_enum": {
        "type": "string",
        "description": "Possible values:\n- `shutdown`: The virtual machine was shut down\n- `poweredOff`: The virtual machine was powered off because shut down failed\n",
        "enum": [
          "shutdown",
          "poweredOff"
        ]
      },
      "AffinityType_enum": {
        "type": "string",
        "description": "Types of affinities.\n\nPossible values:\n- `memory`\n- `cpu`\n",
        "enum": [
          "memory",
          "cpu"
        ]
      },
      "AgentInstallFailedReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `NotEnoughSpaceOnDevice`: There is not enough storage space on the host to install the agent.\n- `PrepareToUpgradeFailed`: Failed to initialize the upgrade directory on the host.\n- `AgentNotRunning`: The agent was installed but is not running.\n- `AgentNotReachable`: The agent was installed but did not respond to requests.\n- `InstallTimedout`: The agent install took too long.\n- `SignatureVerificationFailed`: The signature verification for the installer failed.\n- `AgentUploadFailed`: Failed to upload the agent installer.\n- `AgentUploadTimedout`: The agent upload took too long.\n- `UnknownInstallerError`: The agent installer failed for an unknown reason.\n",
        "enum": [
          "NotEnoughSpaceOnDevice",
          "PrepareToUpgradeFailed",
          "AgentNotRunning",
          "AgentNotReachable",
          "InstallTimedout",
          "SignatureVerificationFailed",
          "AgentUploadFailed",
          "AgentUploadTimedout",
          "UnknownInstallerError"
        ]
      },
      "CannotEnableVmcpForClusterReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `APDTimeoutDisabled`: APD timeout has been disabled on one of the host\n",
        "enum": [
          "APDTimeoutDisabled"
        ]
      },
      "CannotMoveFaultToleranceVmMoveType_enum": {
        "type": "string",
        "description": "Possible values:\n- `resourcePool`: Move out of the resouce pool\n- `cluster`: Move out of the cluster\n",
        "enum": [
          "resourcePool",
          "cluster"
        ]
      },
      "CannotPowerOffVmInClusterOperation_enum": {
        "type": "string",
        "description": "Possible values:\n- `suspend`: suspend\n- `powerOff`: power off\n- `guestShutdown`: guest shutdown\n- `guestSuspend`: guest suspend\n",
        "enum": [
          "suspend",
          "powerOff",
          "guestShutdown",
          "guestSuspend"
        ]
      },
      "CannotUseNetworkReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `NetworkReservationNotSupported`: Network does not support reservation\n- `MismatchedNetworkPolicies`: Source and destination networks do not have same security policies\n- `MismatchedDvsVersionOrVendor`: Source and destination DVS do not have same version or vendor\n- `VMotionToUnsupportedNetworkType`: VMotion to unsupported destination network type\n- `NetworkUnderMaintenance`: The network is under maintenance\n- `MismatchedEnsMode`: Source and destination networks do not have same ENS(Enhanced Network Stack) mode\n",
        "enum": [
          "NetworkReservationNotSupported",
          "MismatchedNetworkPolicies",
          "MismatchedDvsVersionOrVendor",
          "VMotionToUnsupportedNetworkType",
          "NetworkUnderMaintenance",
          "MismatchedEnsMode"
        ]
      },
      "DasConfigFaultDasConfigFaultReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `HostNetworkMisconfiguration`: There is a problem with the host network configuration.\n- `HostMisconfiguration`: There is a problem with the host configuration.\n- `InsufficientPrivileges`: The privileges were insuffient for the operation.\n- `NoPrimaryAgentAvailable`: There was no running primary agent available to contact.\n  \n  Check that your other hosts don't have HA errors\n- `Other`: The HA configuration failed for other reasons.\n- `NoDatastoresConfigured`: No datastores defined for this host\n- `CreateConfigVvolFailed`: Failure to create config vvol\n- `VSanNotSupportedOnHost`: Host in vSAN cluster does not support vSAN.\n- `DasNetworkMisconfiguration`: There is a problem with the cluster network configuration.\n- `SetDesiredImageSpecFailed`: Setting desired imageSpec in Personality Manager failed\n- `ApplyHAVibsOnClusterFailed`: The ApplyHA call to Personality Manager failed\n",
        "enum": [
          "HostNetworkMisconfiguration",
          "HostMisconfiguration",
          "InsufficientPrivileges",
          "NoPrimaryAgentAvailable",
          "Other",
          "NoDatastoresConfigured",
          "CreateConfigVvolFailed",
          "VSanNotSupportedOnHost",
          "DasNetworkMisconfiguration",
          "SetDesiredImageSpecFailed",
          "ApplyHAVibsOnClusterFailed"
        ]
      },
      "DeviceNotSupportedReason_enum": {
        "type": "string",
        "description": "Reasons why a virtual device would not be supported on a host.\n\nPossible values:\n- `host`: The host does not support this virtual device at all.\n- `guest`: The device is supported by the host in general, but not for\n  the specific guest OS the virtual machine is using.\n- `ft`: The device is supported by the host and guest OS, but not for\n  the vSphere Fault Tolerance.\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "host",
          "guest",
          "ft"
        ]
      },
      "DisallowedChangeByServiceDisallowedChange_enum": {
        "type": "string",
        "description": "The disallowed change type.\n\nPossible values:\n- `hotExtendDisk`: Online extend disk operation.\n",
        "enum": [
          "hotExtendDisk"
        ]
      },
      "FtIssuesOnHostHostSelectionType_enum": {
        "type": "string",
        "description": "HostSelectionType defines how the host was selected\n\nPossible values:\n- `user`: The host was specified by the user\n- `vc`: The host was selected by Virtual Center\n- `drs`: The host was selected by DRS\n",
        "enum": [
          "user",
          "vc",
          "drs"
        ]
      },
      "FtIssuesOnHostHostSelectionType": {
        "type": "object",
        "description": "A boxed *FtIssuesOnHostHostSelectionType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/FtIssuesOnHostHostSelectionType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfFtIssuesOnHostHostSelectionType": {
        "type": "object",
        "description": "A boxed array of *FtIssuesOnHostHostSelectionType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FtIssuesOnHostHostSelectionType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostHasComponentFailureHostComponentType_enum": {
        "type": "string",
        "description": "Possible values:\n- `Datastore`\n",
        "enum": [
          "Datastore"
        ]
      },
      "HostIncompatibleForFaultToleranceReason_enum": {
        "type": "string",
        "description": "Reasons why fault tolerance is not supported on the host.\n\nPossible values:\n- `product`: The product does not support fault tolerance.\n- `processor`: The product supports fault tolerance but the host CPU does not.\n",
        "enum": [
          "product",
          "processor"
        ]
      },
      "HostIncompatibleForRecordReplayReason_enum": {
        "type": "string",
        "description": "Reasons why record/replay is not supported on a host.\n\nPossible values:\n- `product`: The product does not support record/replay.\n- `processor`: The product supports record/replay but the host CPU does not.\n",
        "enum": [
          "product",
          "processor"
        ]
      },
      "IncompatibleHostForVmReplicationIncompatibleReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `rpo`: Host does not support the RPO configured for VM replication.\n- `netCompression`: Host does not support network compression configured for VM\n  replication.\n",
        "enum": [
          "rpo",
          "netCompression"
        ]
      },
      "InvalidDasConfigArgumentEntryForInvalidArgument_enum": {
        "type": "string",
        "description": "Possible values:\n- `admissionControl`: Policies for admission control\n- `userHeartbeatDs`: User-specified heartbeat datastores\n- `vmConfig`: VM override\n",
        "enum": [
          "admissionControl",
          "userHeartbeatDs",
          "vmConfig"
        ]
      },
      "InvalidProfileReferenceHostReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `incompatibleVersion`: The associated host and profile version are incompatible.\n- `missingReferenceHost`: There is no reference host associated with the profile.\n",
        "enum": [
          "incompatibleVersion",
          "missingReferenceHost"
        ]
      },
      "LicenseAssignmentFailedReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `keyEntityMismatch`: The license and the entity to which it is to be assigned are not compatible.\n- `downgradeDisallowed`: The license downgrade is disallowed because some features are in use.\n- `inventoryNotManageableByVirtualCenter`: The inventory has hosts which are not manageable by vCenter unless in evaluation.\n- `hostsUnmanageableByVirtualCenterWithoutLicenseServer`: The inventory has hosts that need the license server to be configured unless vCenter is in evaluation\n",
        "enum": [
          "keyEntityMismatch",
          "downgradeDisallowed",
          "inventoryNotManageableByVirtualCenter",
          "hostsUnmanageableByVirtualCenterWithoutLicenseServer"
        ]
      },
      "NotSupportedDeviceForFTDeviceType_enum": {
        "type": "string",
        "description": "Possible values:\n- `virtualVmxnet3`: vmxnet3 virtual Ethernet adapter\n- `paraVirtualSCSIController`: paravirtualized SCSI controller\n",
        "enum": [
          "virtualVmxnet3",
          "paraVirtualSCSIController"
        ]
      },
      "NumVirtualCpusIncompatibleReason_enum": {
        "type": "string",
        "description": "Reasons why the number of virtual CPUs is incompatible.\n\nPossible values:\n- `recordReplay`: \n  \n  Deprecated as of vSphere API 6.0.\n  \n  The virtual machine needs to support record/replay functionality.\n- `faultTolerance`: The virtual machine is enabled for fault tolerance.\n",
        "enum": [
          "recordReplay",
          "faultTolerance"
        ]
      },
      "QuarantineModeFaultFaultType_enum": {
        "type": "string",
        "description": "Possible values:\n- `NoCompatibleNonQuarantinedHost`: The cluster does not contain any non-quarantined host satisfying the\n  VM/host affinity rules for the VM.\n- `CorrectionDisallowed`: The current DRS migration priority setting disallows generating a\n  recommendation to prevent VMs on quarantined hosts.\n  \n  Thus, the\n  violation will not be corrected.\n- `CorrectionImpact`: DRS has determined that evacuation of VMs from quarantined hosts\n  impacts respecting cluster constraints or performance goals so they\n  are not evacuated.\n",
        "enum": [
          "NoCompatibleNonQuarantinedHost",
          "CorrectionDisallowed",
          "CorrectionImpact"
        ]
      },
      "ReplicationDiskConfigFaultReasonForFault_enum": {
        "type": "string",
        "description": "Possible values:\n- `diskNotFound`: Could not look up device by key\n- `diskTypeNotSupported`: Replication not supported for disk type or backend\n- `invalidDiskKey`: Invalid key value\n- `invalidDiskReplicationId`: Invalid disk replication ID string\n- `duplicateDiskReplicationId`: Another disk in the VM has the same replication ID\n- `invalidPersistentFilePath`: Invalid path (string) for the persistent file\n- `reconfigureDiskReplicationIdNotAllowed`: Attempting to re-configure the disk's replication ID\n",
        "enum": [
          "diskNotFound",
          "diskTypeNotSupported",
          "invalidDiskKey",
          "invalidDiskReplicationId",
          "duplicateDiskReplicationId",
          "invalidPersistentFilePath",
          "reconfigureDiskReplicationIdNotAllowed"
        ]
      },
      "ReplicationVmConfigFaultReasonForFault_enum": {
        "type": "string",
        "description": "Possible values:\n- `incompatibleHwVersion`: Incompatible VM hardware version\n- `invalidVmReplicationId`: Invalid VM Replication ID string\n- `invalidGenerationNumber`: Invalid generation number in VM's configuration\n- `outOfBoundsRpoValue`: Invalid RPO value (out of bounds)\n- `invalidDestinationIpAddress`: Invalid destination IP address\n- `invalidDestinationPort`: Invalid destination port\n- `invalidExtraVmOptions`: Malformed extra options list\n- `staleGenerationNumber`: Mis-matching generation number (stale)\n- `reconfigureVmReplicationIdNotAllowed`: Attempting to re-configure the VM replication ID\n- `cannotRetrieveVmReplicationConfiguration`: Could not retrieve the VM configuration\n- `replicationAlreadyEnabled`: Attempting to re-enable replication for the VM\n- `invalidPriorConfiguration`: The existing replication configuration of the VM is broken\n  (applicable to re-configuration only).\n- `replicationNotEnabled`: Attempting to re-configure or disable replication for a VM\n  for which replication has not been enabled.\n- `replicationConfigurationFailed`: Failed to commit the new replication properties for the VM.\n- `encryptedVm`: VM is encrypted\n- `invalidThumbprint`: Remote certificate thumbprint is invalid\n- `incompatibleDevice`: VM hardware contains devices incompatible with replication\n",
        "enum": [
          "incompatibleHwVersion",
          "invalidVmReplicationId",
          "invalidGenerationNumber",
          "outOfBoundsRpoValue",
          "invalidDestinationIpAddress",
          "invalidDestinationPort",
          "invalidExtraVmOptions",
          "staleGenerationNumber",
          "reconfigureVmReplicationIdNotAllowed",
          "cannotRetrieveVmReplicationConfiguration",
          "replicationAlreadyEnabled",
          "invalidPriorConfiguration",
          "replicationNotEnabled",
          "replicationConfigurationFailed",
          "encryptedVm",
          "invalidThumbprint",
          "incompatibleDevice"
        ]
      },
      "ReplicationVmFaultReasonForFault_enum": {
        "type": "string",
        "description": "Possible values:\n- `notConfigured`: *VirtualMachine* is not configured for replication\n- `poweredOff`: *VirtualMachine* is powered off (and is not undergoing\n  offline replication)\n- `suspended`: *VirtualMachine* is suspended (and is not undergoing\n  offline replication)\n- `poweredOn`: *VirtualMachine* is powered on\n- `offlineReplicating`: *VirtualMachine* is in the process of creating an\n  an offline instance.\n- `invalidState`: *VirtualMachine* is in an invalid state\n- `invalidInstanceId`: The specified instanceId does not match the *VirtualMachine*\n  instanceId\n- `closeDiskError`: *VirtualMachine* is in the process of creating an\n  offline instance and we are trying to disable it.\n  \n  The first step is to close the offline disk. If closing disks\n  is not successful, throw this fault.\n- `groupExist`: *VirtualMachine* is trying to create a group already\n  owned by another VM.\n",
        "enum": [
          "notConfigured",
          "poweredOff",
          "suspended",
          "poweredOn",
          "offlineReplicating",
          "invalidState",
          "invalidInstanceId",
          "closeDiskError",
          "groupExist"
        ]
      },
      "ReplicationVmInProgressFaultActivity_enum": {
        "type": "string",
        "description": "Possible values:\n- `fullSync`: Initial synchronization with the remote site\n- `delta`: Delta updates to generate a consistent instance\n",
        "enum": [
          "fullSync",
          "delta"
        ]
      },
      "ThirdPartyLicenseAssignmentFailedReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `licenseAssignmentFailed`: A general failure has occurred during assigning license to the 3rd party module\n- `moduleNotInstalled`: The 3rd party module we are trying to license is not installed.\n",
        "enum": [
          "licenseAssignmentFailed",
          "moduleNotInstalled"
        ]
      },
      "VFlashModuleNotSupportedReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `CacheModeNotSupported`\n- `CacheConsistencyTypeNotSupported`\n- `CacheBlockSizeNotSupported`\n- `CacheReservationNotSupported`\n- `DiskSizeNotSupported`\n",
        "enum": [
          "CacheModeNotSupported",
          "CacheConsistencyTypeNotSupported",
          "CacheBlockSizeNotSupported",
          "CacheReservationNotSupported",
          "DiskSizeNotSupported"
        ]
      },
      "VmFaultToleranceConfigIssueReasonForIssue_enum": {
        "type": "string",
        "description": "Possible values:\n- `haNotEnabled`: HA is not enabled on the cluster\n- `moreThanOneSecondary`: There is already a secondary virtual machine for the primary\n  virtual machine\n- `recordReplayNotSupported`: \n  \n  Deprecated as of vSphere API 6.0.\n  \n  The virtual machine does not support record/replay.\n  \n  Vm::Capability.RecordReplaySupported is false.\n- `replayNotSupported`: \n  \n  Deprecated as of vSphere API 6.0.\n  \n  It is not possible to turn on Fault Tolerance on this powered-on VM.\n  \n  The support for record/replay should be enabled or Fault Tolerance\n  turned on, when this VM is powered off.\n- `templateVm`: The virtual machine is a template\n- `multipleVCPU`: The virtual machine has more than one virtual CPU\n- `hostInactive`: The host is not active\n- `ftUnsupportedHardware`: The host ftSupported flag is not set because of hardware issues\n- `ftUnsupportedProduct`: The host ftSupported flag is not set because of it is a\n  VMware Server 2.0\n- `missingVMotionNic`: No VMotion license or VMotion nic is not configured on the host\n- `missingFTLoggingNic`: FT logging nic is not configured on the host\n- `thinDisk`: The virtual machine has thin provisioned disks\n- `verifySSLCertificateFlagNotSet`: The \"check host certificate\" flag is not set\n- `hasSnapshots`: The virtual machine has one or more snapshots\n- `noConfig`: No configuration information is available for the virtual machine\n- `ftSecondaryVm`: The virtual machine is a fault tolerance secondary virtual machine\n- `hasLocalDisk`: The virtual machine has one or more disks on local datastore\n- `esxAgentVm`: The virtual machine is an ESX agent VM\n- `video3dEnabled`: The virtual machine video device has 3D enabled\n- `hasUnsupportedDisk`\n- `insufficientBandwidth`: FT logging nic does not have desired bandwidth\n- `hasNestedHVConfiguration`: The host does not support fault tolerant VM with nested HV or VBS\n  enabled.\n- `hasVFlashConfiguration`: The virtual machine has a vFlash memory device or/and disks with\n  vFlash cache configured.\n- `unsupportedProduct`: VMware product installed on the host does not support\n  fault tolerance\n- `cpuHvUnsupported`: Host CPU does not support hardware virtualization\n- `cpuHwmmuUnsupported`: Host CPU does not support hardware MMU virtualization\n- `cpuHvDisabled`: Host CPU is compatible for replay-based FT, but hardware\n  virtualization has been disabled in the BIOS.\n- `hasEFIFirmware`: The virtual machine firmware is of type EFI\n- `tooManyVCPUs`: The host does not support fault tolerance virtual machines\n  with the specified number of virtual CPUs.\n- `tooMuchMemory`: The host does not support fault tolerance virtual machines\n  with the specified amount of memory.\n- `vMotionNotLicensed`: No VMotion license\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n- `ftNotLicensed`: Host does not have proper FT license\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n- `haAgentIssue`: Host does not have HA agent running properly\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n- `unsupportedSPBM`: The VM has unsupported storage policy\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n- `hasLinkedCloneDisk`: The virtual machine has virtual disk in linked-clone mode\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n- `unsupportedPMemHAFailOver`: Virtual Machine with Pmem HA Failover is not supported\n  \n  ***Since:*** vSphere API Release 7.0.2.0\n- `unsupportedEncryptedDisk`: Virtual Machine with encrypted virtual disk is not supported.\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n- `ftMetroClusterNotEditable`: The virtual machine does not allow to enable or disable FT Metro\n  Cluster while FT is turned on.\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n- `noHostGroupConfigured`: Cannot turn on vSphere Fault Tolerance on a FT Metro Cluster enabled VM\n  with no Host Group configured.\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "haNotEnabled",
          "moreThanOneSecondary",
          "recordReplayNotSupported",
          "replayNotSupported",
          "templateVm",
          "multipleVCPU",
          "hostInactive",
          "ftUnsupportedHardware",
          "ftUnsupportedProduct",
          "missingVMotionNic",
          "missingFTLoggingNic",
          "thinDisk",
          "verifySSLCertificateFlagNotSet",
          "hasSnapshots",
          "noConfig",
          "ftSecondaryVm",
          "hasLocalDisk",
          "esxAgentVm",
          "video3dEnabled",
          "hasUnsupportedDisk",
          "insufficientBandwidth",
          "hasNestedHVConfiguration",
          "hasVFlashConfiguration",
          "unsupportedProduct",
          "cpuHvUnsupported",
          "cpuHwmmuUnsupported",
          "cpuHvDisabled",
          "hasEFIFirmware",
          "tooManyVCPUs",
          "tooMuchMemory",
          "vMotionNotLicensed",
          "ftNotLicensed",
          "haAgentIssue",
          "unsupportedSPBM",
          "hasLinkedCloneDisk",
          "unsupportedPMemHAFailOver",
          "unsupportedEncryptedDisk",
          "ftMetroClusterNotEditable",
          "noHostGroupConfigured"
        ]
      },
      "VmFaultToleranceInvalidFileBackingDeviceType_enum": {
        "type": "string",
        "description": "Possible values:\n- `virtualFloppy`: virtual floppy\n- `virtualCdrom`: virtual Cdrom\n- `virtualSerialPort`: virtual serial port\n- `virtualParallelPort`: virtual parallel port\n- `virtualDisk`: virtual disk\n",
        "enum": [
          "virtualFloppy",
          "virtualCdrom",
          "virtualSerialPort",
          "virtualParallelPort",
          "virtualDisk"
        ]
      },
      "WillLoseHAProtectionResolution_enum": {
        "type": "string",
        "description": "Possible values:\n- `svmotion`: storage vmotion resolution\n- `relocate`: relocate resolution\n",
        "enum": [
          "svmotion",
          "relocate"
        ]
      },
      "HostActiveDirectoryAuthenticationCertificateDigest_enum": {
        "type": "string",
        "description": "Possible values:\n- `SHA1`\n",
        "enum": [
          "SHA1"
        ]
      },
      "HostActiveDirectoryInfoDomainMembershipStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `unknown`: The Active Directory integration provider does not support\n  domain trust checks.\n- `ok`: No problems with the domain membership.\n- `noServers`: The host thinks it's part of a domain,\n  but no domain controllers could be reached to confirm.\n- `clientTrustBroken`: The client side of the trust relationship is broken.\n- `serverTrustBroken`: The server side of the trust relationship is broken\n  (or bad machine password).\n- `inconsistentTrust`: Unexpected domain controller responded.\n- `otherProblem`: There's some problem with the domain membership.\n",
        "enum": [
          "unknown",
          "ok",
          "noServers",
          "clientTrustBroken",
          "serverTrustBroken",
          "inconsistentTrust",
          "otherProblem"
        ]
      },
      "AutoStartAction_enum": {
        "type": "string",
        "description": "Possible values:\n- `none`: No action is taken for this virtual machine.\n  \n  This virtual machine is\n  not a part of the auto-start sequence. This can be used for both auto-start\n  and auto-start settings.\n- `systemDefault`: The default system action is taken for this virtual machine when it is next in\n  the auto-start order.\n  \n  This can be used for both auto-start and auto-start\n  settings.\n- `powerOn`: This virtual machine is powered on when it is next in the auto-start order.\n- `powerOff`: This virtual machine is powered off when it is next in the auto-stop order.\n  \n  This is the default stopAction.\n- `guestShutdown`: The guest operating system for a virtual machine is shut down when that\n  virtual machine in next in the auto-stop order.\n- `suspend`: This virtual machine is suspended when it is next in the auto-stop order.\n",
        "enum": [
          "none",
          "systemDefault",
          "powerOn",
          "powerOff",
          "guestShutdown",
          "suspend"
        ]
      },
      "AutoStartWaitHeartbeatSetting_enum": {
        "type": "string",
        "description": "Determines if the virtual machine should start after receiving a heartbeat,\nignore heartbeats and start after the startDelay has elapsed, or follow the\nsystem default before powering on.\n\nWhen a virtual machine is next in the start\norder, the system either waits a specified period of time for a virtual\nmachine to power on or it waits until it receives a successful heartbeat from a\npowered on virtual machine. By default, this is set to no.\n\nPossible values:\n- `yes`: The system waits until receiving a heartbeat before powering on the next\n  machine in the order.\n- `no`: The system does not wait to receive a heartbeat before powering on the next\n  machine in the order.\n  \n  This is the default setting.\n- `systemDefault`: The system uses the default value to determine whether or not to wait to\n  receive a heartbeat before powering on the next machine in the order.\n",
        "enum": [
          "yes",
          "no",
          "systemDefault"
        ]
      },
      "AutoStartWaitHeartbeatSetting": {
        "type": "object",
        "description": "A boxed *AutoStartWaitHeartbeatSetting_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/AutoStartWaitHeartbeatSetting_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfAutoStartWaitHeartbeatSetting": {
        "type": "object",
        "description": "A boxed array of *AutoStartWaitHeartbeatSetting_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutoStartWaitHeartbeatSetting_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostBIOSInfoFirmwareType_enum": {
        "type": "string",
        "description": "Enumeration of the supported firmware types.\n\nPossible values:\n- `BIOS`\n- `UEFI`\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "enum": [
          "BIOS",
          "UEFI"
        ]
      },
      "HostCapabilityFtUnsupportedReason_enum": {
        "type": "string",
        "description": "Deprecated as of vSphere API 7.0, use\n*VmFaultToleranceConfigIssueReasonForIssue_enum*.\n\nSet of possible values for\n*HostCapability.ftCompatibilityIssues*\n\nPossible values:\n- `vMotionNotLicensed`: No VMotion license\n- `missingVMotionNic`: VMotion nic is not configured on the host\n- `missingFTLoggingNic`: FT logging nic is not configured on the host\n- `ftNotLicensed`: Host does not have proper FT license\n- `haAgentIssue`: Host does not have HA agent running properly\n- `unsupportedProduct`: VMware product installed on the host does not support\n  fault tolerance\n- `cpuHvUnsupported`: Host CPU does not support hardware virtualization\n- `cpuHwmmuUnsupported`: Host CPU does not support hardware MMU virtualization\n- `cpuHvDisabled`: Host CPU is compatible for replay-based FT, but hardware\n  virtualization has been disabled in the BIOS.\n",
        "enum": [
          "vMotionNotLicensed",
          "missingVMotionNic",
          "missingFTLoggingNic",
          "ftNotLicensed",
          "haAgentIssue",
          "unsupportedProduct",
          "cpuHvUnsupported",
          "cpuHwmmuUnsupported",
          "cpuHvDisabled"
        ]
      },
      "HostReplayUnsupportedReason_enum": {
        "type": "string",
        "description": "Deprecated as of vSphere API 6.0.\n\nSet of possible values for\n*HostCapability.replayUnsupportedReason* and\n*HostCapability.replayCompatibilityIssues*.\n\nPossible values:\n- `incompatibleProduct`\n- `incompatibleCpu`\n- `hvDisabled`\n- `cpuidLimitSet`\n- `oldBIOS`\n- `unknown`\n",
        "enum": [
          "incompatibleProduct",
          "incompatibleCpu",
          "hvDisabled",
          "cpuidLimitSet",
          "oldBIOS",
          "unknown"
        ]
      },
      "HostCapabilityUnmapMethodSupported_enum": {
        "type": "string",
        "description": "Set of VMFS unmap API version.\n\nPossible values:\n- `priority`: only the unmap priority is supported\n- `fixed`: the unmap bandwidth can be set as a fixed value\n- `dynamic`: the unmap bandwidth can be set as a range, where the actual\n  bandwidth will be dynamically throttled by the backened\n",
        "enum": [
          "priority",
          "fixed",
          "dynamic"
        ]
      },
      "HostCapabilityVmDirectPathGen2UnsupportedReason_enum": {
        "type": "string",
        "description": "Set of possible values for *HostCapability.vmDirectPathGen2UnsupportedReason*.\n\nPossible values:\n- `hostNptIncompatibleProduct`: The host software does not support VMDirectPath Gen 2.\n- `hostNptIncompatibleHardware`: The host hardware does not support VMDirectPath Gen 2.\n  \n  Note that\n  this is a general capability for the host and is independent of\n  support by a given physical NIC.\n- `hostNptDisabled`: The host is configured to disable VMDirectPath Gen 2.\n",
        "enum": [
          "hostNptIncompatibleProduct",
          "hostNptIncompatibleHardware",
          "hostNptDisabled"
        ]
      },
      "HostCertificateManagerCertificateInfoCertificateStatus_enum": {
        "type": "string",
        "description": "The status of a given certificate as computed per the soft and the hard\nthresholds in vCenter Server.\n\n  \n  \nThere are two different thresholds for the host certificate\nexpirations; a soft threshold (which constitutes of two phases) and a\nhard threshold.\n  \n  \nSoft Threshold:\n  \nPhase One: vCenter Server will publish an event at\nthis time to let the user know about the status, but, no alarms or\nwarnings are raised.\n  \nPhase Two: During this phase, vCenter Server will publish an event and\nindicate the certificate status as expiring in the UI.\n  \n  \nHard Threshold:\n  \nvCenter Server will publish an alarm and indicate via the UI that the\ncertificate expiration is imminent.\n\nPossible values:\n- `unknown`: The certificate status is unknown.\n- `expired`: The certificate has expired.\n- `expiring`: The certificate is expiring shortly.\n  \n  (soft threshold - 1)\n- `expiringShortly`: The certificate is expiring shortly.\n  \n  (soft threshold - 2)\n- `expirationImminent`: The certificate expiration is imminent.\n  \n  (hard threshold)\n- `good`: The certificate is good.\n",
        "enum": [
          "unknown",
          "expired",
          "expiring",
          "expiringShortly",
          "expirationImminent",
          "good"
        ]
      },
      "HostCertificateManagerCertificateKind_enum": {
        "type": "string",
        "description": "Certificate type supported by Host\n\nPossible values:\n- `Machine`: Machine certificate of the Host\n- `VASAClient`: VASA Client certificate used for communication with VASA Provider\n  \n***Since:*** vSphere API Release 8.0.1.0\n",
        "enum": [
          "Machine",
          "VASAClient"
        ]
      },
      "HostConfigChangeMode_enum": {
        "type": "string",
        "description": "This is a global mode on a configuration specification indicating\nwhether the structure represents the desired state or the set of\noperations to apply on the managed object.\n\nPossible values:\n- `modify`: Indicates that the structure represents the\n  set of operations to apply on the managed object.\n- `replace`: Indicates that the structure represents the\n  desired state of the managed object.\n",
        "enum": [
          "modify",
          "replace"
        ]
      },
      "HostConfigChangeOperation_enum": {
        "type": "string",
        "description": "This list indicates the operation that should be performed for an\nentity.\n\nPossible values:\n- `add`: Indicates the addition of an entity to the configuration.\n- `remove`: Indicates the removal of an entity from the configuration.\n- `edit`: Indicates changes on the entity.\n  \n  The entity must exist or a\n  *NotFound* error will be thrown.\n- `ignore`: Indicates that an entity will be ignored: it won't be added when it\n  doesn't exist, or removed/changed when it exists.\n",
        "enum": [
          "add",
          "remove",
          "edit",
          "ignore"
        ]
      },
      "HostCpuPackageVendor_enum": {
        "type": "string",
        "description": "Possible values:\n- `unknown`\n- `intel`\n- `amd`\n- `hygon`\n",
        "enum": [
          "unknown",
          "intel",
          "amd",
          "hygon"
        ]
      },
      "HostCpuPowerManagementInfoPolicyType_enum": {
        "type": "string",
        "description": "Possible values for Current CPU power management policy\n\nPossible values:\n- `off`\n- `staticPolicy`\n- `dynamicPolicy`\n",
        "enum": [
          "off",
          "staticPolicy",
          "dynamicPolicy"
        ]
      },
      "HostCpuSchedulerInfoCpuSchedulerPolicyInfo_enum": {
        "type": "string",
        "description": "Possible values:\n- `systemDefault`: The CPU scheduler on this host is running without any modifications\n  or mitigations.\n- `scav1`: The CPU scheduler on this host is using only one hyperthread per\n  core to mitigate a security vulnerability.\n- `scav2`: The CPU scheduler on this host is using hyperthreads, with\n  Side-Channel aware scheduling to mitigate a security vulnerability.\n  \n***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "systemDefault",
          "scav1",
          "scav2"
        ]
      },
      "HostDateTimeInfoProtocol_enum": {
        "type": "string",
        "description": "Types of time synchronization protocols.\n\nPossible values:\n- `ntp`: Network Time Protocol (NTP).\n- `ptp`: Precision Time Protocol (PTP).\n",
        "enum": [
          "ntp",
          "ptp"
        ]
      },
      "DiagnosticPartitionType_enum": {
        "type": "string",
        "description": "The type of diagnostic partition.\n\nPrivate diagnostic partition has one\nslot, so can only be used by one host. Shared diagnostic parititon\nneeds multiple slots so to be usable by multiple hosts.\n\nPossible values:\n- `singleHost`\n- `multiHost`\n",
        "enum": [
          "singleHost",
          "multiHost"
        ]
      },
      "DiagnosticPartitionStorageType_enum": {
        "type": "string",
        "description": "Type of partition indicating the type of storage on which the partition\nresides.\n\nIf the diagnostic partition is local only, it will only need\none slot. If the diagnostic partition is on shared storage, it could\nbe used by multiple hosts. As a result, it will need multiple slots.\n\nPossible values:\n- `directAttached`\n- `networkAttached`\n",
        "enum": [
          "directAttached",
          "networkAttached"
        ]
      },
      "HostDigestInfoDigestMethodType_enum": {
        "type": "string",
        "description": "The set of digest methods that can be used by TPM to calculate the PCR\nvalues.\n\nPossible values:\n- `SHA1`\n- `MD5`: \n  \n  Deprecated as of vSphere API 6.7.\n  \n  MD5.\n- `SHA256`\n- `SHA384`\n- `SHA512`\n- `SM3_256`\n",
        "enum": [
          "SHA1",
          "MD5",
          "SHA256",
          "SHA384",
          "SHA512",
          "SM3_256"
        ]
      },
      "HostDigestVerificationSetting_enum": {
        "type": "string",
        "description": "This enum specifies the supported digest verification settings.\n\nFor NVMe over TCP connections, both header and data digests may be\nrequested during the process of establishing the connection.\nFor details, see:\n- NVM Express Technical Proposal 8000 - NVMe/TCP Transport,\n  Section 7.4.6, \"PDU Header and Data Digests\"\n  \nPossible values:\n- `digestDisabled`: Both header and data digest verification are disabled.\n- `headerOnly`: Only header digest verification is enabled.\n- `dataOnly`: Only data digest verification is enabled.\n- `headerAndData`: Both header and data digest verification are enabled.\n  \n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "digestDisabled",
          "headerOnly",
          "dataOnly",
          "headerAndData"
        ]
      },
      "HostDiskPartitionInfoPartitionFormat_enum": {
        "type": "string",
        "description": "List of partition format types.\n\nThis denotes the partition table layout.\n\nPossible values:\n- `gpt`\n- `mbr`\n- `unknown`\n",
        "enum": [
          "gpt",
          "mbr",
          "unknown"
        ]
      },
      "HostDiskPartitionInfoType_enum": {
        "type": "string",
        "description": "List of symbol partition types\n\nPossible values:\n- `none`\n- `vmfs`\n- `linuxNative`\n- `linuxSwap`\n- `extended`\n- `ntfs`\n- `vmkDiagnostic`\n- `vffs`\n",
        "enum": [
          "none",
          "vmfs",
          "linuxNative",
          "linuxSwap",
          "extended",
          "ntfs",
          "vmkDiagnostic",
          "vffs"
        ]
      },
      "HostFeatureVersionKey_enum": {
        "type": "string",
        "description": "Set of possible values for\n*HostFeatureVersionInfo.key*, which\nis a unique key that identifies a feature.\n\nPossible values:\n- `faultTolerance`: VMware Fault Tolerance feature.\n  \n  For pre-4.1 hosts, the\n  version value reported will be empty in which case\n  *AboutInfo.build* should be used. For all\n  other hosts, the version number reported will be a component-specific\n  version identifier of the form X.Y.Z, where:\n  X refers to host agent Fault Tolerance version number,\n  Y refers to VMX Fault Tolerance version number,\n  Z refers to VMkernal Fault Tolerance version\n",
        "enum": [
          "faultTolerance"
        ]
      },
      "FibreChannelPortType_enum": {
        "type": "string",
        "description": "The operating mode of the adapter.\n\nPossible values:\n- `fabric`\n- `loop`\n- `pointToPoint`\n- `unknown`\n",
        "enum": [
          "fabric",
          "loop",
          "pointToPoint",
          "unknown"
        ]
      },
      "FibreChannelPortType": {
        "type": "object",
        "description": "A boxed *FibreChannelPortType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/FibreChannelPortType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfFibreChannelPortType": {
        "type": "object",
        "description": "A boxed array of *FibreChannelPortType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FibreChannelPortType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "FileSystemMountInfoVStorageSupportStatus_enum": {
        "type": "string",
        "description": "Status of volume's support for vStorage hardware acceleration.\n\nThe ESX Server determines the status based on the capabilities\nof the devices that support the file system volume.\nWhen a host boots, the support status is unknown.\nAs the ESX host attempts hardware-accelerated operations,\nit determines whether the storage device supports hardware\nacceleration and sets the *HostFileSystemMountInfo.vStorageSupport*\nproperty accordingly.\n\nPossible values:\n- `vStorageSupported`: Storage device supports hardware acceleration.\n  \n  The ESX host will use the feature to offload certain\n  storage-related operations to the device.\n- `vStorageUnsupported`: Storage device does not support hardware acceleration.\n  \n  The ESX host will handle all storage-related operations.\n- `vStorageUnknown`: Initial support status value.\n",
        "enum": [
          "vStorageSupported",
          "vStorageUnsupported",
          "vStorageUnknown"
        ]
      },
      "HostFileSystemVolumeFileSystemType_enum": {
        "type": "string",
        "description": "Type of file system volume.\n\nPossible values:\n- `VMFS`: VMware File System (ESX Server only).\n  \n  If this is set,\n  the type of the file system volume is VMFS.\n- `NFS`: Network file system v3 linux &amp; esx servers only.\n  \n  If this is\n  set, the type of the file system volume is NFS v3.\n- `NFS41`: Network file system v4.1 linux &amp; esx servers only.\n  \n  If this is\n  set, the type of the file system volume is NFS v4.1 or later.\n- `CIFS`: Common Internet File System.\n  \n  If this is set, the type of the\n  file system volume is Common Internet File System.\n- `vsan`: VSAN File System (ESX Server only).\n- `VFFS`: vFlash File System (ESX Server only).\n  \n  If this is set, the type of the file system volume is VFFS.\n- `VVOL`: vvol File System (ESX Server only).\n- `PMEM`: Persistent Memory File System (ESX Server only).\n- `vsanD`: VSAN direct file system.\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `OTHER`: Used if the file system is not one of the specified file systems.\n  \n  Used mostly for reporting purposes. The other types are described\n  by the otherType property.\n",
        "enum": [
          "VMFS",
          "NFS",
          "NFS41",
          "CIFS",
          "vsan",
          "VFFS",
          "VVOL",
          "PMEM",
          "vsanD",
          "OTHER"
        ]
      },
      "HostFirewallSystemRuleSetId_enum": {
        "type": "string",
        "description": "List of available firewall ruleset ids\n\nPossible values:\n- `faultTolerance`\n- `fdm`\n- `updateManager`\n- `vpxHeartbeats`\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "enum": [
          "faultTolerance",
          "fdm",
          "updateManager",
          "vpxHeartbeats"
        ]
      },
      "HostFirewallSystemServiceName_enum": {
        "type": "string",
        "description": "List of available service names\n\nPossible values:\n- `vpxa`\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "enum": [
          "vpxa"
        ]
      },
      "HostFruFruType_enum": {
        "type": "string",
        "description": "The vendor definition for type of Field Replaceable Unit (FRU).\n\nPossible values:\n- `undefined`\n- `board`\n- `product`\n",
        "enum": [
          "undefined",
          "board",
          "product"
        ]
      },
      "HostGraphicsConfigGraphicsType_enum": {
        "type": "string",
        "description": "Supported values for graphics type.\n\nPossible values:\n- `shared`: Shared graphics (ex.\n  \n  virtual shared graphics acceleration).\n- `sharedDirect`: Shared direct graphics (ex.\n  \n  vendor vGPU shared passthrough).\n",
        "enum": [
          "shared",
          "sharedDirect"
        ]
      },
      "HostGraphicsConfigSharedPassthruAssignmentPolicy_enum": {
        "type": "string",
        "description": "Supported values for shared passthrough assignment policy\n\nPossible values:\n- `performance`: Performance policy: assign VM to GPU with fewest VMs.\n- `consolidation`: Consolidation policy: group like VMs on GPU until fully loaded.\n",
        "enum": [
          "performance",
          "consolidation"
        ]
      },
      "HostGraphicsConfigVgpuMode_enum": {
        "type": "string",
        "description": "Supported values for vGPU mode.\n\nPossible values:\n- `sameSize`: vGPU time-sliced same size.\n- `mixedSize`: vGPU time-sliced mixed size.\n  \n***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "sameSize",
          "mixedSize"
        ]
      },
      "HostGraphicsInfoGraphicsType_enum": {
        "type": "string",
        "description": "Possible values for graphics type.\n\nPossible values:\n- `basic`: Basic graphics when no host driver is available.\n- `shared`: Shared graphics (ex.\n  \n  virtual shared graphics acceleration).\n- `direct`: Direct graphics (ex.\n  \n  passthrough).\n- `sharedDirect`: Shared direct graphics (ex.\n  \n  vGPU shared passthrough).\n",
        "enum": [
          "basic",
          "shared",
          "direct",
          "sharedDirect"
        ]
      },
      "HostGraphicsInfoVgpuMode_enum": {
        "type": "string",
        "description": "Possible values for vGPU mode.\n\nPossible values:\n- `none`: vGPU mode not applicable.\n- `sameSize`: vGPU time-sliced same size.\n- `mixedSize`: vGPU time-sliced mixed size.\n- `multiInstanceGpu`: vGPU multi-instance GPU.\n  \n***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "none",
          "sameSize",
          "mixedSize",
          "multiInstanceGpu"
        ]
      },
      "HostHardwareElementStatus_enum": {
        "type": "string",
        "description": "The current status of the hardware\n\nPossible values:\n- `Unknown`: The implementation cannot report on the current status of the\n  physical element\n- `Green`: The physical element is functioning as expected\n- `Yellow`: All functionality is available but some might be degraded.\n- `Red`: The physical element is failing.\n  \n  It is possible that some or all\n  functionalities of this physical element is degraded or not working.\n",
        "enum": [
          "Unknown",
          "Green",
          "Yellow",
          "Red"
        ]
      },
      "HostAccessMode_enum": {
        "type": "string",
        "description": "Defines different access modes that a user may have on the host for\ndirect host connections.\n\nThe assumption here is that when the host is managed by vCenter,\nwe don't need fine-grained control on local user permissions like the\ninterface provided by *AuthorizationManager*.\n\nPossible values:\n- `accessNone`: Indicates that the user has no explicitly defined permissions or roles.\n  \n  This is used when we want to remove all permissions for some user.\n  \n  Note that this is not the same as *accessNoAccess*.\n- `accessAdmin`: Describes a propagating Admin role on the root inventory object\n  (root folder) on the host, and no other non-Admin role on any other\n  object.\n  \n  The same permissions are needed to login to local or remote\n  shell (ESXiShell or SSH).\n- `accessNoAccess`: Describes a propagating NoAccess role on the root inventory object\n  (root folder) on the host, and no other roles.\n  \n  Even if the user has another (redundant) NoAccess role on some other\n  inventory object, then the access mode for this user will be\n  classified as *accessOther*.\n  \n  This mode may be used to restrict a specific user account without\n  restricting the access mode for the group to which the user belongs.\n- `accessReadOnly`: Describes a propagating ReadOnly role on the root inventory object\n  (root folder) on the host, and no other roles.\n  \n  Even if the user has another (redundant) ReadOnly role on some other\n  inventory object, then the access mode for this user will be\n  *accessOther*.\n- `accessOther`: Describes a combination of one or more roles/permissions which are\n  none of the above.\n",
        "enum": [
          "accessNone",
          "accessAdmin",
          "accessNoAccess",
          "accessReadOnly",
          "accessOther"
        ]
      },
      "HostAccessMode": {
        "type": "object",
        "description": "A boxed *HostAccessMode_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostAccessMode_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostAccessMode": {
        "type": "object",
        "description": "A boxed array of *HostAccessMode_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostAccessMode_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostLockdownMode_enum": {
        "type": "string",
        "description": "Defines the possible states of lockdown mode.\n\nPossible values:\n- `lockdownDisabled`: Indicates that lockdown mode is disabled.\n- `lockdownNormal`: Indicates that lockdown mode is enabled with service DCUI\n  (Direct Console User Interface) running.\n- `lockdownStrict`: Indicates that lockdown mode is enabled with service DCUI stopped.\n  \n  If the host is in \"strict\" lockdown mode then no one will be able\n  to exit lockdown mode through DCUI in emergency situations,\n  i.e. when the connection to vCenter server is permanently lost.\n",
        "enum": [
          "lockdownDisabled",
          "lockdownNormal",
          "lockdownStrict"
        ]
      },
      "HostLockdownMode": {
        "type": "object",
        "description": "A boxed *HostLockdownMode_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostLockdownMode_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostLockdownMode": {
        "type": "object",
        "description": "A boxed array of *HostLockdownMode_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostLockdownMode_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostImageAcceptanceLevel_enum": {
        "type": "string",
        "description": "Acceptance level definitions\n\nPossible values:\n- `vmware_certified`: \"VMware-certified\"\n- `vmware_accepted`: \"VMware-accepted\"\n- `partner`: \"Partner-supported\"\n- `community`: \"Community-supported\"\n",
        "enum": [
          "vmware_certified",
          "vmware_accepted",
          "partner",
          "community"
        ]
      },
      "HostInternetScsiHbaChapAuthenticationType_enum": {
        "type": "string",
        "description": "The type of CHAP authentication setting to use.\n\nprohibited : do not use CHAP.\npreferred : use CHAP if successfully negotiated,\nbut allow non-CHAP connections as fallback\ndiscouraged : use non-CHAP, but allow CHAP connectsion as fallback\nrequired : use CHAP for connection strictly, and fail if CHAP\nnegotiation fails.\nDefaults to preferred on first configuration if unspecified.\n\nPossible values:\n- `chapProhibited`\n- `chapDiscouraged`\n- `chapPreferred`\n- `chapRequired`\n",
        "enum": [
          "chapProhibited",
          "chapDiscouraged",
          "chapPreferred",
          "chapRequired"
        ]
      },
      "HostInternetScsiHbaDigestType_enum": {
        "type": "string",
        "description": "The type of integrity checks to use.\n\nThe digest setting for header\nand data traffic can be separately configured.\nprohibited : do not use digest.\npreferred : use digest if successfully negotiated, but skip the use\nof digest otherwise.\ndiscouraged : do not use digest if target allows, otherwise use digest.\nrequired : use digest strictly, and fail if target does not support\ndigest.\nDefaults to preferred on first configuration if unspecified.\n\nPossible values:\n- `digestProhibited`\n- `digestDiscouraged`\n- `digestPreferred`\n- `digestRequired`\n",
        "enum": [
          "digestProhibited",
          "digestDiscouraged",
          "digestPreferred",
          "digestRequired"
        ]
      },
      "InternetScsiSnsDiscoveryMethod_enum": {
        "type": "string",
        "description": "The available iSNS discovery methods.\n\nPossible values:\n- `isnsStatic`\n- `isnsDhcp`\n- `isnsSlp`\n",
        "enum": [
          "isnsStatic",
          "isnsDhcp",
          "isnsSlp"
        ]
      },
      "SlpDiscoveryMethod_enum": {
        "type": "string",
        "description": "The available SLP discovery methods.\n\nPossible values:\n- `slpDhcp`: Use DHCP to find the SLP DAs.\n- `slpAutoUnicast`: Use broadcasting to find SLP DAs.\n  \n  Only DAs on the current subnet will be found.\n- `slpAutoMulticast`: Use the well known multicast address to find DAs.\n- `slpManual`: User specified address for a DA.\n",
        "enum": [
          "slpDhcp",
          "slpAutoUnicast",
          "slpAutoMulticast",
          "slpManual"
        ]
      },
      "HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType_enum": {
        "type": "string",
        "description": "enum listing possible IPv6 address configuration methods.\n\nPossible values:\n- `DHCP`: DHCP\n- `AutoConfigured`: Auto configured.\n  \n  Auto configured Link local address and Router Advertisement addresses\n  would be of this type.\n- `Static`: Static address.\n  \n  Typically user specified addresses will be static addresses.\n  User can specify link local address. Only Static addresses can be added or removed.\n- `Other`: Other or unknown type.\n",
        "enum": [
          "DHCP",
          "AutoConfigured",
          "Static",
          "Other"
        ]
      },
      "HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType": {
        "type": "object",
        "description": "A boxed *HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation_enum": {
        "type": "string",
        "description": "enum listing IPv6 address operations.\n\nPossible values:\n- `add`\n- `remove`\n",
        "enum": [
          "add",
          "remove"
        ]
      },
      "HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation": {
        "type": "object",
        "description": "A boxed *HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaNetworkBindingSupportType_enum": {
        "type": "string",
        "description": "The binding mode of the adapter.\n\nPossible values:\n- `notsupported`\n- `optional`\n- `required`\n",
        "enum": [
          "notsupported",
          "optional",
          "required"
        ]
      },
      "HostInternetScsiHbaNetworkBindingSupportType": {
        "type": "object",
        "description": "A boxed *HostInternetScsiHbaNetworkBindingSupportType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostInternetScsiHbaNetworkBindingSupportType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostInternetScsiHbaNetworkBindingSupportType": {
        "type": "object",
        "description": "A boxed array of *HostInternetScsiHbaNetworkBindingSupportType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostInternetScsiHbaNetworkBindingSupportType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostInternetScsiHbaStaticTargetTargetDiscoveryMethod_enum": {
        "type": "string",
        "description": "The method of discovery of an iScsi target.\n\nstaticMethod: static discovery\nsendTargetsMethod: sendtarget discovery\nslpMethod: Service Location Protocol discovery\nisnsMethod: Internet Storage Name Service discovery\nunknownMethod: discovery method not identified by iscsi stack\n\nPossible values:\n- `staticMethod`\n- `sendTargetMethod`\n- `slpMethod`\n- `isnsMethod`\n- `unknownMethod`\n",
        "enum": [
          "staticMethod",
          "sendTargetMethod",
          "slpMethod",
          "isnsMethod",
          "unknownMethod"
        ]
      },
      "HostIpConfigIpV6AddressConfigType_enum": {
        "type": "string",
        "description": "This specifies how the ipv6 address is configured for the interface.\n\nWe follow rfc4293 in defining the values for the configType.\n\nPossible values:\n- `other`: Any other type of address configuration other than the below\n  mentioned ones will fall under this category.\n  \n  For e.g., automatic\n  address configuration for the link local address falls under\n  this type.\n- `manual`: The address is configured manually.\n- `dhcp`: The address is configured through dhcp.\n- `linklayer`: The address is obtained through stateless autoconfiguration.\n- `random`: The address is chosen by the system at random\n  e.g., an IPv4 address within 169.254/16, or an RFC\n  3041 privacy address.\n",
        "enum": [
          "other",
          "manual",
          "dhcp",
          "linklayer",
          "random"
        ]
      },
      "HostIpConfigIpV6AddressStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `preferred`: Indicates that this is a valid address.\n- `deprecated`: Indicates that this is a valid but deprecated address\n  that should no longer be used as a source address.\n- `invalid`: Indicates that this isn't a valid.\n- `inaccessible`: Indicates that the address is not accessible because\n  interface is not operational.\n- `unknown`: Indicates that the status cannot be determined.\n- `tentative`: Indicates that the uniqueness of the\n  address on the link is presently being verified.\n- `duplicate`: Indicates the address has been determined to be non-unique\n  on the link, this address will not be reachable.\n",
        "enum": [
          "preferred",
          "deprecated",
          "invalid",
          "inaccessible",
          "unknown",
          "tentative",
          "duplicate"
        ]
      },
      "IscsiPortInfoPathStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `notUsed`: There are no paths on this Virtual NIC\n- `active`: All paths on this Virtual NIC are standby paths from SCSI stack\n  perspective.\n- `standBy`: One or more paths on the Virtual NIC are active paths to\n  storage.\n  \n  Unbinding this Virtual NIC will cause storage path\n  transitions.\n- `lastActive`: One or more paths on the Virtual NIC is the last active\n  path to a particular storage device.\n",
        "enum": [
          "notUsed",
          "active",
          "standBy",
          "lastActive"
        ]
      },
      "LinkDiscoveryProtocolConfigOperationType_enum": {
        "type": "string",
        "description": "The Discovery Protocol operation.\n\nPossible values:\n- `none`: Don't listen for incoming discovery packets and don't sent discover\n  packets for the switch either.\n- `listen`: Listen for incoming discovery packets but don't sent discovery packet\n  for the switch.\n- `advertise`: Sent discovery packets for the switch, but don't listen for incoming\n  discovery packets.\n- `both`: Sent discovery packets for the switch and listen for incoming\n  discovery packets.\n",
        "enum": [
          "none",
          "listen",
          "advertise",
          "both"
        ]
      },
      "LinkDiscoveryProtocolConfigProtocolType_enum": {
        "type": "string",
        "description": "The Discovery Protocol types.\n\nPossible values:\n- `cdp`: Cisco Discovery Protocol\n- `lldp`: Link Layer Discovery Protocol\n",
        "enum": [
          "cdp",
          "lldp"
        ]
      },
      "HostLowLevelProvisioningManagerFileType_enum": {
        "type": "string",
        "description": "This enum defines the possible types of file types that can be reserved\nor deleted\n\nPossible values:\n- `File`\n- `VirtualDisk`\n- `Directory`\n",
        "enum": [
          "File",
          "VirtualDisk",
          "Directory"
        ]
      },
      "HostLowLevelProvisioningManagerReloadTarget_enum": {
        "type": "string",
        "description": "The target of the disk reload.\n\nPossible values:\n- `currentConfig`: Specifies the reload of the current config of the virtual machine.\n- `snapshotConfig`: Specifies the reload of the snapshot config of the virtual machine.\n  \n  If the virtual machine has multiple snapshots, all of the snapshot's\n  config will be reloaded.\n",
        "enum": [
          "currentConfig",
          "snapshotConfig"
        ]
      },
      "HostMaintenanceSpecPurpose_enum": {
        "type": "string",
        "description": "Possible values:\n- `hostUpgrade`\n",
        "enum": [
          "hostUpgrade"
        ]
      },
      "VirtualMachineMemoryAllocationPolicy_enum": {
        "type": "string",
        "description": "Means for allocating additional memory for virtual machines.\n\nPossible values:\n- `swapNone`: Fit all virtual machine memory into reserved host memory.\n- `swapSome`: Allow some virtual machine memory to be swapped.\n- `swapMost`: Allow most virtual machine memory to be swapped.\n",
        "enum": [
          "swapNone",
          "swapSome",
          "swapMost"
        ]
      },
      "HostMemoryTierFlags_enum": {
        "type": "string",
        "description": "Enumeration of flags pertaining to a memory tier.\n\nHere are some examples of what the flags will look like for various memory\nconfigurations:\n- Traditional memory (*noTiering*): The host has a DRAM tier\n  for the main memory and nothing else. The DRAM tier will have the\n  *memoryTier* flag.\n- App Direct mode (*noTiering*): The host has a DRAM tier\n  and a PMem tier, but the two are independent and unrelated. The PMem tier is\n  non-volatile and is exposed as an NVDIMM device. Applications can decide whether to\n  direct the reads and writes to DRAM or PMem by using the appropriate system call. The\n  DRAM tier will have the *memoryTier* flag and the PMem tier will\n  have the *persistentTier* flag.\n- Memory mode (*hardwareTiering*): The host has a DRAM tier\n  and a PMem tier, but the DRAM is hidden from applications and is just a cache\n  for the PMem main memory. The PMem tier is volatile, and is abstracted by the hardware\n  layer to look like traditional memory. Applications can read from/write to memory\n  using the traditional memory system calls. The memory controller in the hardware will\n  internally direct those to the DRAM cache first, and on a cache miss redirect them to\n  the PMem main memory. The DRAM tier will have the *cachingTier*\n  flag and the PMem tier will have the *memoryTier* flag.\n  \nPossible values:\n- `memoryTier`: Flag indicating that the tier is the primary memory tier visible from the\n  host.\n- `persistentTier`: Flag indicating that the tier is used as non-volatile storage, e.g.\n  \n  PMem in\n  App Direct mode.\n- `cachingTier`: Flag indicating that the tier is a cache for main memory.\n- `unmappableTier`: ***Since:*** vSphere API Release 8.0.3.0\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "memoryTier",
          "persistentTier",
          "cachingTier",
          "unmappableTier"
        ]
      },
      "HostMemoryTierType_enum": {
        "type": "string",
        "description": "Enumeration of supported types of memory tiers.\n\nPossible values:\n- `DRAM`: Dynamic random-access memory.\n- `PMem`: Persistent memory.\n- `NVMe`: NVMe memory.\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "DRAM",
          "PMem",
          "NVMe"
        ]
      },
      "HostMemoryTieringType_enum": {
        "type": "string",
        "description": "Enumeration of the supported kinds of memory tiering configurations.\n\nPossible values:\n- `noTiering`: The traditional memory configuration without any tiers.\n- `hardwareTiering`: The memory configuration where a tier is hardware-controlled and invisible to\n  applications, e.g.\n  \n  Intel's Memory Mode.\n- `softwareTiering`: The memory configuration where all memory tiers are managed by software (ESX).\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "noTiering",
          "hardwareTiering",
          "softwareTiering"
        ]
      },
      "HostMountMode_enum": {
        "type": "string",
        "description": "Defines the access mode of the datastore.\n\nPossible values:\n- `readWrite`: The host system has read/write access to the file system.\n- `readOnly`: The host system has read-only access to the file system.\n",
        "enum": [
          "readWrite",
          "readOnly"
        ]
      },
      "HostMountInfoInaccessibleReason_enum": {
        "type": "string",
        "description": "A datastore can become inaccessible due to a number of reasons as\ndefined in this enum *HostMountInfoInaccessibleReason_enum*.\n\nThe reason for a datastore being inaccessible is reported in\n*HostMountInfo.inaccessibleReason*.\nAPD (\"All Paths Down\") is a condition where a SAN or NFS storage has\nbecome inaccessible for unknown reasons. It only indicates loss of\nconnectivity and does not indicate storage device failure or\nLUN removal (Permanent Device Loss or PDL)\nA difference between APD and PDL is that APD may recover\nin which case all use cases will start to work as before. In case of PDL\nthe failed datastore/device is unlikely to recover and hence the device\npath information and data cache will be emptied. If the PDL condition\nrecovers, the failed datastores have to be added back to the host. Once\nin PDL a datastore cannot be added back until there are no longer any\nopen files on the datastore.\nPDL is not linked to the APD and can happen at any time with or without APD\npreceding. If APD and PDL occur at the same time, APD will be reported first.\nOnce (and if) the APD condition clears, PermanentDataLoss will be reported if\nPDL condition still exists.\n\nPossible values:\n- `AllPathsDown_Start`: AllPathsDown\\_Start value is reported when all paths down state is detected\n- `AllPathsDown_Timeout`: After a wait for a system default time (which is user modifiable)\n  to ascertain the state is indeed an APD, AllPathsDown\\_Timeout property\n  is reported.\n  \n  The host advanced option used to set timeout period\n  is \"/Misc/APDTimeout\"\n  After the datastore property is set to AllPathsDown\\_Timeout, all data i/o\n  to the datastore will be fast-failed (failed immediately).\n- `PermanentDeviceLoss`: A PDL condition is reported as PermanentDeviceLoss.\n",
        "enum": [
          "AllPathsDown_Start",
          "AllPathsDown_Timeout",
          "PermanentDeviceLoss"
        ]
      },
      "HostMountInfoMountFailedReason_enum": {
        "type": "string",
        "description": "NFS mount request can be failed due to a number of reasons as\ndefined in this enum *HostMountInfoMountFailedReason_enum*.\n\nThe reason for the mount failure is reported in\n*HostMountInfo.mountFailedReason*. This is applicable only for those\ndatastores to which mount retry is configured.\n\nPossible values:\n- `CONNECT_FAILURE`: Failed to get port or connect.\n  \n  Or MOUNT/FSINFO RPC failed.\n- `MOUNT_NOT_SUPPORTED`: Server doesn't support MOUNT\\_PROGRAM/MOUNT\\_PROGRAM\\_VERSION.\n- `NFS_NOT_SUPPORTED`: Server doesn't support NFS\\_PROGRAM/NFS\\_PROGRAM\\_VERSION.\n- `MOUNT_DENIED`: No permission to mount the remote volume or it doesn't exist.\n- `MOUNT_NOT_DIR`: Remote path not a directory.\n- `VOLUME_LIMIT_EXCEEDED`: Maximum NFS volumes have been mounted.\n- `CONN_LIMIT_EXCEEDED`: Maximum connections for NFS has been reached.\n- `MOUNT_EXISTS`: Volume already mounted or a different mount exists with same label.\n- `OTHERS`: Any other reason which is not present in above list.\n  \n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "CONNECT_FAILURE",
          "MOUNT_NOT_SUPPORTED",
          "NFS_NOT_SUPPORTED",
          "MOUNT_DENIED",
          "MOUNT_NOT_DIR",
          "VOLUME_LIMIT_EXCEEDED",
          "CONN_LIMIT_EXCEEDED",
          "MOUNT_EXISTS",
          "OTHERS"
        ]
      },
      "MultipathState_enum": {
        "type": "string",
        "description": "Set of constants defining the possible states of a multipath path.\n\nPossible values:\n- `standby`\n- `active`\n- `disabled`\n- `dead`\n- `unknown`\n",
        "enum": [
          "standby",
          "active",
          "disabled",
          "dead",
          "unknown"
        ]
      },
      "HostNasVolumeSecurityType_enum": {
        "type": "string",
        "description": "Security type supported.\n\nPossible values:\n- `AUTH_SYS`: Authentication based on traditional UNIX identifiers (UID and GID).\n  \n  Server trusts the IDs sent by the client for each request and uses them\n  to perform access control. Current implementation only supports\n  AUTH\\_SYS with root user.\n- `SEC_KRB5`: Ensures RPC header authentication using Kerberos session keys.\n  \n  When\n  this option is enabled, the client uses the information specified in\n  *HostNasVolumeUserInfo* to establish shared keys with the server using\n  Kerberos. These shared keys are used to generate and verify message\n  authentication codes for RPC header of NFS requests and responses,\n  respectively. This method does not secure NFS file data.\n- `SEC_KRB5I`: Extends SEC\\_KRB5 to generate and verify message authentication codes\n  for the payload of NFS requests and responses respectively.\n  \n  This\n  ensures the integrity of the NFS file data.\n",
        "enum": [
          "AUTH_SYS",
          "SEC_KRB5",
          "SEC_KRB5I"
        ]
      },
      "HostNetStackInstanceCongestionControlAlgorithmType_enum": {
        "type": "string",
        "description": "Define TCP congestion control algorithm used by an instance\n\nPossible values:\n- `newreno`: New Reno Algorithm.\n  \n  See http://tools.ietf.org/html/rfc3782 for detail.\n- `cubic`: Cubic Algorithm.\n  \n  See http://tools.ietf.org/id/draft-rhee-tcp-cubic-00.txt for detail.\n",
        "enum": [
          "newreno",
          "cubic"
        ]
      },
      "HostNetStackInstanceSystemStackKey_enum": {
        "type": "string",
        "description": "Define the instance identifier for different traffic type\n\nPossible values:\n- `defaultTcpipStack`: The default stack used by applications\n- `vmotion`: Stack key used for vMotion applications\n- `vSphereProvisioning`: Stack key used for vSphere provisioning NFC traffic\n- `mirror`: Stack key used for port mirroring\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `ops`: Stack key used for ops applications\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "defaultTcpipStack",
          "vmotion",
          "vSphereProvisioning",
          "mirror",
          "ops"
        ]
      },
      "HostNumericSensorHealthState_enum": {
        "type": "string",
        "description": "Health state of the numeric sensor as reported by the sensor probes.\n\nSame data reported using command line: esxcli hardware ipmi sdr list\n\nPossible values:\n- `unknown`: The implementation cannot report on the current health state of the\n  physical element\n- `green`: The sensor is operating under normal conditions\n- `yellow`: The sensor is operating under conditions that are non-critical.\n- `red`: The sensor is operating under critical or fatal conditions.\n  \n  This may\n  directly affect the functioning of both the sensor and related\n  components.\n",
        "enum": [
          "unknown",
          "green",
          "yellow",
          "red"
        ]
      },
      "HostNumericSensorType_enum": {
        "type": "string",
        "description": "Sensor Types for specific hardware component are either based on\nclass of sensor or what the sensor monitors to allow for grouping\n\nPossible values:\n- `fan`: Fan sensor\n- `power`: Power sensor\n- `temperature`: Temperature sensor\n- `voltage`: Voltage Sensor\n- `other`: Other sensor.\n- `processor`: Processor sensor.\n- `memory`: Memory sensor.\n- `storage`: disk/storage sensor.\n- `systemBoard`: system board sensor.\n- `battery`: Battery sensor.\n- `bios`: BIOS/firmware related sensor.\n- `cable`: cable related sensor.\n- `watchdog`: Watchdog related sensor.\n",
        "enum": [
          "fan",
          "power",
          "temperature",
          "voltage",
          "other",
          "processor",
          "memory",
          "storage",
          "systemBoard",
          "battery",
          "bios",
          "cable",
          "watchdog"
        ]
      },
      "NvdimmNvdimmHealthInfoState_enum": {
        "type": "string",
        "description": "Overall state of NVDIMM\n\nPossible values:\n- `normal`: NVDIMM state is normal\n- `error`: Error in NVDIMM state.\n  \n  Potential data loss.\n",
        "enum": [
          "normal",
          "error"
        ]
      },
      "NvdimmInterleaveSetState_enum": {
        "type": "string",
        "description": "State of interleave set\n\nPossible values:\n- `invalid`: Interleave set is invalid\n- `active`: Interleave set is valid and active\n",
        "enum": [
          "invalid",
          "active"
        ]
      },
      "NvdimmNamespaceDetailsHealthStatus_enum": {
        "type": "string",
        "description": "Overall health state for a namespace\n\nPossible values:\n- `normal`: Namespace health is normal\n- `missing`: Namespace health is missing\n- `labelMissing`: Namespace health label is missing\n- `interleaveBroken`: Namespace health interleave broken\n- `labelInconsistent`: Namespace health label is inconsistent\n",
        "enum": [
          "normal",
          "missing",
          "labelMissing",
          "interleaveBroken",
          "labelInconsistent"
        ]
      },
      "NvdimmNamespaceDetailsState_enum": {
        "type": "string",
        "description": "State of Namespace\n\nPossible values:\n- `invalid`: Namespace is invalid\n- `notInUse`: Namespace is valid but not in use\n- `inUse`: Namespace is valid and is in use\n",
        "enum": [
          "invalid",
          "notInUse",
          "inUse"
        ]
      },
      "NvdimmNamespaceHealthStatus_enum": {
        "type": "string",
        "description": "Overall health state for a namespace\n\nPossible values:\n- `normal`: Namespace health is normal\n- `missing`: Namespace health is missing\n- `labelMissing`: Namespace health label is missing\n- `interleaveBroken`: Namespace health interleave broken\n- `labelInconsistent`: Namespace health label is inconsistent\n- `bttCorrupt`: Namespace health BTT is corrupt\n- `badBlockSize`: Namespace health encountered bad block\n",
        "enum": [
          "normal",
          "missing",
          "labelMissing",
          "interleaveBroken",
          "labelInconsistent",
          "bttCorrupt",
          "badBlockSize"
        ]
      },
      "NvdimmNamespaceState_enum": {
        "type": "string",
        "description": "State of Namespace\n\nPossible values:\n- `invalid`: Namespace is invalid\n- `notInUse`: Namespace is valid but not in use\n- `inUse`: Namespace is valid and is in use\n",
        "enum": [
          "invalid",
          "notInUse",
          "inUse"
        ]
      },
      "NvdimmNamespaceType_enum": {
        "type": "string",
        "description": "Type of namespace.\n\nPossible values:\n- `blockNamespace`: Block mode namespace\n- `persistentNamespace`: Persistent mode namespace\n",
        "enum": [
          "blockNamespace",
          "persistentNamespace"
        ]
      },
      "NvdimmRangeType_enum": {
        "type": "string",
        "description": "An indicator of how a memory range is being used\n\nPossible values:\n- `volatileRange`: Identifies the region to be volatile\n- `persistentRange`: Identifies the region to be persistent\n- `controlRange`: NVDIMM control region\n- `blockRange`: NVDIMM block data window region\n- `volatileVirtualDiskRange`: NVDIMM volatile virtual disk region\n- `volatileVirtualCDRange`: NVDIMM volatile virtual CD region\n- `persistentVirtualDiskRange`: NVDIMM persistent virtual disk region\n- `persistentVirtualCDRange`: NVDIMM persistent virtual CD region\n",
        "enum": [
          "volatileRange",
          "persistentRange",
          "controlRange",
          "blockRange",
          "volatileVirtualDiskRange",
          "volatileVirtualCDRange",
          "persistentVirtualDiskRange",
          "persistentVirtualCDRange"
        ]
      },
      "HostNvmeDiscoveryLogSubsystemType_enum": {
        "type": "string",
        "description": "This enum represents the supported NVM subsystem types.\n\nPossible values:\n- `discovery`: A Discovery service, composed of Discovery controllers.\n- `nvm`: An NVM subsystem whose controllers may have attached namespaces.\n",
        "enum": [
          "discovery",
          "nvm"
        ]
      },
      "HostNvmeDiscoveryLogTransportRequirements_enum": {
        "type": "string",
        "description": "This enum represents the supported types of transport requirements.\n\nPossible values:\n- `secureChannelRequired`: A fabric secure channel is required.\n- `secureChannelNotRequired`: A fabric secure channel is not required.\n- `requirementsNotSpecified`: Requirements are not specified\n",
        "enum": [
          "secureChannelRequired",
          "secureChannelNotRequired",
          "requirementsNotSpecified"
        ]
      },
      "HostNvmeTransportParametersNvmeAddressFamily_enum": {
        "type": "string",
        "description": "This enum specifies the supported address families for\nNVME over Fabrics.\n\nFor details, see:\n- \"NVM Express over Fabrics 1.0\", Section 5.3, Figure 34,\n  \"Discovery Log Page Entry\"\n  \nPossible values:\n- `ipv4`: IPv4 address, format specified in IETF RFC 791.\n- `ipv6`: IPv6 address, format specified in IETF RFC 2373.\n- `infiniBand`: InfiniBand address family.\n- `fc`: Fibre Channel address family.\n- `loopback`: Intra-host transport.\n- `unknown`: Unrecognized address family.\n",
        "enum": [
          "ipv4",
          "ipv6",
          "infiniBand",
          "fc",
          "loopback",
          "unknown"
        ]
      },
      "HostNvmeTransportType_enum": {
        "type": "string",
        "description": "The set of NVM Express over Fabrics transport types.\n\nFor details, see:\n- \"NVM Express over Fabrics 1.0\", Section 1.5.1,\n  \"Fabrics and Transports\".\n  \nPossible values:\n- `pcie`: PCI Express transport type\n- `fibreChannel`: Fibre Channel transport type\n- `rdma`: Remote Direct Memory Access transport type\n- `tcp`: Transmission Control Protocol transport type\n  \n  ***Since:*** vSphere API Release 7.0.3.0\n- `loopback`: Intra-host transport.\n- `unsupported`: The transport type is not among the currently supported ones.\n",
        "enum": [
          "pcie",
          "fibreChannel",
          "rdma",
          "tcp",
          "loopback",
          "unsupported"
        ]
      },
      "HostOpaqueSwitchOpaqueSwitchState_enum": {
        "type": "string",
        "description": "Possible values:\n- `up`: The opaque switch is up and running.\n- `warning`: The opaque switch requires attention.\n- `down`: The opaque switch is down.\n- `maintenance`: The opaque switch is under upgrade.\n",
        "enum": [
          "up",
          "warning",
          "down",
          "maintenance"
        ]
      },
      "HostPartialMaintenanceModeId_enum": {
        "type": "string",
        "description": "The following enum describes some common kinds of partial maintenance modes,\nas well as their special semantics.\n\nPossible values:\n- `quickPatchPartialMM`: When the host is in the quick patch partial maintenance mode, it is safe to\n  perform a quick patch.\n  \n  When the host is in this partial maintenance mode, any virtual machines\n  and/or pods placed on it will continue to run but operations which may\n  lead to new workloads starting on the host such as power on or incoming\n  vmotions may be blocked.\n  It is generally unsafe to reboot the host in this state.\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "quickPatchPartialMM"
        ]
      },
      "HostPartialMaintenanceModeStatus_enum": {
        "type": "string",
        "description": "The following enum contains the list of possible statuses associated\nwith each partial maintenance mode.\n\nPossible values:\n- `notInPartialMM`: The host is not in the particular partial maintenance mode.\n- `enteringPartialMM`: The host is in the process of entering the particular partial maintenance\n  mode.\n- `exitingPartialMM`: The host is in the process of exiting the particular partial maintenance\n  mode.\n- `inPartialMM`: The host is in the particular partial maintenance mode.\n  \n***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "notInPartialMM",
          "enteringPartialMM",
          "exitingPartialMM",
          "inPartialMM"
        ]
      },
      "HostPatchManagerInstallState_enum": {
        "type": "string",
        "description": "The installation state if the update is installed on the server.\n\nPossible values:\n- `hostRestarted`: The server has been restarted since the update installation.\n- `imageActive`: Indicates if the newly installed image is active on the server\n",
        "enum": [
          "hostRestarted",
          "imageActive"
        ]
      },
      "HostPatchManagerIntegrityStatus_enum": {
        "type": "string",
        "description": "The integrity validation status.\n\nPossible values:\n- `validated`: The update is successfully validated.\n- `keyNotFound`: The integrity can not be verified since a public key to\n  verify the update cannot be found.\n- `keyRevoked`: A public key to verify the update has been revoked.\n- `keyExpired`: A public key to verify the update is expired.\n- `digestMismatch`: A digital signature of the update does not match.\n- `notEnoughSignatures`: Not enough signed signatures on the update.\n- `validationError`: The integrity validation failed.\n",
        "enum": [
          "validated",
          "keyNotFound",
          "keyRevoked",
          "keyExpired",
          "digestMismatch",
          "notEnoughSignatures",
          "validationError"
        ]
      },
      "HostPatchManagerReason_enum": {
        "type": "string",
        "description": "Reasons why an update is not applicable to the ESX host.\n\nPossible values:\n- `obsoleted`: The update is made obsolete by other patches installed on the host.\n- `missingPatch`: The update depends on another update that is neither installed\n  nor in the scanned list of updates.\n- `missingLib`: The update depends on certain libraries or RPMs that are not\n  available.\n- `hasDependentPatch`: The update depends on an update that is not installed but is\n  in the scanned list of updates.\n- `conflictPatch`: The update conflicts with certain updates that are already\n  installed on the host.\n- `conflictLib`: The update conflicts with RPMs or libraries installed on the\n  host.\n",
        "enum": [
          "obsoleted",
          "missingPatch",
          "missingLib",
          "hasDependentPatch",
          "conflictPatch",
          "conflictLib"
        ]
      },
      "PhysicalNicResourcePoolSchedulerDisallowedReason_enum": {
        "type": "string",
        "description": "Possible values:\n- `userOptOut`: Indicates that the user has opted out the Physical NIC from resource pool\n  based scheduling.\n- `hardwareUnsupported`: Indicates that the NIC device does is not capable of resource pool\n  based scheduling.\n",
        "enum": [
          "userOptOut",
          "hardwareUnsupported"
        ]
      },
      "PhysicalNicVmDirectPathGen2SupportedMode_enum": {
        "type": "string",
        "description": "Set of possible values for *PhysicalNic.vmDirectPathGen2SupportedMode*.\n\nPossible values:\n- `upt`\n",
        "enum": [
          "upt"
        ]
      },
      "PortGroupConnecteeType_enum": {
        "type": "string",
        "description": "The type of component connected to a port group.\n\nPossible values:\n- `virtualMachine`: A virtual machine is connected to this port group.\n- `systemManagement`: A system management entity (service console)\n  is connected to this port group.\n- `host`: The VMkernel is connected to this port group.\n- `unknown`: This port group serves an entity of unspecified kind.\n",
        "enum": [
          "virtualMachine",
          "systemManagement",
          "host",
          "unknown"
        ]
      },
      "HostProtocolEndpointPEType_enum": {
        "type": "string",
        "description": "Deprecated from all vmodl version above @released(\"6.0\").\n\nProtocolEndpoint Type.\n\nPossible values:\n- `block`\n- `nas`\n",
        "enum": [
          "block",
          "nas"
        ]
      },
      "HostProtocolEndpointProtocolEndpointType_enum": {
        "type": "string",
        "description": "ProtocolEndpoint type.\n\nPossible values:\n- `scsi`\n- `nfs`\n- `nfs4x`\n",
        "enum": [
          "scsi",
          "nfs",
          "nfs4x"
        ]
      },
      "HostPtpConfigDeviceType_enum": {
        "type": "string",
        "description": "PTP capable network device type.\n\nPossible values:\n- `none`: No device.\n- `virtualNic`: Virtual network adapter.\n- `pciPassthruNic`: A network PCI device capable of PTP hardware timestamping,\n  enabled for passthru.\n  \n  See *HostPciPassthruSystem*\n  for information on PCI devices enabled for passthru available\n  on the host.\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "none",
          "virtualNic",
          "pciPassthruNic"
        ]
      },
      "HostQualifiedNameType_enum": {
        "type": "string",
        "description": "Possible values:\n- `nvmeQualifiedName`: The NVMe Qualified Name (NQN) of this host.\n- `vvolNvmeQualifiedName`: The NVMe Qualified Name (NQN) of this host used by Vvol.\n  \n  ***Since:*** vSphere API Release 8.0.0.0\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "nvmeQualifiedName",
          "vvolNvmeQualifiedName"
        ]
      },
      "HostRdmaDeviceConnectionState_enum": {
        "type": "string",
        "description": "Possible RDMA device connection states.\n\nThese correspond\nto possible link states as defined by the\nInfiniband (TM) specification.\n\nFurther details can be found in:\n- \"Infiniband (TM) Architecture Specification, Volume 1\"\n  section 7.2 \"Link states\"\n  \nPossible values:\n- `unknown`: Connection state unknown.\n  \n  Indicates that the driver returned\n  unexpected or no connection state information.\n- `down`: Device down.\n  \n  Indicates that both the logical link and\n  underlying physical link are down. Packets\n  are discarded.\n- `init`: Device initializing.\n  \n  Indicates that the physical link is up, but\n  the logical link is still initializing.\n  Only subnet management and flow control link\n  packets can be received and transmitted.\n- `armed`: Device armed.\n  \n  Indicates that the physical link is up, but\n  the logical link is not yet fully configured.\n  Packets can be received, but non-SMPs\n  (subnet management packets) to be sent are discarded.\n- `active`: Device active.\n  \n  Indicates that both the physical and logical\n  link are up. Packets can be transmitted and received.\n- `activeDefer`: Device in active defer state.\n  \n  Indicates that the logical link was active, but the\n  physical link has suffered a failure. If it recovers\n  within a timeout, the connection state will return to active,\n  otherwise it will move to down.\n",
        "enum": [
          "unknown",
          "down",
          "init",
          "armed",
          "active",
          "activeDefer"
        ]
      },
      "HostFirewallRuleDirection_enum": {
        "type": "string",
        "description": "Enumeration of port directions.\n\nPossible values:\n- `inbound`\n- `outbound`\n",
        "enum": [
          "inbound",
          "outbound"
        ]
      },
      "HostFirewallRuleDirection": {
        "type": "object",
        "description": "A boxed *HostFirewallRuleDirection_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostFirewallRuleDirection_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostFirewallRuleDirection": {
        "type": "object",
        "description": "A boxed array of *HostFirewallRuleDirection_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRuleDirection_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallRulePortType_enum": {
        "type": "string",
        "description": "Enumeration of port types.\n\nPossible values:\n- `src`\n- `dst`\n",
        "enum": [
          "src",
          "dst"
        ]
      },
      "HostFirewallRulePortType": {
        "type": "object",
        "description": "A boxed *HostFirewallRulePortType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostFirewallRulePortType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostFirewallRulePortType": {
        "type": "object",
        "description": "A boxed array of *HostFirewallRulePortType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostFirewallRulePortType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostFirewallRuleProtocol_enum": {
        "type": "string",
        "description": "Set of valid port protocols.\n\nPossible values:\n- `tcp`\n- `udp`\n",
        "enum": [
          "tcp",
          "udp"
        ]
      },
      "HostRuntimeInfoNetStackInstanceRuntimeInfoState_enum": {
        "type": "string",
        "description": "Define the instance state type\n\nPossible values:\n- `inactive`: The instance is deleted or not running\n- `active`: The instance is running\n- `deactivating`: The instance is in the progress of asynchronous deletion\n- `activating`: Reserved state for future proofing asynchronous creation\n",
        "enum": [
          "inactive",
          "active",
          "deactivating",
          "activating"
        ]
      },
      "HostRuntimeInfoStateEncryptionInfoProtectionMode_enum": {
        "type": "string",
        "description": "Valid protection modes for persistent state encryption.\n\nPossible values:\n- `none`: Encryption is not protected.\n- `tpm`: Encryption is TPM protected.\n  \n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "none",
          "tpm"
        ]
      },
      "HostRuntimeInfoStatelessNvdsMigrationState_enum": {
        "type": "string",
        "description": "Defines if the host is ready for NVDS to VDS migration.\n\nPossible values:\n- `ready`: The host is ready for NVDS to VDS migration.\n- `notNeeded`: The host does not need NVDS to VDS migration\n- `unknown`: The host is disconnected from VC.\n  \n***Since:*** vSphere API Release 7.0.2.0\n",
        "enum": [
          "ready",
          "notNeeded",
          "unknown"
        ]
      },
      "ScsiDiskType_enum": {
        "type": "string",
        "description": "The types of disk drives.\n\nPossible values:\n- `native512`: 512 native sector size drive.\n- `emulated512`: 4K sector size drive in 512 emulation mode.\n- `native4k`: 4K native sector size drive.\n- `SoftwareEmulated4k`: Software emulated 4k.\n- `unknown`: Unknown type.\n",
        "enum": [
          "native512",
          "emulated512",
          "native4k",
          "SoftwareEmulated4k",
          "unknown"
        ]
      },
      "ScsiLunDescriptorQuality_enum": {
        "type": "string",
        "description": "An indicator of the utility of Descriptor in being used as an\nidentifier that is stable, unique, and correlatable.\n\nPossible values:\n- `highQuality`: The Descriptor has an identifier that is useful for identification\n  and correlation across hosts.\n- `mediumQuality`: The Descriptor has an identifier that may be used for identification\n  and correlation across hosts.\n- `lowQuality`: The Descriptor has an identifier that should not be used for\n  identification and correlation across hosts.\n- `unknownQuality`: The Descriptor has an identifier that may or may not be useful for\n  identification and correlation across hosts.\n",
        "enum": [
          "highQuality",
          "mediumQuality",
          "lowQuality",
          "unknownQuality"
        ]
      },
      "DeviceProtocol_enum": {
        "type": "string",
        "description": "The list of Device Protocols.\n\nDevice protocol could be either NVMe or SCSI\n\nPossible values:\n- `NVMe`\n- `SCSI`\n\n***Since:*** vSphere API Release 8.0.1.0\n",
        "enum": [
          "NVMe",
          "SCSI"
        ]
      },
      "ScsiLunLunReservationStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `LUN_RESERVED_UNKNOWN`\n- `LUN_RESERVED_YES`\n- `LUN_RESERVED_NO`\n- `LUN_RESERVED_NOT_SUPPORTED`\n\n***Since:*** vSphere API Release 8.0.3.0\n",
        "enum": [
          "LUN_RESERVED_UNKNOWN",
          "LUN_RESERVED_YES",
          "LUN_RESERVED_NO",
          "LUN_RESERVED_NOT_SUPPORTED"
        ]
      },
      "ScsiLunType_enum": {
        "type": "string",
        "description": "The list of SCSI device types.\n\nThese values correspond to values\npublished in the SCSI specification.\n\nPossible values:\n- `disk`\n- `tape`\n- `printer`\n- `processor`\n- `worm`\n- `cdrom`\n- `scanner`\n- `opticalDevice`\n- `mediaChanger`\n- `communications`\n- `storageArrayController`\n- `enclosure`\n- `unknown`\n",
        "enum": [
          "disk",
          "tape",
          "printer",
          "processor",
          "worm",
          "cdrom",
          "scanner",
          "opticalDevice",
          "mediaChanger",
          "communications",
          "storageArrayController",
          "enclosure",
          "unknown"
        ]
      },
      "ScsiLunState_enum": {
        "type": "string",
        "description": "The Operational state of the LUN\n\nPossible values:\n- `unknownState`: The LUN state is unknown.\n- `ok`: The LUN is on and available.\n- `error`: The LUN is dead and/or not reachable.\n- `off`: The LUN is off.\n- `quiesced`: The LUN is inactive.\n- `degraded`: One or more paths to the LUN are down, but I/O\n  is still possible.\n  \n  Further path failures may\n  result in lost connectivity.\n- `lostCommunication`: No more paths are available to the LUN.\n- `timeout`: All Paths have been down for the timeout condition\n  determined by a user-configurable host advanced option.\n",
        "enum": [
          "unknownState",
          "ok",
          "error",
          "off",
          "quiesced",
          "degraded",
          "lostCommunication",
          "timeout"
        ]
      },
      "ScsiLunVStorageSupportStatus_enum": {
        "type": "string",
        "description": "Storage array hardware acceleration support status.\n\nWhen a host boots, the support status is unknown.\nAs a host attempts hardware-accelerated operations,\nit determines whether the storage device supports hardware acceleration\nand sets the *ScsiLun.vStorageSupport* property accordingly.\n\nPossible values:\n- `vStorageSupported`: Storage device supports hardware acceleration.\n  \n  The ESX host will use the feature to offload certain\n  storage-related operations to the device.\n- `vStorageUnsupported`: Storage device does not support hardware acceleration.\n  \n  The ESX host will handle all storage-related operations.\n- `vStorageUnknown`: Initial support status value.\n",
        "enum": [
          "vStorageSupported",
          "vStorageUnsupported",
          "vStorageUnknown"
        ]
      },
      "HostServicePolicy_enum": {
        "type": "string",
        "description": "Set of valid service policy strings.\n\nPossible values:\n- `on`: Service should be started when the host starts up.\n- `automatic`: Service should run if and only if it has open firewall ports.\n- `off`: Service should not be started when the host starts up.\n",
        "enum": [
          "on",
          "automatic",
          "off"
        ]
      },
      "HostSevInfoSevState_enum": {
        "type": "string",
        "description": "Possible values:\n- `uninitialized`\n- `initialized`\n- `working`\n\n***Since:*** vSphere API Release 7.0.1.0\n",
        "enum": [
          "uninitialized",
          "initialized",
          "working"
        ]
      },
      "HostSgxInfoFlcModes_enum": {
        "type": "string",
        "description": "Flexible Launch Enclave (FLC) modes.\n\nPossible values:\n- `off`: Flexible Launch Enclave (FLC) is not available on the host.\n  \n  The\n  \"launch enclave MSRs\" are initialized with Intel's public key hash.\n- `locked`: FLC is available and the \"launch Enclave MSRs\" are locked and\n  initialized with the provided public key hash.\n- `unlocked`: FLC is available and the \"launch enclave MSRs\" are writeable and\n  initialized with Intel's public key hash.\n",
        "enum": [
          "off",
          "locked",
          "unlocked"
        ]
      },
      "HostSgxInfoSgxStates_enum": {
        "type": "string",
        "description": "Host SGX states.\n\nPossible values:\n- `notPresent`: SGX is not present in the CPU.\n- `disabledBIOS`: SGX is disabled in the BIOS.\n- `disabledCFW101`: SGX is disabled because CPU erratum CFW101 is present.\n- `disabledCPUMismatch`: SGX is disabled due to a mismatch in the SGX capabilities\n  exposed by different CPUs.\n- `disabledNoFLC`: SGX is disabled because the CPU does not support FLC.\n- `disabledNUMAUnsup`: SGX is disabled because the host uses NUMA, which is not\n  supported with SGX.\n- `disabledMaxEPCRegs`: SGX is disabled because the host exceeds the maximum supported\n  number of EPC regions.\n- `enabled`: SGX is enabled.\n",
        "enum": [
          "notPresent",
          "disabledBIOS",
          "disabledCFW101",
          "disabledCPUMismatch",
          "disabledNoFLC",
          "disabledNUMAUnsup",
          "disabledMaxEPCRegs",
          "enabled"
        ]
      },
      "HostSgxRegistrationInfoRegistrationStatus_enum": {
        "type": "string",
        "description": "SGX registration status for ESX host.\n\nPossible values:\n- `notApplicable`: SGX is not available or the host is unisocket.\n- `incomplete`: SGX registration is incomplete.\n- `complete`: SGX registration is complete.\n  \n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "notApplicable",
          "incomplete",
          "complete"
        ]
      },
      "HostSgxRegistrationInfoRegistrationType_enum": {
        "type": "string",
        "description": "SGX host registration type.\n\nPossible values:\n- `manifest`: Indicates that an Initial Platform Establishment\n  or TCB recovery registration is pending.\n- `addPackage`: Indicates that new CPU package was added.\n  \n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "manifest",
          "addPackage"
        ]
      },
      "HostSnmpAgentCapability_enum": {
        "type": "string",
        "description": "SNMP Agent supported capabilities enum\n\nPossible values:\n- `COMPLETE`: Implements test notifications and allows agent configuration\n- `DIAGNOSTICS`: Implements only test notification capability only\n- `CONFIGURATION`: Allows for agent configuration only\n",
        "enum": [
          "COMPLETE",
          "DIAGNOSTICS",
          "CONFIGURATION"
        ]
      },
      "HostSnmpAgentCapability": {
        "type": "object",
        "description": "A boxed *HostSnmpAgentCapability_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostSnmpAgentCapability_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostSnmpAgentCapability": {
        "type": "object",
        "description": "A boxed array of *HostSnmpAgentCapability_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostSnmpAgentCapability_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "SoftwarePackageConstraint_enum": {
        "type": "string",
        "description": "These are the constraint relationships between software packages.\n\nPossible values:\n- `equals`\n- `lessThan`\n- `lessThanEqual`\n- `greaterThanEqual`\n- `greaterThan`\n",
        "enum": [
          "equals",
          "lessThan",
          "lessThanEqual",
          "greaterThanEqual",
          "greaterThan"
        ]
      },
      "SoftwarePackageVibType_enum": {
        "type": "string",
        "description": "Possible values:\n- `bootbank`: This package is installed into bootbank in storage.\n- `tools`: This package is installed into tools partition in storage.\n- `meta`: This package contains install related data without\n  content to install.\n",
        "enum": [
          "bootbank",
          "tools",
          "meta"
        ]
      },
      "HostStorageProtocol_enum": {
        "type": "string",
        "description": "The set of supported host bus adapter protocols.\n\nPossible values:\n- `scsi`: The Small Computer System Interface (SCSI) protocol.\n- `nvme`: The Non-Volatile Memory Express (NVME) protocol.\n",
        "enum": [
          "scsi",
          "nvme"
        ]
      },
      "HostSystemIdentificationInfoIdentifier_enum": {
        "type": "string",
        "description": "Possible values:\n- `AssetTag`: The Asset tag of the system\n- `ServiceTag`: The Service tag of the system\n- `OemSpecificString`: OEM specific string\n- `EnclosureSerialNumberTag`: The Enclosure Serial Number tag of the system\n- `SerialNumberTag`: The Serial Number tag of the system\n",
        "enum": [
          "AssetTag",
          "ServiceTag",
          "OemSpecificString",
          "EnclosureSerialNumberTag",
          "SerialNumberTag"
        ]
      },
      "HostTpmAttestationInfoAcceptanceStatus_enum": {
        "type": "string",
        "description": "Status constants of TPM attestation.\n\nPossible values:\n- `notAccepted`: TPM attestation failed.\n- `accepted`: TPM attestation succeeded.\n",
        "enum": [
          "notAccepted",
          "accepted"
        ]
      },
      "HostTpmAttestationInfoAcceptanceStatus": {
        "type": "object",
        "description": "A boxed *HostTpmAttestationInfoAcceptanceStatus_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/HostTpmAttestationInfoAcceptanceStatus_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfHostTpmAttestationInfoAcceptanceStatus": {
        "type": "object",
        "description": "A boxed array of *HostTpmAttestationInfoAcceptanceStatus_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostTpmAttestationInfoAcceptanceStatus_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "HostTrustAuthorityAttestationInfoAttestationStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `attested`: Attestation succeeded.\n- `notAttested`: Attestation failed.\n- `unknown`: Attestation status is unknown.\n  \n***Since:*** vSphere API Release 7.0.1.0\n",
        "enum": [
          "attested",
          "notAttested",
          "unknown"
        ]
      },
      "HostUnresolvedVmfsExtentUnresolvedReason_enum": {
        "type": "string",
        "description": "Reasons for identifying the disk extent\nas copy of VMFS volume extent.\n\nPossible values:\n- `diskIdMismatch`: The VMFS detected 'diskid' does not match with\n  LVM detected 'diskId'\n- `uuidConflict`: VMFS 'uuid' does not match\n",
        "enum": [
          "diskIdMismatch",
          "uuidConflict"
        ]
      },
      "HostUnresolvedVmfsResolutionSpecVmfsUuidResolution_enum": {
        "type": "string",
        "description": "Possible values:\n- `resignature`: Resignature the Unresolved VMFS volume.\n  \n  In the event the volume to be resignatured contains multiple\n  extents but only a single copy of each extent exists, only the\n  head extent needs to be specified.\n- `forceMount`: Keep the original Uuid of the VMFS volume and mount it\n  \n  In the event the volume to be force mounted contains multiple\n  extents but only a single copy of each extent exists, only the\n  head extent needs to be specified.\n",
        "enum": [
          "resignature",
          "forceMount"
        ]
      },
      "HostVirtualNicManagerNicType_enum": {
        "type": "string",
        "description": "Possible values:\n- `vmotion`: The VirtualNic is used for VMotion.\n- `faultToleranceLogging`: The VirtualNic is used for Fault Tolerance logging.\n- `vSphereReplication`: The VirtualNic is used for vSphere Replication LWD traffic\n  (i.e From the primary host to the VR server).\n- `vSphereReplicationNFC`: The VirtualNic is used for vSphere Replication NFC traffic (i.e.\n  \n  From\n  the VR server to the secondary host).\n- `management`: The VirtualNic is used for management network traffic .\n  \n  This nicType is available only when the system does not\n  support service console adapters.\n  \n  See also *HostNetCapabilities.usesServiceConsoleNic*.\n- `vsan`: The VirtualNic is used for Virtual SAN data traffic.\n  \n  To enable or disable a VirtualNic for VSAN networking,\n  use *HostVsanSystem.UpdateVsan_Task*.\n  \n  See also *HostVsanSystem*, *HostVsanSystem.UpdateVsan_Task*, *ComputeResource.ReconfigureComputeResource_Task*.\n- `vSphereProvisioning`: The VirtualNic is used for vSphere provisioning NFC traffic\n  (i.e.\n  \n  the NFC traffic between ESX hosts as a part of a VC initiated\n  provisioning operations like cold-migrations, clones, snapshot and\n  cold data in hot migration).\n- `vsanWitness`: The VirtualNic is used for Virtual SAN witness traffic.\n  \n  Witness traffic vmknic is required for Virtual SAN stretched cluster,\n  to help on communication between Virtual SAN data node and witness\n  node.\n  To enable or disable a VirtualNic for Virtual SAN networking,\n  use *HostVsanSystem.UpdateVsan_Task*.\n  \n  See also *HostVsanSystem*, *HostVsanSystem.UpdateVsan_Task*.\n- `vSphereBackupNFC`: The VirtualNic is used for vSphere backup NFC traffic\n  (i.e.\n  \n  the NFC traffic between backup appliance and ESX hosts).\n- `ptp`: The VirtualNic is used for Precision Time Protocol (PTP).\n- `nvmeTcp`: The VirtualNic is used for NVMe over TCP traffic.\n  \n  ***Since:*** vSphere API Release 7.0.3.0\n- `nvmeRdma`: The VirtualNic is used for NVMe over RDMA traffic.\n  \n  ***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "vmotion",
          "faultToleranceLogging",
          "vSphereReplication",
          "vSphereReplicationNFC",
          "management",
          "vsan",
          "vSphereProvisioning",
          "vsanWitness",
          "vSphereBackupNFC",
          "ptp",
          "nvmeTcp",
          "nvmeRdma"
        ]
      },
      "HostVmciAccessManagerMode_enum": {
        "type": "string",
        "description": "Set of possible values for mode field in AccessSpec.\n\nPossible values:\n- `grant`: Grant access to specified services in addition to existing services.\n- `replace`: Replace existing services with specified services.\n- `revoke`: Revoke the specified services.\n",
        "enum": [
          "grant",
          "replace",
          "revoke"
        ]
      },
      "HostVmfsVolumeUnmapBandwidthPolicy_enum": {
        "type": "string",
        "description": "VMFS unmap bandwidth policy.\n\nVMFS unmap reclaims unused storage space.\nThis specifies the bandwidth policy option of unmaps.\n\nPossible values:\n- `fixed`: Unmap bandwidth is a fixed value.\n- `dynamic`: Unmaps bandwidth is a dynamic value with lower and upper limits\n",
        "enum": [
          "fixed",
          "dynamic"
        ]
      },
      "HostVmfsVolumeUnmapPriority_enum": {
        "type": "string",
        "description": "VMFS unmap priority.\n\nVMFS unmap reclaims unused storage space.\nThis specifies the processing rate of unmaps.\n\nPossible values:\n- `none`: Unmap is disabled.\n- `low`: Unmaps are processed at low rate.\n",
        "enum": [
          "none",
          "low"
        ]
      },
      "NetIpConfigInfoIpAddressOrigin_enum": {
        "type": "string",
        "description": "This specifies how an IP address was obtained for a given interface.\n\nSee RFC 4293 IpAddressOriginTC.\n\nPossible values:\n- `other`: Any other type of address configuration other than the below\n  mentioned ones will fall under this category.\n  \n  For e.g., automatic\n  address configuration for the link local address falls under\n  this type.\n- `manual`: The address is configured manually.\n  \n  The term 'static' is a synonym.\n- `dhcp`: The address is configured through dhcp.\n- `linklayer`: The address is obtained through stateless autoconfiguration (autoconf).\n  \n  See RFC 4862, IPv6 Stateless Address Autoconfiguration.\n- `random`: The address is chosen by the system at random\n  e.g., an IPv4 address within 169.254/16, or an RFC 3041 privacy address.\n",
        "enum": [
          "other",
          "manual",
          "dhcp",
          "linklayer",
          "random"
        ]
      },
      "NetIpConfigInfoIpAddressStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `preferred`: Indicates that this is a valid address.\n- `deprecated`: Indicates that this is a valid but deprecated address\n  that should no longer be used as a source address.\n- `invalid`: Indicates that this isn't a valid.\n- `inaccessible`: Indicates that the address is not accessible because\n  interface is not operational.\n- `unknown`: Indicates that the status cannot be determined.\n- `tentative`: Indicates that the uniqueness of the\n  address on the link is presently being verified.\n- `duplicate`: Indicates the address has been determined to be non-unique\n  on the link, this address will not be reachable.\n",
        "enum": [
          "preferred",
          "deprecated",
          "invalid",
          "inaccessible",
          "unknown",
          "tentative",
          "duplicate"
        ]
      },
      "NetIpStackInfoEntryType_enum": {
        "type": "string",
        "description": "IP Stack keeps state on entries in IpNetToMedia table to perform\nphysical address lookups for IP addresses.\n\nHere are the standard\nstates per @see RFC 4293 ipNetToMediaType.\n\nPossible values:\n- `other`: This implementation is reporting something other than\n  what states are listed below.\n- `invalid`: The IP Stack has marked this entry as not useable.\n- `dynamic`: This entry has been learned using ARP or NDP.\n- `manual`: This entry was set manually.\n",
        "enum": [
          "other",
          "invalid",
          "dynamic",
          "manual"
        ]
      },
      "NetIpStackInfoPreference_enum": {
        "type": "string",
        "description": "The set of values used to determine ordering of default routers.\n\nSee RFC 4293 ipDefaultRouterPreference.\n\nPossible values:\n- `reserved`\n- `low`\n- `medium`\n- `high`\n",
        "enum": [
          "reserved",
          "low",
          "medium",
          "high"
        ]
      },
      "NetBIOSConfigInfoMode_enum": {
        "type": "string",
        "description": "NetBIOS configuration mode.\n\nPossible values:\n- `unknown`: Mode of NetBIOS is unknown.\n- `enabled`: NetBIOS is enabled.\n- `disabled`: NetBIOS is disabled.\n- `enabledViaDHCP`: DHCP server decides whether or not to use NetBIOS.\n",
        "enum": [
          "unknown",
          "enabled",
          "disabled",
          "enabledViaDHCP"
        ]
      },
      "ArrayUpdateOperation_enum": {
        "type": "string",
        "description": "This list specifies the type of operation being performed on the array.\n\nPossible values:\n- `add`: indicates an addition to the array.\n- `remove`: indicates the removal of an element in the\n  array.\n  \n  In this case the key field must contain the key of the element\n  to be removed.\n- `edit`: indicates changes to an element in the array.\n",
        "enum": [
          "add",
          "remove",
          "edit"
        ]
      },
      "ArrayUpdateOperation": {
        "type": "object",
        "description": "A boxed *ArrayUpdateOperation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/ArrayUpdateOperation_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfArrayUpdateOperation": {
        "type": "object",
        "description": "A boxed array of *ArrayUpdateOperation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArrayUpdateOperation_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ComplianceResultStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `compliant`: Entity is in Compliance\n- `nonCompliant`: Entity is out of Compliance\n- `unknown`: Compliance status of the entity is not known\n- `running`: Compliance check on this host is running.\n",
        "enum": [
          "compliant",
          "nonCompliant",
          "unknown",
          "running"
        ]
      },
      "ProfileNumericComparator_enum": {
        "type": "string",
        "description": "Enumerates different operations supported for comparing\nnumerical values.\n\nPossible values:\n- `lessThan`\n- `lessThanEqual`\n- `equal`\n- `notEqual`\n- `greaterThanEqual`\n- `greaterThan`\n",
        "enum": [
          "lessThan",
          "lessThanEqual",
          "equal",
          "notEqual",
          "greaterThanEqual",
          "greaterThan"
        ]
      },
      "ProfileNumericComparator": {
        "type": "object",
        "description": "A boxed *ProfileNumericComparator_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/ProfileNumericComparator_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfProfileNumericComparator": {
        "type": "object",
        "description": "A boxed array of *ProfileNumericComparator_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileNumericComparator_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ProfileParameterMetadataRelationType_enum": {
        "type": "string",
        "description": "The relation type to be supported.\n\nPossible values:\n- `dynamic_relation`: The relation to a subprofile or a parameter.\n- `extensible_relation`: The values from sources other than the parameter/profile or the static\n  value list are allowed.\n- `localizable_relation`: The value list contains localization keys instead of values.\n- `static_relation`: The relation is defined by static valid value list.\n- `validation_relation`: The relation is defined for validation purpose.\n",
        "enum": [
          "dynamic_relation",
          "extensible_relation",
          "localizable_relation",
          "static_relation",
          "validation_relation"
        ]
      },
      "ClusterProfileServiceType_enum": {
        "type": "string",
        "description": "Type of services for which Profile can be requested for\n\nPossible values:\n- `DRS`: Distributed Resource Scheduling\n- `HA`: High Availability\n- `DPM`: Distributed Power Management\n- `FT`: Fault tolerance\n",
        "enum": [
          "DRS",
          "HA",
          "DPM",
          "FT"
        ]
      },
      "ProfileExecuteResultStatus_enum": {
        "type": "string",
        "description": "Defines the result status values for a\n*HostProfile*.*HostProfile.ExecuteHostProfile*\noperation.\n\nThe result data is contained in the\n*ProfileExecuteResult* data object.\n\nPossible values:\n- `success`: Profile execution was successful.\n  \n  You can use the output configuration data\n  to apply the profile to a host.\n- `needInput`: Additional data is required to complete the operation.\n  \n  The data requirements are defined in the list of policy options for the profile\n  (*ApplyProfile*.*ApplyProfile.policy*\\[\\]).\n- `error`: Profile execution generated an error.\n  \n  See *ProfileExecuteResult*.*ProfileExecuteResult.error*.\n",
        "enum": [
          "success",
          "needInput",
          "error"
        ]
      },
      "HostProfileValidationFailureInfoUpdateType_enum": {
        "type": "string",
        "description": "Types of host profile update.\n\nPossible values:\n- `HostBased`: Update host profile from host.\n- `Import`: Import host profile.\n- `Edit`: Edit host profile.\n- `Compose`: Compose setting from host profile.\n",
        "enum": [
          "HostBased",
          "Import",
          "Edit",
          "Compose"
        ]
      },
      "HostProfileValidationState_enum": {
        "type": "string",
        "description": "This defines validation state values for host profile.\n\nPossible values:\n- `Ready`\n- `Running`\n- `Failed`\n",
        "enum": [
          "Ready",
          "Running",
          "Failed"
        ]
      },
      "HostProfileManagerAnswerFileStatus_enum": {
        "type": "string",
        "description": "The *HostProfileManagerAnswerFileStatus_enum* enum\ndefines possible values for answer file status.\n\nPossible values:\n- `valid`: Answer file is valid.\n- `invalid`: Answer file is not valid.\n  \n  The file is either missing or incomplete.\n  - To produce an answer file, pass host-specific data (user input) to the\n    *HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task*\n    method.\n  - To produce a complete answer file, call the\n    *HostProfile*.*HostProfile.ExecuteHostProfile*\n    method and fill in any missing parameters in the returned\n    *ProfileExecuteResult*.*ProfileExecuteResult.requireInput*\n    list. After you execute the profile successfully, you can pass the complete required\n    input list to the apply method.\n- `unknown`: Answer file status is not known.\n",
        "enum": [
          "valid",
          "invalid",
          "unknown"
        ]
      },
      "ApplyHostProfileConfigurationResultStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `success`: Remediation succeeded.\n- `failed`: Remediation failed.\n- `reboot_failed`: Remediation succeeded but reboot after remediation failed.\n  \n  May treat this as a warning.\n- `stateless_reboot_failed`: Stateless reboot for remediation failed.\n- `check_compliance_failed`: Remediation and reboot succeeded but check compliance after reboot\n  failed.\n  \n  May treat this as a warning.\n- `state_not_satisfied`: The required state is not satisfied so host profiel apply cannot\n  be done.\n- `exit_maintenancemode_failed`: Exit maintenance mode failed.\n- `canceled`: The remediation was canceled.\n",
        "enum": [
          "success",
          "failed",
          "reboot_failed",
          "stateless_reboot_failed",
          "check_compliance_failed",
          "state_not_satisfied",
          "exit_maintenancemode_failed",
          "canceled"
        ]
      },
      "HostProfileManagerCompositionResultResultElementStatus_enum": {
        "type": "string",
        "description": "The composition status class.\n\nPossible values:\n- `success`\n- `error`\n",
        "enum": [
          "success",
          "error"
        ]
      },
      "HostProfileManagerCompositionValidationResultResultElementStatus_enum": {
        "type": "string",
        "description": "The composition validation status class.\n\nPossible values:\n- `success`\n- `error`\n",
        "enum": [
          "success",
          "error"
        ]
      },
      "HostProfileManagerTaskListRequirement_enum": {
        "type": "string",
        "description": "The *HostProfileManagerTaskListRequirement_enum* enum\ndefines possible values for requirements when applying a *HostConfigSpec*\nobject returned as part of a <code>generateConfigTaskList</code>\noperation.\n\nPossible values:\n- `maintenanceModeRequired`: The ESXi host must be in maintenance mode before the task list can be\n  applied.\n- `rebootRequired`: The ESXi host must be rebooted after the task list is applied in order\n  for the new settings in the *HostConfigSpec* to take\n  effect on the host.\n",
        "enum": [
          "maintenanceModeRequired",
          "rebootRequired"
        ]
      },
      "AnswerFileValidationInfoStatus_enum": {
        "type": "string",
        "description": "Defines the result status values for a validating answer file.\n\nPossible values:\n- `success`: Answer File validation was successful.\n- `failed`: Answer File validation failed.\n- `failed_defaults`: Answer File validation failed to generate default.\n",
        "enum": [
          "success",
          "failed",
          "failed_defaults"
        ]
      },
      "DayOfWeek_enum": {
        "type": "string",
        "description": "Possible values:\n- `sunday`\n- `monday`\n- `tuesday`\n- `wednesday`\n- `thursday`\n- `friday`\n- `saturday`\n",
        "enum": [
          "sunday",
          "monday",
          "tuesday",
          "wednesday",
          "thursday",
          "friday",
          "saturday"
        ]
      },
      "DayOfWeek": {
        "type": "object",
        "description": "A boxed *DayOfWeek_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/DayOfWeek_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfDayOfWeek": {
        "type": "object",
        "description": "A boxed array of *DayOfWeek_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DayOfWeek_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "WeekOfMonth_enum": {
        "type": "string",
        "description": "Possible values:\n- `first`\n- `second`\n- `third`\n- `fourth`\n- `last`\n",
        "enum": [
          "first",
          "second",
          "third",
          "fourth",
          "last"
        ]
      },
      "WeekOfMonth": {
        "type": "object",
        "description": "A boxed *WeekOfMonth_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/WeekOfMonth_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfWeekOfMonth": {
        "type": "object",
        "description": "A boxed array of *WeekOfMonth_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeekOfMonth_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "PlacementAffinityRuleRuleScope_enum": {
        "type": "string",
        "description": "Rule scope determines conditions when an affinity rule is\nsatisfied.\n\nThe following uses affinity rule as example.\ncluster: All Vms in the rule list are placed in a single cluster.\nhost: All Vms in the rule list are placed in a single host.\nstoragePod: All Vms in the rule list are placed in a single storagePod.\ndatastore: All Vms in the rule list are placed in a single datastore.\n\nPossible values:\n- `cluster`: clusters are the scope\n- `host`: individual hosts are the scope\n- `storagePod`: datastore cluster is teh scope\n- `datastore`: individual datastores are the scope\n",
        "enum": [
          "cluster",
          "host",
          "storagePod",
          "datastore"
        ]
      },
      "PlacementAffinityRuleRuleType_enum": {
        "type": "string",
        "description": "Rule type determines how the affinity rule is to be enforced:\naffinity: Vms in the list are kept together within the rule\nscope.\n\nanti-affinity: Vms in the rule list are kept separate\nacross the objects in the rule scope.\nsoft rule: The enforcement is best effort.\n\nPossible values:\n- `affinity`: Affinity\n- `antiAffinity`: Anti-Affinity\n- `softAffinity`: Best-effort affinity\n- `softAntiAffinity`: Best-effort anti-affinity\n",
        "enum": [
          "affinity",
          "antiAffinity",
          "softAffinity",
          "softAntiAffinity"
        ]
      },
      "StorageDrsPodConfigInfoBehavior_enum": {
        "type": "string",
        "description": "Storage DRS behavior.\n\nPossible values:\n- `manual`: Specifies that VirtualCenter should generate recommendations for\n  virtual disk migration and for placement with a datastore,\n  but should not execute the recommendations automatically.\n- `automated`: Specifies that VirtualCenter should generate recommendations\n  for virtual disk migration and for placement with a\n  datastore.\n  \n  The recommendations for virtual disk migrations\n  will be executed automatically, but the placement\n  recommendations will be done manually.\n",
        "enum": [
          "manual",
          "automated"
        ]
      },
      "StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode_enum": {
        "type": "string",
        "description": "Defines the two ways a space utilization threshold can be specified.\n\nPossible values:\n- `utilization`: Default mode: threshold as a percentage of datastore capacity\n- `freeSpace`: Threshold as an absolute value of free space in GBs\n",
        "enum": [
          "utilization",
          "freeSpace"
        ]
      },
      "StoragePlacementSpecPlacementType_enum": {
        "type": "string",
        "description": "Defines the storage placement operation type.\n\nPossible values:\n- `create`: Create a VM.\n- `reconfigure`: Reconfigure a VM.\n- `relocate`: Relocate a VM.\n- `clone`: Clone a VM.\n",
        "enum": [
          "create",
          "reconfigure",
          "relocate",
          "clone"
        ]
      },
      "VirtualDiskRuleSpecRuleType_enum": {
        "type": "string",
        "description": "Rule type determines how the virtual disks in a vm can be grouped\ntogether.\n\nPossible values:\n- `affinity`: Virtual disks in the list are grouped together and placed on\n  the same data store.\n- `antiAffinity`: Virtual disks in the list are placed on different data stores.\n- `disabled`: SDRS will be disabled for the disks in the list.\n",
        "enum": [
          "affinity",
          "antiAffinity",
          "disabled"
        ]
      },
      "VAppCloneSpecProvisioningType_enum": {
        "type": "string",
        "description": "The cloned VMs can either be provisioned the same way as the VMs\nthey are a clone of, thin provisioned or thick provisioned, or\nlinked clones (i.e., using delta disks).\n\nPossible values:\n- `sameAsSource`: Each disk in the cloned virtual machines will have the same\n  type of disk as the source vApp.\n- `thin`: Each disk in the cloned virtual machines is allocated in full\n  size now and committed on demand.\n  \n  This is only supported on\n  VMFS-3 and newer datastores. Other types of datastores may\n  create thick disks.\n- `thick`: Each disk in the cloned virtual machines are allocated and\n  committed in full size immediately.\n",
        "enum": [
          "sameAsSource",
          "thin",
          "thick"
        ]
      },
      "VAppAutoStartAction_enum": {
        "type": "string",
        "description": "Possible values:\n- `none`: No action is taken for this virtual machine.\n  \n  This virtual machine is\n  not a part of the auto-start sequence. This can be used for both auto-start\n  and auto-start settings.\n- `powerOn`: This virtual machine is powered on when it is next in the auto-start order.\n- `powerOff`: This virtual machine is powered off when it is next in the auto-stop order.\n  \n  This is the default stopAction.\n- `guestShutdown`: The guest operating system for a virtual machine is shut down when that\n  virtual machine in next in the auto-stop order.\n- `suspend`: This virtual machine is suspended when it is next in the auto-stop order.\n",
        "enum": [
          "none",
          "powerOn",
          "powerOff",
          "guestShutdown",
          "suspend"
        ]
      },
      "VAppIPAssignmentInfoAllocationSchemes_enum": {
        "type": "string",
        "description": "IP allocation schemes supported by the guest.\n\nPossible values:\n- `dhcp`: The vApp supports DHCP to acquire IP configuration.\n- `ovfenv`: The vApp supports setting the IP configuration through the\n  properties provided in the OVF environment.\n",
        "enum": [
          "dhcp",
          "ovfenv"
        ]
      },
      "VAppIPAssignmentInfoIpAllocationPolicy_enum": {
        "type": "string",
        "description": "IP allocation policy for a deployment.\n\nPossible values:\n- `dhcpPolicy`: Specifies that DHCP must be used to allocate IP addresses to the vApp\n- `transientPolicy`: Specifies that IP allocation is done through the range managed by the\n  vSphere platform.\n  \n  The IP addresses are allocated when needed, typically at\n  power-on, and deallocated during power-off. There is no guarantee that a\n  vApp will get the same IP address when restarted.\n- `fixedPolicy`: Specifies that IP addresses are configured manually when the vApp is deployed\n  and will be kept until reconfigured or the vApp destroyed.\n  \n  This will ensure\n  that a vApp gets a consistent IP for its life-time.\n- `fixedAllocatedPolicy`: Specifies that IP allocation is done through the range managed by the VI\n  platform.\n  \n  The IP addresses are allocated at first power-on, and remain\n  allocated at power-off. This will ensure that a vApp gets a consistent\n  IP for its life-time.\n",
        "enum": [
          "dhcpPolicy",
          "transientPolicy",
          "fixedPolicy",
          "fixedAllocatedPolicy"
        ]
      },
      "VAppIPAssignmentInfoProtocols_enum": {
        "type": "string",
        "description": "IP protocols supported by the guest.\n\nPossible values:\n- `IPv4`: The vApp supports IPv4 protocol.\n- `IPv6`: The vApp supports IPv6 protocol.\n",
        "enum": [
          "IPv4",
          "IPv6"
        ]
      },
      "VchaState_enum": {
        "type": "string",
        "description": "Possible values:\n- `configured`: VCHA cluster is configured.\n- `notConfigured`: VCHA cluster is not configured.\n- `invalid`: VCHA cluster is in an invalid/dirty state.\n- `prepared`: VC appliance has been prepared for VCHA cluster configuration.\n",
        "enum": [
          "configured",
          "notConfigured",
          "invalid",
          "prepared"
        ]
      },
      "VchaClusterMode_enum": {
        "type": "string",
        "description": "VchaClusterMode enum defines the possible modes for a VCHA Cluster.\n\nPossible values:\n- `enabled`: VCHA Cluster is enabled.\n  \n  State replication between the Active and\n  Passive node is enabled and automatic failover is allowed.\n- `disabled`: VCHA Cluster is disabled.\n  \n  State replication between the Active and\n  Passive node is disabled and automatic failover is not allowed.\n- `maintenance`: VCHA Cluster is in maintenance mode.\n  \n  State replication between the\n  Active and Passive node is enabled but automatic failover\n  is not allowed.\n",
        "enum": [
          "enabled",
          "disabled",
          "maintenance"
        ]
      },
      "VchaClusterState_enum": {
        "type": "string",
        "description": "VchaClusterState enum defines the possible states for a VCHA Cluster.\n\nPossible values:\n- `healthy`: All three nodes in a VCHA Cluster are healthy and connected.\n  \n  State\n  replication between Active and Passive node is working and both\n  nodes are in sync.\n- `degraded`: A VCHA Cluster is said to be in a degraded state for\n  either or all of the following reasons:\n  \\- There is a node loss.\n  \n  \\- State replication between the Active and Passive node fails.\n- `isolated`: All three nodes are isolated from each other.\n",
        "enum": [
          "healthy",
          "degraded",
          "isolated"
        ]
      },
      "VchaNodeRole_enum": {
        "type": "string",
        "description": "Possible values:\n- `active`: Node is having a role of Active.\n  \n  In this role, node runs a vCenter\n  Server that serves client requests.\n- `passive`: Node is having a role of Passive.\n  \n  In this role node, runs as a standby\n  for the Active vCenter Server and receives state updates. This node\n  takes over the role of Active vCenter Server upon failover.\n- `witness`: Node is having a role of Witness.\n  \n  In this role, node acts as a quorom\n  node for avoiding the classic split-brain problem.\n",
        "enum": [
          "active",
          "passive",
          "witness"
        ]
      },
      "VchaNodeState_enum": {
        "type": "string",
        "description": "VchaNodeState enum defines possible state a node can be in a\nVCHA Cluster.\n\nPossible values:\n- `up`: Node is up and has joined the VCHA Cluster.\n- `down`: Node is down and has left the VCHA Cluster.\n",
        "enum": [
          "up",
          "down"
        ]
      },
      "VirtualMachineBootOptionsNetworkBootProtocolType_enum": {
        "type": "string",
        "description": "Possible values:\n- `ipv4`: PXE (or Apple NetBoot) over IPv4.\n  \n  The default.\n- `ipv6`: PXE over IPv6.\n  \n  Only meaningful for EFI virtual machines.\n",
        "enum": [
          "ipv4",
          "ipv6"
        ]
      },
      "VirtualMachineCertThumbprintHashAlgorithm_enum": {
        "type": "string",
        "description": "Set of supported hash algorithms for thumbprints.\n\nPossible values:\n- `sha256`: SHA256\n  \n***Since:*** vSphere API Release 7.0.3.1\n",
        "enum": [
          "sha256"
        ]
      },
      "VirtualMachineCloneSpecTpmProvisionPolicy_enum": {
        "type": "string",
        "description": "TPM provisioning policies used when cloning a VM with a virtual TPM\ndevice.\n\nPossible values:\n- `copy`: The virtual TPM is copied.\n  \n  The virtual machine clone will have access\n  to the original virtual machine's TPM secrets.\n- `replace`: The virtual TPM is replaced with a new one.\n  \n  The virtual machine clone\n  will not have access to the original virtual machine's TPM secrets.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "copy",
          "replace"
        ]
      },
      "VirtualMachineCloneSpecTpmProvisionPolicy": {
        "type": "object",
        "description": "A boxed *VirtualMachineCloneSpecTpmProvisionPolicy_enum*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachineCloneSpecTpmProvisionPolicy_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachineCloneSpecTpmProvisionPolicy": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineCloneSpecTpmProvisionPolicy_enum*. To be used in *Any* placeholders.\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineCloneSpecTpmProvisionPolicy_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConfigInfoNpivWwnType_enum": {
        "type": "string",
        "description": "The NPIV WWN source type.\n\nPossible values:\n- `vc`: This set of WWNs is generated by VC server.\n- `host`: This set of WWNs is generated by Host Agent.\n- `external`: This set of WWNs is provided by the client.\n",
        "enum": [
          "vc",
          "host",
          "external"
        ]
      },
      "VirtualMachineConfigInfoNpivWwnType": {
        "type": "object",
        "description": "A boxed *VirtualMachineConfigInfoNpivWwnType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachineConfigInfoNpivWwnType_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachineConfigInfoNpivWwnType": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineConfigInfoNpivWwnType_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineConfigInfoNpivWwnType_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineConfigInfoSwapPlacementType_enum": {
        "type": "string",
        "description": "Available choices for virtual machine swapfile placement policy.\n\nThis is\nthe set of legal values for the virtual machine configuration's\n*swapPlacement* property. All\nvalues except for \"inherit\" and \"vmConfigured\" are also valid values for\na compute resource configuration's\n*vmSwapPlacement*\nproperty.\n\nPossible values:\n- `inherit`: Honor the virtual machine swapfile placement policy of the compute\n  resource that contains this virtual machine.\n- `vmDirectory`: Store the swapfile in the same directory as the virtual machine.\n- `hostLocal`: Store the swapfile in the datastore specified by the\n  *localSwapDatastore*\n  property of the virtual machine's host, if that property is set and\n  indicates a datastore with sufficient free space.\n  \n  Otherwise store the\n  swapfile in the same directory as the virtual machine.\n  \n  Note: This setting may degrade VMotion performance.\n",
        "enum": [
          "inherit",
          "vmDirectory",
          "hostLocal"
        ]
      },
      "VirtualMachineConfigSpecEncryptedFtModes_enum": {
        "type": "string",
        "description": "The set of valid encrypted Fault Tolerance modes for a VM.\n\nIf the VM is encrypted, its encrypted Fault Tolerance mode\nwill be required.\n\nPossible values:\n- `ftEncryptionDisabled`: Do not use encrypted Fault Tolerance, even if available.\n- `ftEncryptionOpportunistic`: Use encrypted Fault Tolerance if source and destination hosts\n  support it, fall back to unencrypted Fault Tolerance otherwise.\n  \n  This is the default option.\n- `ftEncryptionRequired`: Allow only encrypted Fault Tolerance.\n  \n  If either the source or\n  destination host does not support encrypted Fault Tolerance,\n  do not allow the Fault Tolerance to occur.\n\n***Since:*** vSphere API Release 7.0.2.0\n",
        "enum": [
          "ftEncryptionDisabled",
          "ftEncryptionOpportunistic",
          "ftEncryptionRequired"
        ]
      },
      "VirtualMachineConfigSpecEncryptedVMotionModes_enum": {
        "type": "string",
        "description": "The set of valid encrypted vMotion modes for a VM.\n\nIf the VM is encrypted, its encrypted vMotion mode will be required.\n\nPossible values:\n- `disabled`: Do not use encrypted vMotion, even if available.\n- `opportunistic`: Use encrypted vMotion if source and destination hosts support it,\n  fall back to unencrypted vMotion otherwise.\n  \n  This is the default option.\n- `required`: Allow only encrypted vMotion.\n  \n  If the source or destination host does\n  not support vMotion encryption, do not allow the vMotion to occur.\n",
        "enum": [
          "disabled",
          "opportunistic",
          "required"
        ]
      },
      "VirtualMachineConfigSpecNpivWwnOp_enum": {
        "type": "string",
        "description": "The root WWN operation mode.\n\nPossible values:\n- `generate`: Generate a new set of WWNs and assign it to the virtual machine.\n- `set`: Take a client-specified set of WWNs (specified in \"wwn\" property) and\n  assign them to the virtual machine.\n  \n  If the new WWN quntity are more\n  than existing then we will append them to the existing list of WWNs.\n- `remove`: Remove the currently assigned WWNs from the virtual machine.\n- `extend`: Generate a new set of WWNs and append them to the existing list\n",
        "enum": [
          "generate",
          "set",
          "remove",
          "extend"
        ]
      },
      "VirtualMachinePowerOpType_enum": {
        "type": "string",
        "description": "The list of possible default power operations available for the virtual machine\n\nPossible values:\n- `soft`\n- `hard`\n- `preset`\n",
        "enum": [
          "soft",
          "hard",
          "preset"
        ]
      },
      "VirtualMachineStandbyActionType_enum": {
        "type": "string",
        "description": "The list of possible standby actions that the virtual machine can take\nfor S1 ACPI.\n\nPossible values:\n- `checkpoint`\n- `powerOnSuspend`\n",
        "enum": [
          "checkpoint",
          "powerOnSuspend"
        ]
      },
      "VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum": {
        "type": "string",
        "description": "Possible values:\n- `vmNptIncompatibleHost`: The virtual machine's host does not support VMDirectPath Gen 2.\n  \n  See also *HostCapability.vmDirectPathGen2Supported*.\n- `vmNptIncompatibleNetwork`: The configuration or state of the attached network prevents\n  VMDirectPath Gen 2.\n  \n  Refer to\n  *vmDirectPathGen2InactiveReasonNetwork*\n  and/or\n  *vmDirectPathGen2InactiveReasonExtended*\n  in the RuntimeInfo of the DistributedVirtualPort connected to this\n  device.\n",
        "enum": [
          "vmNptIncompatibleHost",
          "vmNptIncompatibleNetwork"
        ]
      },
      "VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum": {
        "type": "string",
        "description": "Possible values:\n- `vmNptIncompatibleGuest`: The virtual machine's guest OS does not support\n  VMDirectPath Gen 2.\n- `vmNptIncompatibleGuestDriver`: The virtual machine's guest network driver does not support\n  VMDirectPath Gen 2.\n- `vmNptIncompatibleAdapterType`: The device type does not support VMDirectPath Gen 2.\n  \n  See also *VirtualEthernetCardOption.vmDirectPathGen2Supported*.\n- `vmNptDisabledOrDisconnectedAdapter`: The virtual machine's network adapter is disabled or\n  disconnected, and thus is not participating in VMDirectPath Gen 2.\n- `vmNptIncompatibleAdapterFeatures`: The virtual machine's network adapter has features enabled\n  which preclude it participating in VMDirectPath Gen 2 such\n  as INT-x or PXE booting.\n- `vmNptIncompatibleBackingType`: The device backing is not a DistributedVirtualPortBacking.\n- `vmNptInsufficientMemoryReservation`: The virtual machine does not have full memory reservation\n  required to activate VMDirectPath Gen 2.\n- `vmNptFaultToleranceOrRecordReplayConfigured`: \n  \n  Deprecated as of vSphere API 6.0.\n  \n  The virtual machine is configured for Fault Tolerance or\n  Record &amp; Replay, which prevents VMDirectPath Gen 2.\n- `vmNptConflictingIOChainConfigured`: Some networking feature has placed a conflicting IOChain on\n  the network adapter, which prevents VMDirectPath Gen 2.\n  \n  Examples\n  include DVFilter.\n- `vmNptMonitorBlocks`: The virtual machine monitor is exercising functionality which\n  which prevents VMDirectPath Gen 2.\n- `vmNptConflictingOperationInProgress`: VMDirectPath Gen 2 is temporarily suspended while the virtual\n  machine executes an operation such as suspend.\n- `vmNptRuntimeError`: VMDirectPath Gen 2 is unavailable due to an unforeseen runtime error\n  in the virtualization platform (typically resource constraints.)\n- `vmNptOutOfIntrVector`: VMDirectPath Gen 2 is unavailable due to host run out of intr\n  vector in host.\n  \n  Guest can configure the vNIC to use less rx/tx\n  queues or use MSI instead of MSIX.\n- `vmNptVMCIActive`: VMDirectPath Gen 2 is unavailable due to Incompatibe feature\n  VMCI is active in the current VM.\n  \n  Kill the relevant VMCI\n  application(s) and restart the VM will allow the vNIC(s) to enter\n  passthrough mode.\n",
        "enum": [
          "vmNptIncompatibleGuest",
          "vmNptIncompatibleGuestDriver",
          "vmNptIncompatibleAdapterType",
          "vmNptDisabledOrDisconnectedAdapter",
          "vmNptIncompatibleAdapterFeatures",
          "vmNptIncompatibleBackingType",
          "vmNptInsufficientMemoryReservation",
          "vmNptFaultToleranceOrRecordReplayConfigured",
          "vmNptConflictingIOChainConfigured",
          "vmNptMonitorBlocks",
          "vmNptConflictingOperationInProgress",
          "vmNptRuntimeError",
          "vmNptOutOfIntrVector",
          "vmNptVMCIActive"
        ]
      },
      "VirtualMachineFileLayoutExFileType_enum": {
        "type": "string",
        "description": "File-type constants.\n\nPossible values:\n- `config`: Config (vmx) file.\n- `extendedConfig`: Extended config (vmxf) file.\n- `diskDescriptor`: Disk descriptor (vmdk) file.\n- `diskExtent`: Disk extent (-flat/-delta/-s/-rdm/-rdmp.vmdk) file.\n- `digestDescriptor`: Disk digest descriptor file.\n- `digestExtent`: Disk digest extent file.\n- `diskReplicationState`: Host based replicated disk persistent state (psf) file.\n- `log`: Log (log) file.\n- `stat`: Virtual machine statistics (stat) file.\n- `namespaceData`: Namespace data file.\n- `dataSetsDiskModeStore`: DataSets disk mode store (dsd) file.\n  \n  ***Since:*** vSphere API Release 8.0.0.0\n- `dataSetsVmModeStore`: DataSets vm mode store (dsv) file.\n  \n  ***Since:*** vSphere API Release 8.0.0.0\n- `nvram`: Non-volatile RAM (nvram) file.\n- `snapshotData`: Snapshot data (vmsn) file.\n- `snapshotMemory`: Snapshot memory (vmem) file.\n- `snapshotList`: Snapshot metadata (vmsd) file.\n- `snapshotManifestList`: Snapshot manifest metadata (-aux.xml) file.\n  \n  This file is still being created but is no longer necessary since\n  the manifest metadata is now available in the snapshot metadata\n  (vmsd) file in vSphere 5.0. This type will be deprecated when\n  vSphere 4.1 is no longer supported.\n- `suspend`: Suspend (vmss) file.\n- `suspendMemory`: Suspend (vmem) file.\n- `swap`: Swap (vswp) file.\n- `uwswap`: File generated by VMware ESX kernel for a running virtual\n  machine.\n- `core`: Core (core) file.\n- `screenshot`: Screenshot file.\n- `ftMetadata`: Fault Tolerance metadata file.\n- `guestCustomization`: Guest image customization file.\n",
        "enum": [
          "config",
          "extendedConfig",
          "diskDescriptor",
          "diskExtent",
          "digestDescriptor",
          "digestExtent",
          "diskReplicationState",
          "log",
          "stat",
          "namespaceData",
          "dataSetsDiskModeStore",
          "dataSetsVmModeStore",
          "nvram",
          "snapshotData",
          "snapshotMemory",
          "snapshotList",
          "snapshotManifestList",
          "suspend",
          "suspendMemory",
          "swap",
          "uwswap",
          "core",
          "screenshot",
          "ftMetadata",
          "guestCustomization"
        ]
      },
      "VirtualMachineHtSharing_enum": {
        "type": "string",
        "description": "Deprecated as of vSphere API 6.7.\n\nSet of possible values for *VirtualMachineFlagInfo.htSharing*.\n\nPossible values:\n- `any`: VCPUs may freely share cores at any time with any other\n  VCPUs (default for all virtual machines on a hyperthreaded\n  system).\n- `none`: VCPUs should not share cores with each other or with VCPUs\n  from other virtual machines.\n  \n  That is, each VCPU from this\n  virtual machine should always get a whole core to itself,\n  with the other logical CPU on that core being placed into\n  the \"halted\" state.\n- `internal`: Similar to \"none\", in that VCPUs from this virtual machine\n  will not be allowed to share cores with VCPUs from other\n  virtual machines.\n  \n  However, other VCPUs from the same virtual\n  machine will be allowed to share cores together. This\n  configuration option is only permitted for SMP virtual\n  machines. If applied to a uniprocessor virtual machine, it\n  will be converted to the \"none\" sharing option.\n",
        "enum": [
          "any",
          "none",
          "internal"
        ]
      },
      "VirtualMachineFlagInfoMonitorType_enum": {
        "type": "string",
        "description": "Set of possible values for *VirtualMachineFlagInfo.monitorType*.\n\nPossible values:\n- `release`: Run vmx in default mode, matching the build type of vmkernel.\n- `debug`: Run vmx in debug mode.\n- `stats`: Run vmx in stats mode.\n",
        "enum": [
          "release",
          "debug",
          "stats"
        ]
      },
      "VirtualMachinePowerOffBehavior_enum": {
        "type": "string",
        "description": "Set of possible values for *VirtualMachineFlagInfo.snapshotPowerOffBehavior*.\n\nPossible values:\n- `powerOff`: Just power off the virtual machine.\n- `revert`: Revert to the snapshot.\n- `prompt`: Prompt the user for instructions at power-off time.\n- `take`: Take a new snapshot.\n",
        "enum": [
          "powerOff",
          "revert",
          "prompt",
          "take"
        ]
      },
      "VirtualMachineFlagInfoVirtualExecUsage_enum": {
        "type": "string",
        "description": "Set of possible values for *VirtualMachineFlagInfo.virtualExecUsage*.\n\nPossible values:\n- `hvAuto`: Determine automatically whether to use hardware virtualization (HV) support.\n- `hvOn`: Use hardware virtualization (HV) support if the physical hardware supports it.\n- `hvOff`: Do not use hardware virtualization (HV) support.\n",
        "enum": [
          "hvAuto",
          "hvOn",
          "hvOff"
        ]
      },
      "VirtualMachineFlagInfoVirtualMmuUsage_enum": {
        "type": "string",
        "description": "Set of possible values for *VirtualMachineFlagInfo.virtualMmuUsage*.\n\nPossible values:\n- `automatic`: Determine automatically whether to use nested page table hardware support.\n- `on`: Use nested paging hardware support if the physical hardware supports it.\n- `off`: Do not use nested page table hardware support.\n",
        "enum": [
          "automatic",
          "on",
          "off"
        ]
      },
      "VirtualMachineForkConfigInfoChildType_enum": {
        "type": "string",
        "description": "Fork child type.\n\nA child could be type of none, persistent, or\nnonpersistent.\n\nPossible values:\n- `none`: The virtual machine is not a child.\n- `persistent`: The virtual machine is a persistent child.\n- `nonpersistent`: The virtual machine is a non-persistent child.\n",
        "enum": [
          "none",
          "persistent",
          "nonpersistent"
        ]
      },
      "GuestInfoAppStateType_enum": {
        "type": "string",
        "description": "Application state type.\n\nPossible values:\n- `none`: The application state wasn't set from the guest by the application agent.\n  \n  This is the default.\n- `appStateOk`: The guest's application agent declared its state as normal and doesn't\n  require any action\n- `appStateNeedReset`: Guest's application agent asks for immediate reset\n",
        "enum": [
          "none",
          "appStateOk",
          "appStateNeedReset"
        ]
      },
      "GuestInfoCustomizationStatus_enum": {
        "type": "string",
        "description": "Guest customization status\n\nPossible values:\n- `TOOLSDEPLOYPKG_IDLE`: No guest customizationSpec has been applied for the VM\n- `TOOLSDEPLOYPKG_PENDING`: The guest customizationSpec has been applied for the VM,\n  but the customization process has not yet started inside the guest OS\n- `TOOLSDEPLOYPKG_RUNNING`: The customization process is currently running inside the guest OS\n- `TOOLSDEPLOYPKG_SUCCEEDED`: The customization process has completed successfully inside the\n  guest OS\n- `TOOLSDEPLOYPKG_FAILED`: The customizatio process has failed inside the guest OS\n  \n***Since:*** vSphere API Release 7.0.2.0\n",
        "enum": [
          "TOOLSDEPLOYPKG_IDLE",
          "TOOLSDEPLOYPKG_PENDING",
          "TOOLSDEPLOYPKG_RUNNING",
          "TOOLSDEPLOYPKG_SUCCEEDED",
          "TOOLSDEPLOYPKG_FAILED"
        ]
      },
      "VirtualMachineGuestState_enum": {
        "type": "string",
        "description": "The possible hints that the guest could display about current tasks\ninside the guest.\n\nPossible values:\n- `running`\n- `shuttingDown`\n- `resetting`\n- `standby`\n- `notRunning`\n- `unknown`\n",
        "enum": [
          "running",
          "shuttingDown",
          "resetting",
          "standby",
          "notRunning",
          "unknown"
        ]
      },
      "VirtualMachineToolsInstallType_enum": {
        "type": "string",
        "description": "The installation type of tools in the VM.\n\nPossible values:\n- `guestToolsTypeUnknown`: Installation type is not known.\n  \n  Most likely tools have been\n  installed by OSPs or open-vm-tools, but a version that does\n  not report its install type or an install type that we do\n  not recognize.\n- `guestToolsTypeMSI`: MSI is the installation type used for VMware Tools on Windows.\n- `guestToolsTypeTar`: Tools have been installed by the tar installer.\n- `guestToolsTypeOSP`: OSPs are RPM or Debian packages tailored for the OS in the VM.\n  \n  See http://packages.vmware.com\n- `guestToolsTypeOpenVMTools`: open-vm-tools are the open-source version of VMware Tools, may have\n  been packaged by the OS vendor.\n",
        "enum": [
          "guestToolsTypeUnknown",
          "guestToolsTypeMSI",
          "guestToolsTypeTar",
          "guestToolsTypeOSP",
          "guestToolsTypeOpenVMTools"
        ]
      },
      "VirtualMachineToolsRunningStatus_enum": {
        "type": "string",
        "description": "Current running status of VMware Tools running in the guest\noperating system.\n\nPossible values:\n- `guestToolsNotRunning`: VMware Tools is not running.\n- `guestToolsRunning`: VMware Tools is running.\n- `guestToolsExecutingScripts`: VMware Tools is starting.\n",
        "enum": [
          "guestToolsNotRunning",
          "guestToolsRunning",
          "guestToolsExecutingScripts"
        ]
      },
      "VirtualMachineToolsStatus_enum": {
        "type": "string",
        "description": "Deprecated as of vSphere API 4.0 use *VirtualMachineToolsVersionStatus_enum*\nand *VirtualMachineToolsRunningStatus_enum*.\n\nCurrent status of VMware Tools running in the guest operating system.\n\nPossible values:\n- `toolsNotInstalled`: VMware Tools has never been installed\n  or has not run in the virtual machine.\n- `toolsNotRunning`: VMware Tools is not running.\n- `toolsOld`: VMware Tools is running, but the version is not current.\n- `toolsOk`: VMware Tools is running and the version is current.\n",
        "enum": [
          "toolsNotInstalled",
          "toolsNotRunning",
          "toolsOld",
          "toolsOk"
        ]
      },
      "VirtualMachineToolsStatus": {
        "type": "object",
        "description": "A boxed *VirtualMachineToolsStatus_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachineToolsStatus_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachineToolsStatus": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineToolsStatus_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineToolsStatus_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineToolsVersionStatus_enum": {
        "type": "string",
        "description": "Current version status of VMware Tools installed in the guest operating\nsystem.\n\nPossible values:\n- `guestToolsNotInstalled`: VMware Tools has never been installed.\n- `guestToolsNeedUpgrade`: \n  \n  Deprecated as of vSphere API 5.1 value is not reported by\n  toolsVersionStatus2, instead more detailed status is reported.\n  \n  VMware Tools is installed, but the version is not current.\n- `guestToolsCurrent`: VMware Tools is installed, and the version is current.\n- `guestToolsUnmanaged`: VMware Tools is installed, but it is not managed by VMWare.\n- `guestToolsTooOld`: VMware Tools is installed, but the version is too old.\n- `guestToolsSupportedOld`: VMware Tools is installed, supported, but a newer version is available.\n- `guestToolsSupportedNew`: VMware Tools is installed, supported, and newer\n  than the version available on the host.\n- `guestToolsTooNew`: VMware Tools is installed, and the version is known to be\n  too new to work correctly with this virtual machine.\n- `guestToolsBlacklisted`: VMware Tools is installed, but the installed version is\n  known to have a grave bug and should be immediately upgraded.\n",
        "enum": [
          "guestToolsNotInstalled",
          "guestToolsNeedUpgrade",
          "guestToolsCurrent",
          "guestToolsUnmanaged",
          "guestToolsTooOld",
          "guestToolsSupportedOld",
          "guestToolsSupportedNew",
          "guestToolsTooNew",
          "guestToolsBlacklisted"
        ]
      },
      "GuestOsDescriptorFirmwareType_enum": {
        "type": "string",
        "description": "Firmware types\n\nPossible values:\n- `bios`: BIOS firmware\n- `efi`: Extensible Firmware Interface\n",
        "enum": [
          "bios",
          "efi"
        ]
      },
      "VirtualMachineGuestOsFamily_enum": {
        "type": "string",
        "description": "Guest operating system family constants.\n\nPossible values:\n- `windowsGuest`: Windows operating system\n- `linuxGuest`: Linux operating system\n- `netwareGuest`: Novell Netware\n- `solarisGuest`: Solaris operating system\n- `darwinGuestFamily`: Mac OS operating system\n- `otherGuestFamily`: Other operating systems\n",
        "enum": [
          "windowsGuest",
          "linuxGuest",
          "netwareGuest",
          "solarisGuest",
          "darwinGuestFamily",
          "otherGuestFamily"
        ]
      },
      "VirtualMachineGuestOsIdentifier_enum": {
        "type": "string",
        "description": "Guest operating system identifier.\n\nPossible values:\n- `dosGuest`: MS-DOS.\n- `win31Guest`: Windows 3.1\n- `win95Guest`: Windows 95\n- `win98Guest`: Windows 98\n- `winMeGuest`: Windows Millennium Edition\n- `winNTGuest`: Windows NT 4\n- `win2000ProGuest`: Windows 2000 Professional\n- `win2000ServGuest`: Windows 2000 Server\n- `win2000AdvServGuest`: Windows 2000 Advanced Server\n- `winXPHomeGuest`: Windows XP Home Edition\n- `winXPProGuest`: Windows XP Professional\n- `winXPPro64Guest`: Windows XP Professional Edition (64 bit)\n- `winNetWebGuest`: Windows Server 2003, Web Edition\n- `winNetStandardGuest`: Windows Server 2003, Standard Edition\n- `winNetEnterpriseGuest`: Windows Server 2003, Enterprise Edition\n- `winNetDatacenterGuest`: Windows Server 2003, Datacenter Edition\n- `winNetBusinessGuest`: Windows Small Business Server 2003\n- `winNetStandard64Guest`: Windows Server 2003, Standard Edition (64 bit)\n- `winNetEnterprise64Guest`: Windows Server 2003, Enterprise Edition (64 bit)\n- `winLonghornGuest`: Windows Longhorn\n- `winLonghorn64Guest`: Windows Longhorn (64 bit)\n- `winNetDatacenter64Guest`: Windows Server 2003, Datacenter Edition (64 bit)\n- `winVistaGuest`: Windows Vista\n- `winVista64Guest`: Windows Vista (64 bit)\n- `windows7Guest`: Windows 7\n- `windows7_64Guest`: Windows 7 (64 bit)\n- `windows7Server64Guest`: Windows Server 2008 R2 (64 bit)\n- `windows8Guest`: Windows 8\n- `windows8_64Guest`: Windows 8 (64 bit)\n- `windows8Server64Guest`: Windows 8 Server (64 bit)\n- `windows9Guest`: Windows 10\n- `windows9_64Guest`: Windows 10 (64 bit)\n- `windows9Server64Guest`: Windows 10 Server (64 bit)\n- `windows11_64Guest`: Windows 11\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `windows12_64Guest`: Windows 12\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `windowsHyperVGuest`: Windows Hyper-V\n- `windows2019srv_64Guest`: Windows Server 2019\n- `windows2019srvNext_64Guest`: Windows Server 2022\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `windows2022srvNext_64Guest`: Windows Server 2025\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `freebsdGuest`: FreeBSD\n- `freebsd64Guest`: FreeBSD x64\n- `freebsd11Guest`: FreeBSD 11\n- `freebsd11_64Guest`: FreeBSD 11 x64\n- `freebsd12Guest`: FreeBSD 12\n- `freebsd12_64Guest`: FreeBSD 12 x64\n- `freebsd13Guest`: FreeBSD 13\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `freebsd13_64Guest`: FreeBSD 13 x64\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `freebsd14Guest`: FreeBSD 14\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `freebsd14_64Guest`: FreeBSD 14 x64\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `redhatGuest`: Red Hat Linux 2.1\n- `rhel2Guest`: Red Hat Enterprise Linux 2\n- `rhel3Guest`: Red Hat Enterprise Linux 3\n- `rhel3_64Guest`: Red Hat Enterprise Linux 3 (64 bit)\n- `rhel4Guest`: Red Hat Enterprise Linux 4\n- `rhel4_64Guest`: Red Hat Enterprise Linux 4 (64 bit)\n- `rhel5Guest`: Red Hat Enterprise Linux 5\n- `rhel5_64Guest`: Red Hat Enterprise Linux 5 (64 bit)\n- `rhel6Guest`: Red Hat Enterprise Linux 6\n- `rhel6_64Guest`: Red Hat Enterprise Linux 6 (64 bit)\n- `rhel7Guest`: Red Hat Enterprise Linux 7\n- `rhel7_64Guest`: Red Hat Enterprise Linux 7 (64 bit)\n- `rhel8_64Guest`: Red Hat Enterprise Linux 8 (64 bit)\n- `rhel9_64Guest`: Red Hat Enterprise Linux 9 (64 bit)\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `centosGuest`: CentOS 4/5\n- `centos64Guest`: CentOS 4/5 (64-bit)\n- `centos6Guest`: CentOS 6\n- `centos6_64Guest`: CentOS 6 (64-bit)\n- `centos7Guest`: CentOS 7\n- `centos7_64Guest`: CentOS 7 (64-bit)\n- `centos8_64Guest`: CentOS 8 (64-bit)\n- `centos9_64Guest`: CentOS 9 (64-bit)\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `oracleLinuxGuest`: Oracle Linux 4/5\n- `oracleLinux64Guest`: Oracle Linux 4/5 (64-bit)\n- `oracleLinux6Guest`: Oracle 6\n- `oracleLinux6_64Guest`: Oracle 6 (64-bit)\n- `oracleLinux7Guest`: Oracle 7\n- `oracleLinux7_64Guest`: Oracle 7 (64-bit)\n- `oracleLinux8_64Guest`: Oracle 8 (64-bit)\n- `oracleLinux9_64Guest`: Oracle 9 (64-bit)\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `suseGuest`: Suse Linux\n- `suse64Guest`: Suse Linux (64 bit)\n- `slesGuest`: Suse Linux Enterprise Server 9\n- `sles64Guest`: Suse Linux Enterprise Server 9 (64 bit)\n- `sles10Guest`: Suse linux Enterprise Server 10\n- `sles10_64Guest`: Suse Linux Enterprise Server 10 (64 bit)\n- `sles11Guest`: Suse linux Enterprise Server 11\n- `sles11_64Guest`: Suse Linux Enterprise Server 11 (64 bit)\n- `sles12Guest`: Suse linux Enterprise Server 12\n- `sles12_64Guest`: Suse Linux Enterprise Server 12 (64 bit)\n- `sles15_64Guest`: Suse Linux Enterprise Server 15 (64 bit)\n- `sles16_64Guest`: Suse Linux Enterprise Server 16 (64 bit)\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `nld9Guest`: Novell Linux Desktop 9\n- `oesGuest`: Open Enterprise Server\n- `sjdsGuest`: Sun Java Desktop System\n- `mandrakeGuest`: Mandrake Linux\n- `mandrivaGuest`: Mandriva Linux\n- `mandriva64Guest`: Mandriva Linux (64 bit)\n- `turboLinuxGuest`: Turbolinux\n- `turboLinux64Guest`: Turbolinux (64 bit)\n- `ubuntuGuest`: Ubuntu Linux\n- `ubuntu64Guest`: Ubuntu Linux (64 bit)\n- `debian4Guest`: Debian GNU/Linux 4\n- `debian4_64Guest`: Debian GNU/Linux 4 (64 bit)\n- `debian5Guest`: Debian GNU/Linux 5\n- `debian5_64Guest`: Debian GNU/Linux 5 (64 bit)\n- `debian6Guest`: Debian GNU/Linux 6\n- `debian6_64Guest`: Debian GNU/Linux 6 (64 bit)\n- `debian7Guest`: Debian GNU/Linux 7\n- `debian7_64Guest`: Debian GNU/Linux 7 (64 bit)\n- `debian8Guest`: Debian GNU/Linux 8\n- `debian8_64Guest`: Debian GNU/Linux 8 (64 bit)\n- `debian9Guest`: Debian GNU/Linux 9\n- `debian9_64Guest`: Debian GNU/Linux 9 (64 bit)\n- `debian10Guest`: Debian GNU/Linux 10\n- `debian10_64Guest`: Debian GNU/Linux 10 (64 bit)\n- `debian11Guest`: Debian GNU/Linux 11\n- `debian11_64Guest`: Debian GNU/Linux 11 (64 bit)\n- `debian12Guest`: Debian GNU/Linux 12\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `debian12_64Guest`: Debian GNU/Linux 12 (64 bit)\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `asianux3Guest`: Asianux Server 3\n- `asianux3_64Guest`: Asianux Server 3 (64 bit)\n- `asianux4Guest`: Asianux Server 4\n- `asianux4_64Guest`: Asianux Server 4 (64 bit)\n- `asianux5_64Guest`: Asianux Server 5 (64 bit)\n- `asianux7_64Guest`: Asianux Server 7 (64 bit)\n- `asianux8_64Guest`: Asianux Server 8 (64 bit)\n- `asianux9_64Guest`: Asianux Server 9 (64 bit)\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `opensuseGuest`: OpenSUSE Linux\n- `opensuse64Guest`: OpenSUSE Linux (64 bit)\n- `fedoraGuest`: Fedora Linux\n- `fedora64Guest`: Fedora Linux (64 bit)\n- `coreos64Guest`: CoreOS Linux (64 bit)\n- `vmwarePhoton64Guest`: VMware Photon (64 bit)\n- `other24xLinuxGuest`: Linux 2.4x Kernel\n- `other26xLinuxGuest`: Linux 2.6x Kernel\n- `otherLinuxGuest`: Linux 2.2x Kernel\n- `other3xLinuxGuest`: Linux 3.x Kernel\n- `other4xLinuxGuest`: Linux 4.x Kernel\n- `other5xLinuxGuest`: Linux 5.x Kernel\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `other6xLinuxGuest`: Linux 6.x Kernel\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `genericLinuxGuest`: Other Linux\n- `other24xLinux64Guest`: Linux 2.4.x Kernel (64 bit)\n- `other26xLinux64Guest`: Linux 2.6.x Kernel (64 bit)\n- `other3xLinux64Guest`: Linux 3.x Kernel (64 bit)\n- `other4xLinux64Guest`: Linux 4.x Kernel (64 bit)\n- `other5xLinux64Guest`: Linux 5.x Kernel (64 bit)\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `other6xLinux64Guest`: Linux 6.x Kernel (64 bit)\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `otherLinux64Guest`: Linux (64 bit)\n- `solaris6Guest`: Solaris 6\n- `solaris7Guest`: Solaris 7\n- `solaris8Guest`: Solaris 8\n- `solaris9Guest`: Solaris 9\n- `solaris10Guest`: Solaris 10 (32 bit)\n- `solaris10_64Guest`: Solaris 10 (64 bit)\n- `solaris11_64Guest`: Solaris 11 (64 bit)\n- `os2Guest`: OS/2\n- `eComStationGuest`: eComStation 1.x\n- `eComStation2Guest`: eComStation 2.0\n- `netware4Guest`: Novell NetWare 4\n- `netware5Guest`: Novell NetWare 5.1\n- `netware6Guest`: Novell NetWare 6.x\n- `openServer5Guest`: SCO OpenServer 5\n- `openServer6Guest`: SCO OpenServer 6\n- `unixWare7Guest`: SCO UnixWare 7\n- `darwinGuest`: Mac OS 10.5\n- `darwin64Guest`: Mac OS 10.5 (64 bit)\n- `darwin10Guest`: Mac OS 10.6\n- `darwin10_64Guest`: Mac OS 10.6 (64 bit)\n- `darwin11Guest`: Mac OS 10.7\n- `darwin11_64Guest`: Mac OS 10.7 (64 bit)\n- `darwin12_64Guest`: Mac OS 10.8 (64 bit)\n- `darwin13_64Guest`: Mac OS 10.9 (64 bit)\n- `darwin14_64Guest`: Mac OS 10.10 (64 bit)\n- `darwin15_64Guest`: Mac OS 10.11 (64 bit)\n- `darwin16_64Guest`: Mac OS 10.12 (64 bit)\n- `darwin17_64Guest`: macOS 10.13 (64 bit)\n- `darwin18_64Guest`: macOS 10.14 (64 bit)\n- `darwin19_64Guest`: macOS 10.15 (64 bit)\n- `darwin20_64Guest`: macOS 11 (64 bit)\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `darwin21_64Guest`: macOS 12 (64 bit)\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `darwin22_64Guest`: macOS 13 (64 bit)\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `darwin23_64Guest`: macOS 14 (64 bit)\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `vmkernelGuest`: VMware ESX 4\n- `vmkernel5Guest`: VMware ESX 5\n- `vmkernel6Guest`: VMware ESX 6\n- `vmkernel65Guest`: VMware ESXi 6.5 AND ESXi 6.7.\n- `vmkernel7Guest`: VMware ESX 7\n- `vmkernel8Guest`: VMware ESX 8\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `amazonlinux2_64Guest`: Amazon Linux 2 (64 bit)\n- `amazonlinux3_64Guest`: Amazon Linux 3 (64 bit)\n  \n  ***Since:*** vSphere API Release 7.0.1.0\n- `crxPod1Guest`: CRX Pod 1\n- `crxSys1Guest`: CRX Sys 1\n  \n  ***Since:*** vSphere API Release 8.0.3.0\n- `rockylinux_64Guest`: Rocky Linux (64-bit)\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `almalinux_64Guest`: AlmaLinux (64-bit)\n  \n  ***Since:*** vSphere API Release 8.0.0.1\n- `otherGuest`: Other Operating System\n- `otherGuest64`: Other Operating System (64 bit)\n",
        "enum": [
          "dosGuest",
          "win31Guest",
          "win95Guest",
          "win98Guest",
          "winMeGuest",
          "winNTGuest",
          "win2000ProGuest",
          "win2000ServGuest",
          "win2000AdvServGuest",
          "winXPHomeGuest",
          "winXPProGuest",
          "winXPPro64Guest",
          "winNetWebGuest",
          "winNetStandardGuest",
          "winNetEnterpriseGuest",
          "winNetDatacenterGuest",
          "winNetBusinessGuest",
          "winNetStandard64Guest",
          "winNetEnterprise64Guest",
          "winLonghornGuest",
          "winLonghorn64Guest",
          "winNetDatacenter64Guest",
          "winVistaGuest",
          "winVista64Guest",
          "windows7Guest",
          "windows7_64Guest",
          "windows7Server64Guest",
          "windows8Guest",
          "windows8_64Guest",
          "windows8Server64Guest",
          "windows9Guest",
          "windows9_64Guest",
          "windows9Server64Guest",
          "windows11_64Guest",
          "windows12_64Guest",
          "windowsHyperVGuest",
          "windows2019srv_64Guest",
          "windows2019srvNext_64Guest",
          "windows2022srvNext_64Guest",
          "freebsdGuest",
          "freebsd64Guest",
          "freebsd11Guest",
          "freebsd11_64Guest",
          "freebsd12Guest",
          "freebsd12_64Guest",
          "freebsd13Guest",
          "freebsd13_64Guest",
          "freebsd14Guest",
          "freebsd14_64Guest",
          "redhatGuest",
          "rhel2Guest",
          "rhel3Guest",
          "rhel3_64Guest",
          "rhel4Guest",
          "rhel4_64Guest",
          "rhel5Guest",
          "rhel5_64Guest",
          "rhel6Guest",
          "rhel6_64Guest",
          "rhel7Guest",
          "rhel7_64Guest",
          "rhel8_64Guest",
          "rhel9_64Guest",
          "centosGuest",
          "centos64Guest",
          "centos6Guest",
          "centos6_64Guest",
          "centos7Guest",
          "centos7_64Guest",
          "centos8_64Guest",
          "centos9_64Guest",
          "oracleLinuxGuest",
          "oracleLinux64Guest",
          "oracleLinux6Guest",
          "oracleLinux6_64Guest",
          "oracleLinux7Guest",
          "oracleLinux7_64Guest",
          "oracleLinux8_64Guest",
          "oracleLinux9_64Guest",
          "suseGuest",
          "suse64Guest",
          "slesGuest",
          "sles64Guest",
          "sles10Guest",
          "sles10_64Guest",
          "sles11Guest",
          "sles11_64Guest",
          "sles12Guest",
          "sles12_64Guest",
          "sles15_64Guest",
          "sles16_64Guest",
          "nld9Guest",
          "oesGuest",
          "sjdsGuest",
          "mandrakeGuest",
          "mandrivaGuest",
          "mandriva64Guest",
          "turboLinuxGuest",
          "turboLinux64Guest",
          "ubuntuGuest",
          "ubuntu64Guest",
          "debian4Guest",
          "debian4_64Guest",
          "debian5Guest",
          "debian5_64Guest",
          "debian6Guest",
          "debian6_64Guest",
          "debian7Guest",
          "debian7_64Guest",
          "debian8Guest",
          "debian8_64Guest",
          "debian9Guest",
          "debian9_64Guest",
          "debian10Guest",
          "debian10_64Guest",
          "debian11Guest",
          "debian11_64Guest",
          "debian12Guest",
          "debian12_64Guest",
          "asianux3Guest",
          "asianux3_64Guest",
          "asianux4Guest",
          "asianux4_64Guest",
          "asianux5_64Guest",
          "asianux7_64Guest",
          "asianux8_64Guest",
          "asianux9_64Guest",
          "opensuseGuest",
          "opensuse64Guest",
          "fedoraGuest",
          "fedora64Guest",
          "coreos64Guest",
          "vmwarePhoton64Guest",
          "other24xLinuxGuest",
          "other26xLinuxGuest",
          "otherLinuxGuest",
          "other3xLinuxGuest",
          "other4xLinuxGuest",
          "other5xLinuxGuest",
          "other6xLinuxGuest",
          "genericLinuxGuest",
          "other24xLinux64Guest",
          "other26xLinux64Guest",
          "other3xLinux64Guest",
          "other4xLinux64Guest",
          "other5xLinux64Guest",
          "other6xLinux64Guest",
          "otherLinux64Guest",
          "solaris6Guest",
          "solaris7Guest",
          "solaris8Guest",
          "solaris9Guest",
          "solaris10Guest",
          "solaris10_64Guest",
          "solaris11_64Guest",
          "os2Guest",
          "eComStationGuest",
          "eComStation2Guest",
          "netware4Guest",
          "netware5Guest",
          "netware6Guest",
          "openServer5Guest",
          "openServer6Guest",
          "unixWare7Guest",
          "darwinGuest",
          "darwin64Guest",
          "darwin10Guest",
          "darwin10_64Guest",
          "darwin11Guest",
          "darwin11_64Guest",
          "darwin12_64Guest",
          "darwin13_64Guest",
          "darwin14_64Guest",
          "darwin15_64Guest",
          "darwin16_64Guest",
          "darwin17_64Guest",
          "darwin18_64Guest",
          "darwin19_64Guest",
          "darwin20_64Guest",
          "darwin21_64Guest",
          "darwin22_64Guest",
          "darwin23_64Guest",
          "vmkernelGuest",
          "vmkernel5Guest",
          "vmkernel6Guest",
          "vmkernel65Guest",
          "vmkernel7Guest",
          "vmkernel8Guest",
          "amazonlinux2_64Guest",
          "amazonlinux3_64Guest",
          "crxPod1Guest",
          "crxSys1Guest",
          "rockylinux_64Guest",
          "almalinux_64Guest",
          "otherGuest",
          "otherGuest64"
        ]
      },
      "GuestOsDescriptorSupportLevel_enum": {
        "type": "string",
        "description": "Guest OS support level\n\nPossible values:\n- `experimental`: This operating system is not supported,\n  but may be supported in the future.\n- `legacy`: This operating system is not fully supported,\n  but may have been supported in the past.\n- `terminated`: No longer supported.\n- `supported`: Fully supported.\n- `unsupported`: This operating system is not supported.\n- `deprecated`: Support for this operating system will be terminated in the future.\n  \n  Please migrate to using a different operating system.\n- `techPreview`: This operating system may not be supported yet,\n  please check VMware compatibility guide.\n",
        "enum": [
          "experimental",
          "legacy",
          "terminated",
          "supported",
          "unsupported",
          "deprecated",
          "techPreview"
        ]
      },
      "GuestQuiesceEndGuestQuiesceError_enum": {
        "type": "string",
        "description": "End guest quiesce phase error types.\n\nPossible values:\n- `failure`: Fail the end phase of guest quiesce creation.\n",
        "enum": [
          "failure"
        ]
      },
      "GuestQuiesceEndGuestQuiesceError": {
        "type": "object",
        "description": "A boxed *GuestQuiesceEndGuestQuiesceError_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/GuestQuiesceEndGuestQuiesceError_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfGuestQuiesceEndGuestQuiesceError": {
        "type": "object",
        "description": "A boxed array of *GuestQuiesceEndGuestQuiesceError_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestQuiesceEndGuestQuiesceError_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMetadataManagerVmMetadataOp_enum": {
        "type": "string",
        "description": "This enum represents the set of legal operations\n\nPossible values:\n- `Update`: Create or update the Metadata for the specified VM\n- `Remove`: Remove the Metadata for the specified VM\n",
        "enum": [
          "Update",
          "Remove"
        ]
      },
      "VirtualMachineMetadataManagerVmMetadataOp": {
        "type": "object",
        "description": "A boxed *VirtualMachineMetadataManagerVmMetadataOp_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachineMetadataManagerVmMetadataOp_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachineMetadataManagerVmMetadataOp": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineMetadataManagerVmMetadataOp_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineMetadataManagerVmMetadataOp_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualMachineMetadataManagerVmMetadataOwnerOwner_enum": {
        "type": "string",
        "description": "This enum contains a list of valid owner values for\nthe name field\n\nPossible values:\n- `ComVmwareVsphereHA`\n",
        "enum": [
          "ComVmwareVsphereHA"
        ]
      },
      "VirtualMachineRelocateDiskMoveOptions_enum": {
        "type": "string",
        "description": "Specifies how a virtual disk is moved or copied to a\ndatastore.\n\nIn all cases after the move or copy the virtual machine's current running point\nwill be placed on the target datastore. The current running point is defined\nas the disk backing which the virtual machine is currently\nwriting to. This end state can be achieved in multiple\nways, and the supported options are described in this\nenumeration.\n\nThese options are only relevant when the backing of the\nspecified disk is a *file backing*.\n\nSince disk backings may become shared as the result of\neither a *clone operation* or\na *relocate operation*,\n*VirtualMachine.PromoteDisks_Task* has been provided as\na way to unshare such disk backings.\n\nSee also *VirtualDiskSparseVer1BackingInfo.parent*, *VirtualDiskSparseVer2BackingInfo.parent*, *VirtualDiskFlatVer1BackingInfo.parent*, *VirtualDiskFlatVer2BackingInfo.parent*, *VirtualDiskRawDiskMappingVer1BackingInfo.parent*, *VirtualMachineRelocateSpec.diskMoveType*, *VirtualMachineRelocateSpecDiskLocator.diskMoveType*.\n\nPossible values:\n- `moveAllDiskBackingsAndAllowSharing`: All of the virtual disk's backings should be moved to the new datastore.\n  \n  If a disk backing is not the child-most backing of this virtual machine,\n  and there exists a read-only disk backing with the same content ID\n  on the target datastore, then this disk backing may not be copied. Instead\n  it is acceptable to attach to the read-only disk backing at the target\n  datastore. A read-only disk backing is defined as a virtual disk\n  backing which no virtual machine is currently writing to.\n  \n  See also *VirtualDiskSparseVer1BackingInfo.contentId*, *VirtualDiskSparseVer2BackingInfo.contentId*, *VirtualDiskFlatVer1BackingInfo.contentId*, *VirtualDiskFlatVer2BackingInfo.contentId*, *VirtualDiskRawDiskMappingVer1BackingInfo.contentId*.\n- `moveAllDiskBackingsAndDisallowSharing`: All of the virtual disk's backings should be moved to the new datastore.\n  \n  It is not acceptable to attach to a disk backing with the same content ID\n  on the destination datastore. During a *clone operation* any delta disk backings will be consolidated.\n- `moveChildMostDiskBacking`: Move only the child-most disk backing.\n  \n  Any parent disk backings should\n  be left in their current locations.\n  \n  This option only differs from *moveAllDiskBackingsAndAllowSharing* and\n  *moveAllDiskBackingsAndDisallowSharing* when the virtual\n  disk has a parent backing.\n  \n  Note that in the case of a *clone operation*,\n  this means that the parent disks will now be shared. This is safe as any\n  parent disks are always read-only.\n  Note that in the case of a *VirtualMachine.RelocateVM_Task* operation,\n  only the virtual disks in the current virtual machine configuration are moved.\n- `createNewChildDiskBacking`: Create a new child disk backing on the destination datastore.\n  \n  None of the\n  virtual disk's existing files should be moved from their current locations.\n  \n  Note that in the case of a *clone operation*,\n  this means that the original virtual machine's disks are now all being shared.\n  This is only safe if the clone was taken from a snapshot point, because\n  snapshot points are always read-only. Thus for a clone this\n  option is only valid *when cloning from a snapshot*.\n  createNewChildDiskBacking is not a supported operation for\n  *VirtualMachine.RelocateVM_Task* operations unless all disks are moving.\n- `moveAllDiskBackingsAndConsolidate`: All of the virtual disk's backings should be moved to the new datastore.\n  \n  During a *clone operation* or a\n  *VirtualMachine.MigrateVM_Task*, any delta disk backings will be\n  consolidated.\n",
        "enum": [
          "moveAllDiskBackingsAndAllowSharing",
          "moveAllDiskBackingsAndDisallowSharing",
          "moveChildMostDiskBacking",
          "createNewChildDiskBacking",
          "moveAllDiskBackingsAndConsolidate"
        ]
      },
      "VirtualMachineRelocateTransformation_enum": {
        "type": "string",
        "description": "Deprecated as of vSphere API 5.0.\n\nThe set of tranformations that can be performed on the virtual disks\nas part of the copy.\n\nPossible values:\n- `flat`\n- `sparse`\n",
        "enum": [
          "flat",
          "sparse"
        ]
      },
      "VirtualMachineRelocateTransformation": {
        "type": "object",
        "description": "A boxed *VirtualMachineRelocateTransformation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualMachineRelocateTransformation_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualMachineRelocateTransformation": {
        "type": "object",
        "description": "A boxed array of *VirtualMachineRelocateTransformation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualMachineRelocateTransformation_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ScheduledHardwareUpgradeInfoHardwareUpgradePolicy_enum": {
        "type": "string",
        "description": "The policy setting used to determine when to perform scheduled\nupgrades for a virtual machine.\n\nPossible values:\n- `never`: No scheduled upgrades.\n- `onSoftPowerOff`: Run scheduled upgrades only on normal guest OS shutdown.\n- `always`: Always run scheduled upgrades.\n",
        "enum": [
          "never",
          "onSoftPowerOff",
          "always"
        ]
      },
      "ScheduledHardwareUpgradeInfoHardwareUpgradeStatus_enum": {
        "type": "string",
        "description": "Status for last attempt to run scheduled hardware upgrade.\n\nPossible values:\n- `none`: No scheduled upgrade ever happened.\n- `pending`: Upgrade is scheduled, but was not run yet.\n- `success`: Upgrade succeeded.\n- `failed`: Upgrade failed.\n  \n  For more information about the failure\n  \n  See also *ScheduledHardwareUpgradeInfo.fault*.\n",
        "enum": [
          "none",
          "pending",
          "success",
          "failed"
        ]
      },
      "VirtualMachineScsiPassthroughType_enum": {
        "type": "string",
        "description": "Possible SCSI classes.\n\nPossible values:\n- `disk`\n- `tape`\n- `printer`\n- `processor`\n- `worm`\n- `cdrom`\n- `scanner`\n- `optical`\n- `media`\n- `com`\n- `raid`\n- `unknown`\n",
        "enum": [
          "disk",
          "tape",
          "printer",
          "processor",
          "worm",
          "cdrom",
          "scanner",
          "optical",
          "media",
          "com",
          "raid",
          "unknown"
        ]
      },
      "VirtualMachineSgxInfoFlcModes_enum": {
        "type": "string",
        "description": "Flexible Launch Enclave (FLC) modes.\n\nPossible values:\n- `locked`: FLC is available in the guest.\n  \n  The \"launch Enclave MSRs\" are locked and\n  initialized with the provided public key hash.\n- `unlocked`: FLC is available in the guest.\n  \n  The \"launch enclave MSRs\" are writeable\n  and initialized with Intel's public key hash.\n",
        "enum": [
          "locked",
          "unlocked"
        ]
      },
      "VirtualMachineTargetInfoConfigurationTag_enum": {
        "type": "string",
        "description": "Describes how widely the endpoint is available in a cluster.\n\nNote that these fields are not necessarily mutual-exclusive.\n\nPossible values:\n- `compliant`: Indicates that this device is part of the cluster compliant\n  specification.\n- `clusterWide`: Indicates that this is available for all hosts in the cluster.\n",
        "enum": [
          "compliant",
          "clusterWide"
        ]
      },
      "UpgradePolicy_enum": {
        "type": "string",
        "description": "The policy setting used to determine when tools are auto-upgraded for\na virtual machine\n\nPossible values:\n- `manual`: No auto-upgrades for tools will be performed for this\n  virtual machine.\n  \n  Users must manually invoke the UpgradeTools\n  operation to update the tools.\n- `upgradeAtPowerCycle`: When the virtual machine is power-cycled, the system checks\n  for a newer version of tools when the VM comes back up.\n  \n  If it\n  is available, a tools upgrade is automatically performed on the\n  virtual machine and it is rebooted if necessary.\n",
        "enum": [
          "manual",
          "upgradeAtPowerCycle"
        ]
      },
      "VirtualMachineUsbInfoFamily_enum": {
        "type": "string",
        "description": "Device class family.\n\nPossible values:\n- `audio`: Audio capable device.\n- `hid`: Human interface device.\n- `hid_bootable`: Bootable human interface device, this is a subset of HID devices.\n- `physical`: Physical interface device.\n- `communication`: Communication device.\n- `imaging`: Still imaging device.\n- `printer`: Printer device.\n- `storage`: Mass storage device.\n- `hub`: USB hubs.\n- `smart_card`: Smart card device.\n- `security`: Content security device.\n- `video`: Video device.\n- `wireless`: Wireless controller.\n- `bluetooth`: Standard bluetooth adapter that uses HCI protocol,\n  this is a subset of wireless controllers.\n- `wusb`: Wireless device related to the Wireless USB standard,\n  this is a subset of wireless controllers,\n- `pda`: Palm PDA, and Micorsoft ActiveSync PDA.\n- `vendor_specific`: Device that has an interface using a vendor-specific protocol.\n- `other`: Other miscellaneous device.\n- `unknownFamily`: There was an error in determining this device's classes\n  accurately.\n",
        "enum": [
          "audio",
          "hid",
          "hid_bootable",
          "physical",
          "communication",
          "imaging",
          "printer",
          "storage",
          "hub",
          "smart_card",
          "security",
          "video",
          "wireless",
          "bluetooth",
          "wusb",
          "pda",
          "vendor_specific",
          "other",
          "unknownFamily"
        ]
      },
      "VirtualMachineUsbInfoSpeed_enum": {
        "type": "string",
        "description": "Device speed.\n\nPossible values:\n- `low`: This device operates at low speed (1.5Mb/s).\n- `full`: This device operates at full speed (12Mb/s).\n- `high`: This device can operate at high speed (480Mb/s)\n- `superSpeed`: This device can operate at super speed (4.8Gb/s)\n- `superSpeedPlus`: This device can operate at super speed plus (10Gb/s)\n- `superSpeed20Gbps`: This device can operate at super speed gen 2x2 (20Gb/s)\n  \n  ***Since:*** vSphere API Release 7.0.3.2\n- `unknownSpeed`: This device's speed is unknown.\n",
        "enum": [
          "low",
          "full",
          "high",
          "superSpeed",
          "superSpeedPlus",
          "superSpeed20Gbps",
          "unknownSpeed"
        ]
      },
      "VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType_enum": {
        "type": "string",
        "description": "Type of component device.\n\nPossible values:\n- `pciPassthru`\n- `nvidiaVgpu`\n- `sriovNic`\n- `dvx`\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "pciPassthru",
          "nvidiaVgpu",
          "sriovNic",
          "dvx"
        ]
      },
      "VirtualMachineVgpuProfileInfoProfileClass_enum": {
        "type": "string",
        "description": "Possible values for profile class.\n\nPossible values:\n- `compute`\n- `quadro`\n\n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "compute",
          "quadro"
        ]
      },
      "VirtualMachineVgpuProfileInfoProfileSharing_enum": {
        "type": "string",
        "description": "Possible values for profile sharing.\n\nPossible values:\n- `timeSliced`: Time-sliced\n- `mig`: Multi-instance GPU partitioning\n  \n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "timeSliced",
          "mig"
        ]
      },
      "VirtualMachineVirtualDeviceSwapDeviceSwapStatus_enum": {
        "type": "string",
        "description": "Possible values:\n- `none`: No operation active.\n- `scheduled`: Device swap will be performed on next restart.\n- `inprogress`: Device swap is in progress.\n- `failed`: Device swap failed.\n- `completed`: Device swap successfully completed.\n  \n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "none",
          "scheduled",
          "inprogress",
          "failed",
          "completed"
        ]
      },
      "VirtualHardwareMotherboardLayout_enum": {
        "type": "string",
        "description": "Motherboard layout of the VM.\n\nPossible values:\n- `i440bxHostBridge`: Single i440BX host bridge.\n- `acpiHostBridges`: Multiple ACPI host bridges.\n  \n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "i440bxHostBridge",
          "acpiHostBridges"
        ]
      },
      "VirtualMachineVirtualPMemSnapshotMode_enum": {
        "type": "string",
        "description": "The set of supported snapshot modes for VMs configured with NVDIMMs.\n\nPossible values:\n- `independent_persistent`: The data on virtual NVDIMMs are not affected by snapshot reverts.\n  \n  Writes to virtual NVDIMMs after a snapshot is taken cannot be\n  reverted to the snapshotted state.\n- `independent_eraseonrevert`: Virtual NVDIMMs are erased and recreated upon snapshot reverts.\n  \n***Since:*** vSphere API Release 7.0.3.0\n",
        "enum": [
          "independent_persistent",
          "independent_eraseonrevert"
        ]
      },
      "VirtualMachineWindowsQuiesceSpecVssBackupContext_enum": {
        "type": "string",
        "description": "The VSS Snapshot Context\nVSS\\_SNAPSHOT\\_CONTEXT values not listed below are not implemented.\n\nPossible values:\n- `ctx_auto`: The context value indicates auto selection of VSS snapshot context.\n  \n  The ctx\\_backup may make Windows VSS-aware applications quiescing during\n  backup. The ctx\\_auto makes VMTools select ctx\\_file\\_share\\_backup context\n  if ctx\\_backup is not available.\n- `ctx_backup`: Indicate VSS\\_CTX\\_BACKUP.\n- `ctx_file_share_backup`: Indicate VSS\\_CTX\\_FILE\\_SHARE\\_BACKUP.\n",
        "enum": [
          "ctx_auto",
          "ctx_backup",
          "ctx_file_share_backup"
        ]
      },
      "CheckTestType_enum": {
        "type": "string",
        "description": "The types of tests which can requested by any of the methods in either\n*VirtualMachineCompatibilityChecker* or *VirtualMachineProvisioningChecker*.\n\nPossible values:\n- `sourceTests`: Tests that examine only the configuration\n  of the virtual machine and its current host; the destination\n  resource pool and host or cluster are irrelevant.\n- `hostTests`: Tests that examine both the virtual\n  machine and the destination host or cluster; the destination\n  resource pool is irrelevant.\n  \n  This set excludes tests that fall\n  into the datastoreTests group.\n- `resourcePoolTests`: Tests that check that the destination resource\n  pool can support the virtual machine if it is powered on.\n  \n  The\n  destination host or cluster is relevant because it will affect the\n  amount of overhead memory required to run the virtual machine.\n- `datastoreTests`: Tests that check that the\n  destination host or cluster can see the datastores where the virtual\n  machine's virtual disks are going to be located.\n  \n  The destination\n  resource pool is irrelevant.\n- `networkTests`: Tests that check that the\n  destination host or cluster can see the networks that the virtual\n  machine's virtual nic devices are going to be connected.\n",
        "enum": [
          "sourceTests",
          "hostTests",
          "resourcePoolTests",
          "datastoreTests",
          "networkTests"
        ]
      },
      "CustomizationNetBIOSMode_enum": {
        "type": "string",
        "description": "NetBIOS setting for Windows.\n\nPossible values:\n- `enableNetBIOSViaDhcp`: DHCP server decides whether or not to use NetBIOS.\n- `enableNetBIOS`: Always use NetBIOS.\n- `disableNetBIOS`: Never use NetBIOS.\n",
        "enum": [
          "enableNetBIOSViaDhcp",
          "enableNetBIOS",
          "disableNetBIOS"
        ]
      },
      "CustomizationNetBIOSMode": {
        "type": "object",
        "description": "A boxed *CustomizationNetBIOSMode_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/CustomizationNetBIOSMode_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfCustomizationNetBIOSMode": {
        "type": "object",
        "description": "A boxed array of *CustomizationNetBIOSMode_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationNetBIOSMode_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationLicenseDataMode_enum": {
        "type": "string",
        "description": "Enumeration of AutoMode values.\n\nPossible values:\n- `perServer`: Indicates that client access licenses have been purchased for the server,\n  allowing a certain number of concurrent connections to the VirtualCenter\n  server.\n- `perSeat`: Indicates that a client access license has been purchased for each computer\n  that accesses the VirtualCenter server.\n",
        "enum": [
          "perServer",
          "perSeat"
        ]
      },
      "CustomizationLicenseDataMode": {
        "type": "object",
        "description": "A boxed *CustomizationLicenseDataMode_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/CustomizationLicenseDataMode_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfCustomizationLicenseDataMode": {
        "type": "object",
        "description": "A boxed array of *CustomizationLicenseDataMode_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationLicenseDataMode_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "CustomizationSysprepRebootOption_enum": {
        "type": "string",
        "description": "A enum constant specifying what should be done to the guest vm after running\nsysprep.\n\nPossible values:\n- `reboot`: Reboot the machine after running sysprep.\n  \n  This will cause values\n  specified in the sysprep.xml to be applied immediately.\n- `noreboot`: Take no action.\n  \n  Leave the guest os running after running sysprep. This\n  option can be used to look at values for debugging purposes after\n  running sysprep.\n- `shutdown`: Shutdown the machine after running sysprep.\n  \n  This puts the vm in a\n  sealed state.\n",
        "enum": [
          "reboot",
          "noreboot",
          "shutdown"
        ]
      },
      "CustomizationSysprepRebootOption": {
        "type": "object",
        "description": "A boxed *CustomizationSysprepRebootOption_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/CustomizationSysprepRebootOption_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfCustomizationSysprepRebootOption": {
        "type": "object",
        "description": "A boxed array of *CustomizationSysprepRebootOption_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationSysprepRebootOption_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceConnectInfoMigrateConnectOp_enum": {
        "type": "string",
        "description": "Contains information about connectable virtual devices when\nthe virtual machine restores from a migration.\n\nPossible values:\n- `connect`: Attempt to connect the virtual device when the virtual machine\n  restores from a migration.\n  \n  This property has no effect if it\n  is set on a device that is already connected.\n- `disconnect`: Attempt to disconnect the virtual device when the virtual machine\n  restores from a migration.\n  \n  This property has no effect if it\n  is set on a device that is already disconnected.\n- `unset`: Unset the property, which resets the device to its default state.\n  \n  Under most circumstances, a device will return to the same\n  connection state before the migration was initiated.\n",
        "enum": [
          "connect",
          "disconnect",
          "unset"
        ]
      },
      "VirtualDeviceConnectInfoStatus_enum": {
        "type": "string",
        "description": "Specifies the connectable virtual device status.\n\nPossible values:\n- `ok`: The device is working correctly.\n- `recoverableError`: The device has reported a recoverable error.\n  \n  For example,\n  attempting to connect to floppy device that is being used by\n  another virtual machine or some other program would result in\n  this status.\n- `unrecoverableError`: The device cannot be used.\n  \n  For example, attempting to connect to\n  a floppy device that does not exist would result in this status.\n- `untried`: The device status is unknown, or it has not been requested to\n  connect when the VM is powered on.\n",
        "enum": [
          "ok",
          "recoverableError",
          "unrecoverableError",
          "untried"
        ]
      },
      "VirtualDeviceFileExtension_enum": {
        "type": "string",
        "description": "All known file extensions.\n\nValid ones are:\n\nPossible values:\n- `iso`: CD ISO Image backings\n- `flp`: Floppy File Backings\n- `vmdk`: virtual disks\n- `dsk`: legacy virtual disks\n- `rdm`: pre 3.0 virtual disks using Raw Disk Maps\n",
        "enum": [
          "iso",
          "flp",
          "vmdk",
          "dsk",
          "rdm"
        ]
      },
      "VirtualDeviceURIBackingOptionDirection_enum": {
        "type": "string",
        "description": "The <code>VirtualDeviceURIBackingOptionDirection</code> enum type\nprovides values for the direction of a network connection.\n\nPossible values:\n- `server`: Indicates that the virtual machine can listen for a connection\n  on the specified *VirtualDeviceURIBackingInfo.serviceURI*.\n- `client`: Indicates that the virtual machine can initiate a connection\n  with a system on the network using the specified\n  *VirtualDeviceURIBackingInfo.serviceURI*.\n",
        "enum": [
          "server",
          "client"
        ]
      },
      "VirtualDeviceConfigSpecChangeMode_enum": {
        "type": "string",
        "description": "Describes the change mode of the device.\n\nApplies only to virtual disks during VirtualDeviceSpec.Operation \"add\"\nthat have no VirtualDeviceSpec.FileOperation set.\n\nPossible values:\n- `fail`\n- `skip`\n\n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "fail",
          "skip"
        ]
      },
      "VirtualDeviceConfigSpecFileOperation_enum": {
        "type": "string",
        "description": "The type of operation being performed on the backing of a virtual device.\n\nValid values are:\n\nPossible values:\n- `create`: Specifies the creation of the device backing; for example,\n  the creation of a virtual disk or floppy image file.\n- `destroy`: Specifies the destruction of a device backing.\n- `replace`: Specifies the deletion of the existing backing for a virtual device\n  and the creation of a new backing.\n",
        "enum": [
          "create",
          "destroy",
          "replace"
        ]
      },
      "VirtualDeviceConfigSpecFileOperation": {
        "type": "object",
        "description": "A boxed *VirtualDeviceConfigSpecFileOperation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualDeviceConfigSpecFileOperation_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualDeviceConfigSpecFileOperation": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceConfigSpecFileOperation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceConfigSpecFileOperation_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDeviceConfigSpecOperation_enum": {
        "type": "string",
        "description": "The type of operation being performed on the specified virtual device.\n\nValid values are:\n\nPossible values:\n- `add`: Specifies the addition of a virtual device to the configuration.\n- `remove`: Specifies the removal of a virtual device.\n- `edit`: Specifies changes to the virtual device specification.\n",
        "enum": [
          "add",
          "remove",
          "edit"
        ]
      },
      "VirtualDeviceConfigSpecOperation": {
        "type": "object",
        "description": "A boxed *VirtualDeviceConfigSpecOperation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualDeviceConfigSpecOperation_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualDeviceConfigSpecOperation": {
        "type": "object",
        "description": "A boxed array of *VirtualDeviceConfigSpecOperation_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceConfigSpecOperation_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualDiskDeltaDiskFormat_enum": {
        "type": "string",
        "description": "The delta disk format constants\n\nPossible values:\n- `redoLogFormat`: redo-log based format\n- `nativeFormat`: native snapshot format\n- `seSparseFormat`: Flex-SE redo-log based format\n",
        "enum": [
          "redoLogFormat",
          "nativeFormat",
          "seSparseFormat"
        ]
      },
      "VirtualDiskDeltaDiskFormatVariant_enum": {
        "type": "string",
        "description": "The delta disk format variant constants\n\nPossible values:\n- `vmfsSparseVariant`: vmfsSparse based redo-log format\n- `vsanSparseVariant`: vsanSparse based redo-log format\n",
        "enum": [
          "vmfsSparseVariant",
          "vsanSparseVariant"
        ]
      },
      "VirtualDiskSharing_enum": {
        "type": "string",
        "description": "The sharing mode of the virtual disk.\n\nSetting the value to sharingMultiWriter means that multiple virtual\nmachines can write to the virtual disk. This sharing mode is allowed\nonly for eagerly zeroed thick virtual disks.\n\nPossible values:\n- `sharingNone`: The virtual disk is not shared.\n- `sharingMultiWriter`: The virtual disk is shared between multiple virtual machines.\n",
        "enum": [
          "sharingNone",
          "sharingMultiWriter"
        ]
      },
      "VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum": {
        "type": "string",
        "description": "Pre-defined constants for cache consistency types\n\nPossible values:\n- `strong`: With strong consistency, it ensures that\n  a crash will leave the cache data consistent.\n- `weak`: Cache data consistency is not guaranteed after a crash.\n",
        "enum": [
          "strong",
          "weak"
        ]
      },
      "VirtualDiskVFlashCacheConfigInfoCacheMode_enum": {
        "type": "string",
        "description": "Pre-defined constants for cache modes.\n\nPossible values:\n- `write_thru`: In write-through cache mode, writes to the cache cause writes\n  to the underlying storage.\n  \n  The cache acts as a facade to the underlying\n  storage.\n- `write_back`: In write-back mode, writes to the cache do not go to the underlying storage\n  right away.\n  \n  Cache holds data temporarily till it can be permanently saved or\n  otherwise modified.\n",
        "enum": [
          "write_thru",
          "write_back"
        ]
      },
      "VirtualDiskCompatibilityMode_enum": {
        "type": "string",
        "description": "All known compatibility modes for raw disk mappings.\n\nValid compatibility\nmodes are:\n- virtualMode\n- physicalMode\n  \nPossible values:\n- `virtualMode`: A disk device backed by a virtual compatibility mode raw disk mapping can\n  use disk modes.\n  \n  See also *VirtualDiskMode_enum*.\n- `physicalMode`: A disk device backed by a physical compatibility mode raw disk mapping cannot\n  use disk modes, and commands are passed straight through to the LUN\n  indicated by the raw disk mapping.\n",
        "enum": [
          "virtualMode",
          "physicalMode"
        ]
      },
      "VirtualDiskMode_enum": {
        "type": "string",
        "description": "The list of known disk modes.\n\nThe list of supported disk modes varies by the backing type. The \"persistent\"\nmode is supported by every backing type.\n\nPossible values:\n- `persistent`: Changes are immediately and permanently written to the virtual disk.\n- `nonpersistent`: Changes to virtual disk are made to a redo log and discarded at power off.\n- `undoable`: Changes are made to a redo log, but you are given the option to commit or undo.\n- `independent_persistent`: Same as persistent, but not affected by snapshots.\n- `independent_nonpersistent`: Same as nonpersistent, but not affected by snapshots.\n- `append`: Changes are appended to the redo log; you revoke changes by removing the undo log.\n",
        "enum": [
          "persistent",
          "nonpersistent",
          "undoable",
          "independent_persistent",
          "independent_nonpersistent",
          "append"
        ]
      },
      "VirtualEthernetCardLegacyNetworkDeviceName_enum": {
        "type": "string",
        "description": "Possible device names for legacy network backing option are listed below.\n\nNote: This is not an exhaustive list. It is possible to specify\na specific device as well.\nFor example, on ESX hosts, the device name could be specified as \"vmnic\\[0-9\\]\"\nor vmnet\\_\\[0-9\\].\nFor VMware Server Windows hosts, the device name could be specified as \"vmnet\\[0-9\\]\"\nand for VMware Server Linux hosts, the device name could be specified as \"/dev/vmnet\\[0-9\\]\"\ndepending on what devices are available on that particular host.\n\nPossible values:\n- `bridged`\n- `nat`\n- `hostonly`\n",
        "enum": [
          "bridged",
          "nat",
          "hostonly"
        ]
      },
      "VirtualEthernetCardMacType_enum": {
        "type": "string",
        "description": "The enumeration of all known valid MAC address types.\n\nPossible values:\n- `manual`: A statistically assigned MAC address.\n- `generated`: An automatically generated MAC address.\n- `assigned`: A MAC address assigned by VirtualCenter.\n",
        "enum": [
          "manual",
          "generated",
          "assigned"
        ]
      },
      "VirtualNVMEControllerSharing_enum": {
        "type": "string",
        "description": "Possible values:\n- `noSharing`\n- `physicalSharing`\n\n***Since:*** vSphere API Release 8.0.2.0\n",
        "enum": [
          "noSharing",
          "physicalSharing"
        ]
      },
      "VirtualPointingDeviceHostChoice_enum": {
        "type": "string",
        "description": "The valid choices for host pointing devices are:\n\nPossible values:\n- `autodetect`: Automatically detects the host mouse type.\n- `intellimouseExplorer`: The Microsoft IntelliMouse Explorer.\n- `intellimousePs2`: The Microsoft Intellimouse with a PS2 connection.\n- `logitechMouseman`: The Logitech MouseMan.\n- `microsoft_serial`: The Microsoft Serial Mouse.\n- `mouseSystems`: The Mouse Systems Mouse.\n- `mousemanSerial`: The Logitech MouseMan Serial Bus Mouse.\n- `ps2`: A generic mouse with a PS2 connection.\n",
        "enum": [
          "autodetect",
          "intellimouseExplorer",
          "intellimousePs2",
          "logitechMouseman",
          "microsoft_serial",
          "mouseSystems",
          "mousemanSerial",
          "ps2"
        ]
      },
      "VirtualSCSISharing_enum": {
        "type": "string",
        "description": "Sharing describes three possible ways of sharing the SCSI bus:\nOne of these values is assigned to the sharedBus object to determine\nif or how the SCSI bus is shared.\n\nPossible values:\n- `noSharing`: The virtual SCSI bus is not shared.\n- `virtualSharing`: The virtual SCSI bus is shared between two or more virtual machines.\n  \n  In this case, no physical machine is involved.\n- `physicalSharing`: The virtual SCSI bus is shared between two or more virtual machines\n  residing on different physical hosts.\n",
        "enum": [
          "noSharing",
          "virtualSharing",
          "physicalSharing"
        ]
      },
      "VirtualSCSISharing": {
        "type": "object",
        "description": "A boxed *VirtualSCSISharing_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VirtualSCSISharing_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVirtualSCSISharing": {
        "type": "object",
        "description": "A boxed array of *VirtualSCSISharing_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualSCSISharing_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VirtualSerialPortEndPoint_enum": {
        "type": "string",
        "description": "The <code>*VirtualSerialPortEndPoint_enum* enum defines\nendpoint values for virtual serial port pipe backing.\n\nWhen you use serial port pipe backing to connect a virtual machine\nto another process, you must define the endpoints.\nSee the <code>*VirtualSerialPortPipeBackingInfo.endpoint*</code>\nproperty for the virtual serial port pipe backing information data object.\n\nThe possible endpoint values are:\n- client\n- server\n  \nFor the supported choices, see the\n<code>*VirtualSerialPortPipeBackingOption.endpoint*</code>\nproperty for the virtual serial port pipe backing option data object.\n\nPossible values:\n- `client`\n- `server`\n",
        "enum": [
          "client",
          "server"
        ]
      },
      "VirtualMachineVMCIDeviceAction_enum": {
        "type": "string",
        "description": "Set of possible values for action field in FilterSpec.\n\nDetermines whether traffic is allowed or denied.\n\nPossible values:\n- `allow`: Allow communication.\n- `deny`: Deny communication.\n",
        "enum": [
          "allow",
          "deny"
        ]
      },
      "VirtualMachineVMCIDeviceDirection_enum": {
        "type": "string",
        "description": "Set of possible values for direction field in FilterSpec.\n\nPossible values:\n- `guest`: from host to guest\n- `host`: from guest to host\n- `anyDirection`: all of the above\n",
        "enum": [
          "guest",
          "host",
          "anyDirection"
        ]
      },
      "VirtualMachineVMCIDeviceProtocol_enum": {
        "type": "string",
        "description": "Set of possible values for protocol field in FilterSpec.\n\nPossible values:\n- `hypervisor`: VMCI hypervisor datagram send op.\n  \n  Direction code is not applicable to this one.\n- `doorbell`: VMCI doorbell notification\n- `queuepair`: VMCI queue pair alloc operation.\n  \n  Direction code not applicable to this one.\n- `datagram`: VMCI and VMCI Socket datagram send op.\n  \n  Since VMCI Socket datagrams map ports directly to resources,\n  there is no need to distinguish between the two.\n- `stream`: VMCI Stream Socket connect op.\n- `anyProtocol`: All of the above.\n",
        "enum": [
          "hypervisor",
          "doorbell",
          "queuepair",
          "datagram",
          "stream",
          "anyProtocol"
        ]
      },
      "VirtualMachineVideoCardUse3dRenderer_enum": {
        "type": "string",
        "description": "Set of possible values for *VirtualMachineVideoCard.use3dRenderer*.\n\nPossible values:\n- `automatic`: Determine automatically whether to render 3D with software or hardware.\n- `software`: Render 3D with software.\n- `hardware`: Render 3D with graphics hardware.\n",
        "enum": [
          "automatic",
          "software",
          "hardware"
        ]
      },
      "VirtualVmxnet3VrdmaOptionDeviceProtocols_enum": {
        "type": "string",
        "description": "The enumeration of all known valid VRDMA device protocols.\n\nPossible values:\n- `rocev1`: A RoCEv1 device.\n- `rocev2`: A RoCEv2 device.\n",
        "enum": [
          "rocev1",
          "rocev2"
        ]
      },
      "GuestFileType_enum": {
        "type": "string",
        "description": "Possible values:\n- `file`: Regular files, and on Posix filesystems, unix domain sockets\n  and devices.\n- `directory`: directory\n- `symlink`: symbolic link\n",
        "enum": [
          "file",
          "directory",
          "symlink"
        ]
      },
      "GuestRegKeyWowSpec_enum": {
        "type": "string",
        "description": "This describes the bitness (32-bit or 64-bit) of a registry view in a\nWindows OS that supports WOW64.\n\nWOW64 (short for Windows 32-bit on Windows 64-bit) is the x86 emulator\nthat allows 32-bit Windows-based applications to run seamlessly on\n64-bit Windows. Please refer to these MSDN sites for more details:\nhttp://msdn.microsoft.com/en-us/library/aa384249(v=vs.85).aspx and\nhttp://msdn.microsoft.com/en-us/library/aa384253(v=vs.85).aspx\n\nPossible values:\n- `WOWNative`: Access the key from the native view of the\n  Registry (32-bit on 32-bit versions of Windows,\n  64-bit on 64-bit versions of Windows).\n- `WOW32`: Access the key from the 32-bit view of the Registry.\n- `WOW64`: Access the key from the 64-bit view of the Registry.\n",
        "enum": [
          "WOWNative",
          "WOW32",
          "WOW64"
        ]
      },
      "VsanHostDecommissionModeObjectAction_enum": {
        "type": "string",
        "description": "The action to take with regard to storage objects upon decommissioning\na host from use with the VSAN service.\n\nPossible values:\n- `noAction`: No special action should take place regarding VSAN data.\n- `ensureObjectAccessibility`: VSAN data reconfiguration should be performed to ensure storage\n  object accessibility.\n- `evacuateAllData`: VSAN data evacuation should be performed such that all storage\n  object data is removed from the host.\n",
        "enum": [
          "noAction",
          "ensureObjectAccessibility",
          "evacuateAllData"
        ]
      },
      "VsanHostDiskResultState_enum": {
        "type": "string",
        "description": "Values used for indicating a disk's status for use by the VSAN service.\n\nSee also *VsanHostDiskResult.state*.\n\nPossible values:\n- `inUse`: Disk is currently in use by the VSAN service.\n  \n  A disk may be considered in use by the VSAN service regardless of\n  whether the VSAN service is enabled. As long as a disk is in use\n  by VSAN, it is reserved exclusively for VSAN and may not be used\n  for other purposes.\n  \n  See also *VsanHostDiskResult.error*.\n- `eligible`: Disk is considered eligible for use by the VSAN service,\n  but is not currently in use.\n- `ineligible`: Disk is considered ineligible for use by the VSAN service,\n  and is not currently in use.\n  \n  See also *VsanHostDiskResult.error*.\n",
        "enum": [
          "inUse",
          "eligible",
          "ineligible"
        ]
      },
      "VsanHostDiskResultState": {
        "type": "object",
        "description": "A boxed *VsanHostDiskResultState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VsanHostDiskResultState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVsanHostDiskResultState": {
        "type": "object",
        "description": "A boxed array of *VsanHostDiskResultState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostDiskResultState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostHealthState_enum": {
        "type": "string",
        "description": "A *VsanHostHealthState_enum* represents the state of a participating\nhost in the VSAN service.\n\nSee also *VsanHostClusterStatus*.\n\nPossible values:\n- `unknown`: Node health is unknown.\n- `healthy`: Node is considered healthy.\n- `unhealthy`: Node is considered unhealthy.\n",
        "enum": [
          "unknown",
          "healthy",
          "unhealthy"
        ]
      },
      "VsanHostHealthState": {
        "type": "object",
        "description": "A boxed *VsanHostHealthState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VsanHostHealthState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVsanHostHealthState": {
        "type": "object",
        "description": "A boxed array of *VsanHostHealthState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostHealthState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanHostNodeState_enum": {
        "type": "string",
        "description": "A *VsanHostNodeState_enum* represents the state of participation of a host\nin the VSAN service.\n\nSee also *VsanHostClusterStatus*, *VsanHostClusterStatusState*.\n\nPossible values:\n- `error`: The node is enabled for the VSAN service but has some configuration\n  error which prevents participation.\n- `disabled`: The node is disabled for the VSAN service.\n- `agent`: The node is enabled for the VSAN service and is serving as an agent.\n- `master`: The node is enabled for the VSAN service and is serving as the master.\n- `backup`: The node is enabled for the VSAN service and is serving as the backup.\n- `starting`: The node is starting the VSAN service; this state is considered\n  transitory.\n- `stopping`: The node is stopping the VSAN service; this state is considered\n  transitory.\n- `enteringMaintenanceMode`: The node is entering maintenance mode; this state is considered\n  transitory.\n  \n  See also *HostSystem.EnterMaintenanceMode_Task*.\n- `exitingMaintenanceMode`: The node is exiting maintenance mode; this state is considered\n  transitory.\n  \n  See also *HostSystem.ExitMaintenanceMode_Task*.\n- `decommissioning`: The node is being decommissioned from the VSAN service; this state is\n  considered transitory.\n",
        "enum": [
          "error",
          "disabled",
          "agent",
          "master",
          "backup",
          "starting",
          "stopping",
          "enteringMaintenanceMode",
          "exitingMaintenanceMode",
          "decommissioning"
        ]
      },
      "VsanHostNodeState": {
        "type": "object",
        "description": "A boxed *VsanHostNodeState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VsanHostNodeState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVsanHostNodeState": {
        "type": "object",
        "description": "A boxed array of *VsanHostNodeState_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VsanHostNodeState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VsanDiskIssueType_enum": {
        "type": "string",
        "description": "The list of disk issues.\n\nPossible values:\n- `nonExist`\n- `stampMismatch`\n- `unknown`\n",
        "enum": [
          "nonExist",
          "stampMismatch",
          "unknown"
        ]
      },
      "BaseConfigInfoDiskFileBackingInfoProvisioningType_enum": {
        "type": "string",
        "description": "Provisioning type constants.\n\nPossible values:\n- `thin`: Space required for thin-provisioned virtual disk is allocated\n  and zeroed on demand as the space is used.\n- `eagerZeroedThick`: An eager zeroed thick virtual disk has all space allocated and\n  wiped clean of any previous contents on the physical media at\n  creation time.\n  \n  Such virtual disk may take longer time\n  during creation compared to other provisioning formats.\n- `lazyZeroedThick`: A thick virtual disk has all space allocated at creation time.\n  \n  This space may contain stale data on the physical media.\n",
        "enum": [
          "thin",
          "eagerZeroedThick",
          "lazyZeroedThick"
        ]
      },
      "vslmDiskInfoFlag_enum": {
        "type": "string",
        "description": "Flags representing the different information of a disk.\n\nPossible values:\n- `id`: ID of virtual storage object.\n- `descriptorVersion`: The disk descriptor version of the virtual storage object.\n  \n  ***Since:*** vSphere API Release 8.0.1.0\n- `backingObjectId`: ID of object backing the virtual storage object.\n- `path`: File path of virtual storage object.\n- `parentPath`: Parent file path of virtual storage object file.\n- `name`: Name of virtual storage object.\n- `deviceName`: Canonical name of the LUN used for virtual storage object.\n- `capacity`: Logical size of virtual storage object.\n- `allocated`: Size allocated by the file system for the virtual storage object\n  file/chain/link/extent only.\n- `type`: Provisioning type of virtual storage object.\n- `consumers`: IDs of the consumers of virtual storage object.\n- `tentativeState`: If virtual storage object is in tentative state.\n- `createTime`: Date and time of creation of virtual storage object.\n- `ioFilter`: IOFilter associated with virtual storage object.\n- `controlFlags`: Control flags of virtual storage object.\n- `keepAfterVmDelete`: Deletion behaviour of virtual storage object after VM deletion.\n- `relocationDisabled`: If relocation is disabled for virtual storage object.\n- `keyId`: Key ID used to encrypt the virtual storage object.\n- `keyProviderId`: Crypto key provider ID used to encrypt the virtual storage object.\n- `nativeSnapshotSupported`: If virtual storage object supports native snapshot.\n- `cbtEnabled`: If virtual storage object has changed block tracking enabled.\n  \n***Since:*** vSphere API Release 8.0.0.1\n",
        "enum": [
          "id",
          "descriptorVersion",
          "backingObjectId",
          "path",
          "parentPath",
          "name",
          "deviceName",
          "capacity",
          "allocated",
          "type",
          "consumers",
          "tentativeState",
          "createTime",
          "ioFilter",
          "controlFlags",
          "keepAfterVmDelete",
          "relocationDisabled",
          "keyId",
          "keyProviderId",
          "nativeSnapshotSupported",
          "cbtEnabled"
        ]
      },
      "VStorageObjectConsumptionType_enum": {
        "type": "string",
        "description": "Consumption type constants.\n\nConsumption type describes how the virtual storage object is connected and\nconsumed for data by the clients.\n\nPossible values:\n- `disk`: Disk type.\n",
        "enum": [
          "disk"
        ]
      },
      "vslmVStorageObjectControlFlag_enum": {
        "type": "string",
        "description": "Possible values:\n- `keepAfterDeleteVm`: Choice of the deletion behavior of this virtual storage object.\n  \n  If not set, the default value is false.\n- `disableRelocation`: Is virtual storage object relocation disabled.\n  \n  If not set, the default value is false.\n- `enableChangedBlockTracking`: Is Virtual storage object has changed blocked tracking enabled.\n  \n  If not set, default value is false.\n",
        "enum": [
          "keepAfterDeleteVm",
          "disableRelocation",
          "enableChangedBlockTracking"
        ]
      },
      "PropertyChangeOp_enum": {
        "type": "string",
        "description": "Enumeration of possible changes to a property.\n\nPossible values:\n- `add`\n- `remove`\n- `assign`\n- `indirectRemove`\n",
        "enum": [
          "add",
          "remove",
          "assign",
          "indirectRemove"
        ]
      },
      "PropertyChangeOp": {
        "type": "object",
        "description": "A boxed *PropertyChangeOp_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/PropertyChangeOp_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfPropertyChangeOp": {
        "type": "object",
        "description": "A boxed array of *PropertyChangeOp_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyChangeOp_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ObjectUpdateKind_enum": {
        "type": "string",
        "description": "Enumeration of different kinds of updates.\n\nPossible values:\n- `modify`: A property of the managed object changed its value.\n- `enter`: A managed object became visible to a filter for the first time.\n  \n  For instance, this can happen if a virtual machine is added to a\n  folder.\n- `leave`: A managed object left the set of objects visible to a filter.\n  \n  For\n  instance, this can happen when a virtual machine is destroyed.\n",
        "enum": [
          "modify",
          "enter",
          "leave"
        ]
      },
      "ObjectUpdateKind": {
        "type": "object",
        "description": "A boxed *ObjectUpdateKind_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/ObjectUpdateKind_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfObjectUpdateKind": {
        "type": "object",
        "description": "A boxed array of *ObjectUpdateKind_enum*. To be used in *Any* placeholders.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectUpdateKind_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmTaskInfoState_enum": {
        "type": "string",
        "description": "List of possible states of a task.\n\nPossible values:\n- `queued`: When there are too many tasks for threads to handle.\n- `running`: When the busy thread is freed from its current task by\n  finishing the task, it picks a queued task to run.\n  \n  Then the queued tasks are marked as running.\n- `success`: When a running task has completed.\n- `error`: When a running task has encountered an error.\n",
        "enum": [
          "queued",
          "running",
          "success",
          "error"
        ]
      },
      "VslmTaskInfoState": {
        "type": "object",
        "description": "A boxed *VslmTaskInfoState_enum*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VslmTaskInfoState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVslmTaskInfoState": {
        "type": "object",
        "description": "A boxed array of *VslmTaskInfoState_enum*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmTaskInfoState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmEventType_enum": {
        "type": "string",
        "description": "Possible values:\n- `preFcdMigrateEvent`: Event type used to notify that FCD is going to be relocated.\n- `postFcdMigrateEvent`: Event type used to notify FCD has been relocated.\n",
        "enum": [
          "preFcdMigrateEvent",
          "postFcdMigrateEvent"
        ]
      },
      "VslmEventVslmEventInfoState_enum": {
        "type": "string",
        "description": "The possible states of the vlsm event processing.\n\nPossible values:\n- `success`: When the event has been successfully processed.\n- `error`: When there is error while processing the event.\n",
        "enum": [
          "success",
          "error"
        ]
      },
      "VslmEventVslmEventInfoState": {
        "type": "object",
        "description": "A boxed *VslmEventVslmEventInfoState_enum*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "$ref": "#/components/schemas/VslmEventVslmEventInfoState_enum"
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "ArrayOfVslmEventVslmEventInfoState": {
        "type": "object",
        "description": "A boxed array of *VslmEventVslmEventInfoState_enum*. To be used in *Any* placeholders.\n\nThis structure may be used only with operations rendered under `/vslm`.\n",
        "properties": {
          "_value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VslmEventVslmEventInfoState_enum"
            }
          }
        },
        "required": [
          "_value"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Any"
          }
        ]
      },
      "VslmVsoVStorageObjectQuerySpecQueryFieldEnum_enum": {
        "type": "string",
        "description": "The *VslmVsoVStorageObjectQuerySpecQueryFieldEnum_enum* enumerated\ntype defines the searchable fields.\n\nPossible values:\n- `id`: Indicates *BaseConfigInfo.id* as the searchable field.\n- `name`: Indicates *BaseConfigInfo.name* as the searchable\n  field.\n- `capacity`: Indicates *VStorageObjectConfigInfo.capacityInMB* as the\n  searchable field.\n- `createTime`: Indicates *BaseConfigInfo.createTime* as the searchable\n  field.\n- `backingObjectId`: Indicates\n  *BaseConfigInfoFileBackingInfo.backingObjectId* as the\n  searchable field.\n- `datastoreMoId`: Indicates *BaseConfigInfoBackingInfo.datastore* as the\n  searchable field.\n- `metadataKey`: Indicates it as the searchable field.\n- `metadataValue`: Indicates it as the searchable field.\n",
        "enum": [
          "id",
          "name",
          "capacity",
          "createTime",
          "backingObjectId",
          "datastoreMoId",
          "metadataKey",
          "metadataValue"
        ]
      },
      "VslmVsoVStorageObjectQuerySpecQueryOperatorEnum_enum": {
        "type": "string",
        "description": "The *VslmVsoVStorageObjectQuerySpecQueryOperatorEnum_enum* enumerated\ntype defines the operators to use for constructing the query criteria.\n\nPossible values:\n- `equals`\n- `notEquals`\n- `lessThan`\n- `greaterThan`\n- `lessThanOrEqual`\n- `greaterThanOrEqual`\n- `contains`\n- `startsWith`\n- `endsWith`\n",
        "enum": [
          "equals",
          "notEquals",
          "lessThan",
          "greaterThan",
          "lessThanOrEqual",
          "greaterThanOrEqual",
          "contains",
          "startsWith",
          "endsWith"
        ]
      }
    },
    "parameters": {
      "moId": {
        "name": "moId",
        "in": "path",
        "required": true,
        "description": "A unique identifier (within this vCenter Server instance) for a specific managed object such as `group-d1` or `vm-015` or `ServiceInstance`.",
        "schema": {
          "type": "string"
        }
      }
    }
  }
}